diff --git a/src/main/java/com/sztzjy/marketing/controller/tch/SummaryOfGradesController.java b/src/main/java/com/sztzjy/marketing/controller/tch/SummaryOfGradesController.java index 5725c5c..e7593e2 100644 --- a/src/main/java/com/sztzjy/marketing/controller/tch/SummaryOfGradesController.java +++ b/src/main/java/com/sztzjy/marketing/controller/tch/SummaryOfGradesController.java @@ -3,12 +3,14 @@ package com.sztzjy.marketing.controller.tch; import cn.hutool.core.util.IdUtil; import com.github.pagehelper.PageInfo; import com.sztzjy.marketing.annotation.AnonymousAccess; -import com.sztzjy.marketing.entity.TchModuleWeith; -import com.sztzjy.marketing.entity.TchModuleWeithExample; +import com.sztzjy.marketing.config.security.TokenProvider; +import com.sztzjy.marketing.entity.*; import com.sztzjy.marketing.entity.dto.StuUserDto; import com.sztzjy.marketing.entity.tchdto.TchGeneralViewInfoDTO; import com.sztzjy.marketing.entity.tchdto.TchGeneralViewWeightDTO; import com.sztzjy.marketing.entity.tchdto.tchScoreViewShowDTO; +import com.sztzjy.marketing.mapper.StuPracticalTrainingReportMapper; +import com.sztzjy.marketing.mapper.StuScoreDetailsMapper; import com.sztzjy.marketing.mapper.TchModuleWeithMapper; import com.sztzjy.marketing.service.TchUserService; import com.sztzjy.marketing.util.ResultEntity; @@ -38,6 +40,11 @@ public class SummaryOfGradesController { private TchUserService userService; @Autowired private TchModuleWeithMapper stuModuleWeithMapper; + @Autowired + private StuPracticalTrainingReportMapper stuPracticalTrainingReportMapper; + + @Autowired + private StuScoreDetailsMapper stuScoreDetailsMapper; @PostMapping("/getGeneralViewList") @ApiOperation("成绩总览展示 (条件查询)") @@ -51,6 +58,7 @@ public class SummaryOfGradesController { + @ApiOperation("成绩总览导出") @GetMapping("/generalViewExport") //@AnonymousAccess @@ -126,13 +134,25 @@ public class SummaryOfGradesController { return new ResultEntity<>(userService.getCurrencyScoreReport(schoolId, index, size, module, name, studentId, className,keyWord)); } + + + @AnonymousAccess @GetMapping("/getClassNameBySchoolId") @ApiOperation("班级下拉框") public ResultEntity> getClassNameBySchoolId(@RequestParam String schoolId) { return new ResultEntity>(userService.getClassNameBySchoolId(schoolId)); } - + /* + * @Date 2023/10/11 + * *教师端评阅,下载报告 + */ + @GetMapping("/download") + @ApiOperation("下载报告") + public void download(@RequestParam Integer id, String TOKEN, HttpServletResponse response) { + TokenProvider.getJWTUser(TOKEN); + userService.download(id, response); + } public TchModuleWeith selectBySchoolId(String schoolId) { @@ -153,5 +173,29 @@ public class SummaryOfGradesController { } + /* + * @author xcj + * @Date 2023/10/11 + * + * 老师输入评语和打分 前端传ID 评语 评分 + */ + @PostMapping("/ratingAndComment") + @ApiOperation("老师输入评语和打分") + public void ratingAndComment(@RequestBody StuPracticalTrainingReport practicalTrainingReport) { + stuPracticalTrainingReportMapper.updateByPrimaryKeySelective(practicalTrainingReport); + if (practicalTrainingReport.getRating() != null) { + StuScoreDetailsExample stuScoreDetailsExample =new StuScoreDetailsExample(); + stuScoreDetailsExample.createCriteria().andUserIdEqualTo(practicalTrainingReport.getUserid()).andSerialNumberEqualTo(5); + List stuScoreDetails = stuScoreDetailsMapper.selectByExample(stuScoreDetailsExample); + if (!stuScoreDetails.isEmpty()){ + StuScoreDetails stuScoreDetails1 = stuScoreDetails.get(0); + stuScoreDetails1.setScoreProject(practicalTrainingReport.getRating()); + stuScoreDetailsMapper.updateByPrimaryKey(stuScoreDetails1); + } + + } + } + + } diff --git a/src/main/java/com/sztzjy/marketing/entity/dto/StuUserDto.java b/src/main/java/com/sztzjy/marketing/entity/dto/StuUserDto.java index 464a680..64c43bf 100644 --- a/src/main/java/com/sztzjy/marketing/entity/dto/StuUserDto.java +++ b/src/main/java/com/sztzjy/marketing/entity/dto/StuUserDto.java @@ -1,11 +1,10 @@ package com.sztzjy.marketing.entity.dto; import lombok.Data; -import lombok.NoArgsConstructor; @Data -@NoArgsConstructor public class StuUserDto { + private String id; private String userId; private String name; @@ -16,13 +15,10 @@ public class StuUserDto { private String className; -// private String schoolId; - private String reportUrl; private Integer reportId; private Double rating; -// private Integer reportStatus; } diff --git a/src/main/java/com/sztzjy/marketing/mapper/StuPracticalTrainingReportMapper.java b/src/main/java/com/sztzjy/marketing/mapper/StuPracticalTrainingReportMapper.java index da47150..366fee5 100644 --- a/src/main/java/com/sztzjy/marketing/mapper/StuPracticalTrainingReportMapper.java +++ b/src/main/java/com/sztzjy/marketing/mapper/StuPracticalTrainingReportMapper.java @@ -2,6 +2,7 @@ package com.sztzjy.marketing.mapper; import com.sztzjy.marketing.entity.StuPracticalTrainingReport; import com.sztzjy.marketing.entity.StuPracticalTrainingReportExample; +import com.sztzjy.marketing.entity.dto.TchrePortPresentationDTO; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -30,4 +31,6 @@ public interface StuPracticalTrainingReportMapper { int updateByPrimaryKey(StuPracticalTrainingReport record); List selectReport(String userId, String schoolId); + + List selectInfoBySchoolId(String schoolId); } \ No newline at end of file diff --git a/src/main/java/com/sztzjy/marketing/mapper/StuUserMapper.java b/src/main/java/com/sztzjy/marketing/mapper/StuUserMapper.java index 5406afc..0ae1b2c 100644 --- a/src/main/java/com/sztzjy/marketing/mapper/StuUserMapper.java +++ b/src/main/java/com/sztzjy/marketing/mapper/StuUserMapper.java @@ -2,12 +2,12 @@ package com.sztzjy.marketing.mapper; import com.sztzjy.marketing.entity.StuUser; import com.sztzjy.marketing.entity.StuUserExample; -import java.util.List; - import com.sztzjy.marketing.entity.dto.StuUserDto; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; +import java.util.List; + public interface StuUserMapper { long countByExample(StuUserExample example); @@ -34,6 +34,22 @@ public interface StuUserMapper { @Select("select school_id from stu_user group by school_id") List selectSchool(); +// @Select(" SELECT\n" + +// " u.user_id AS userId,\n" + +// " u.name AS name,\n" + +// " u.student_id AS studentId,\n" + +// " r.module AS module,\n" + +// " u.class_name AS className,\n" + +// " r.url AS reportUrl,\n" + +// " r.id AS reportId,\n" + +// " r.rating AS rating\n" + +// " FROM\n" + +// " stu_user u\n" + +// " JOIN\n" + +// " stu_practical_training_report r\n" + +// " ON u.user_id = r.userId \n" + +// " WHERE\n" + +// " u.school_id = #{schoolId}") List selectByCondition(String name, String studentId, String className, String module, String keyWord, String schoolId); List getClassNameBySchoolId(String schoolId); diff --git a/src/main/java/com/sztzjy/marketing/service/TchUserService.java b/src/main/java/com/sztzjy/marketing/service/TchUserService.java index 09f48eb..c475c17 100644 --- a/src/main/java/com/sztzjy/marketing/service/TchUserService.java +++ b/src/main/java/com/sztzjy/marketing/service/TchUserService.java @@ -7,6 +7,7 @@ import com.sztzjy.marketing.entity.tchdto.TchGeneralViewWeightDTO; import com.sztzjy.marketing.entity.tchdto.tchScoreViewShowDTO; import com.sztzjy.marketing.util.ResultEntity; +import javax.servlet.http.HttpServletResponse; import java.util.List; /** @@ -34,4 +35,6 @@ public interface TchUserService { PageInfo getCurrencyScoreReport(String schoolId, Integer index, Integer size, String module, String name, String studentId, String className, String keyWord); List getClassNameBySchoolId(String schoolId); + + void download(Integer id, HttpServletResponse response); } diff --git a/src/main/java/com/sztzjy/marketing/service/impl/TchUserServiceImpl.java b/src/main/java/com/sztzjy/marketing/service/impl/TchUserServiceImpl.java index 37df59c..2746bb9 100644 --- a/src/main/java/com/sztzjy/marketing/service/impl/TchUserServiceImpl.java +++ b/src/main/java/com/sztzjy/marketing/service/impl/TchUserServiceImpl.java @@ -3,37 +3,33 @@ package com.sztzjy.marketing.service.impl;/** * @date 2024-08-05 10:41 */ -import cn.hutool.core.util.IdUtil; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; -import com.sztzjy.marketing.config.ThreadPoolConfig; import com.sztzjy.marketing.entity.*; import com.sztzjy.marketing.entity.dto.StuUserDto; import com.sztzjy.marketing.entity.dto.TchrePortPresentationDTO; import com.sztzjy.marketing.entity.tchdto.TchGeneralViewInfoDTO; import com.sztzjy.marketing.entity.tchdto.TchGeneralViewWeightDTO; import com.sztzjy.marketing.entity.tchdto.tchScoreViewShowDTO; +import com.sztzjy.marketing.mapper.StuPracticalTrainingReportMapper; import com.sztzjy.marketing.mapper.StuUploadImgAiMapper; import com.sztzjy.marketing.mapper.StuUserMapper; import com.sztzjy.marketing.mapper.TchModuleWeithMapper; import com.sztzjy.marketing.service.TchUserService; import com.sztzjy.marketing.util.PageUtil; import com.sztzjy.marketing.util.ResultEntity; +import com.sztzjy.marketing.util.file.IFileUtil; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.http.HttpStatus; -import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import org.springframework.stereotype.Service; -import org.springframework.util.CollectionUtils; +import org.springframework.util.Assert; -import java.math.BigDecimal; -import java.time.LocalDateTime; +import javax.servlet.http.HttpServletResponse; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; -import java.util.concurrent.CompletableFuture; @Service public class TchUserServiceImpl implements TchUserService { @@ -44,12 +40,15 @@ public class TchUserServiceImpl implements TchUserService { private StuUserMapper stuUserMapper; @Autowired - ThreadPoolConfig threadPoolConfig; + private IFileUtil fileUtil; @Autowired private StuUploadImgAiMapper stuUploadImgAiMapper; + @Autowired + private StuPracticalTrainingReportMapper stuPracticalTrainingReportMapper; + // 成绩总览展示 (条件查询) @Override public PageInfo selectGeneralViewList(tchScoreViewShowDTO viewShowDTO) { @@ -135,13 +134,12 @@ public class TchUserServiceImpl implements TchUserService { // // 更新totalRank值 for (int i = 0; i < list.size(); i++) { + list.get(i).setTotalRank(i + 1); + stuUserMapper.updateByPrimaryKeySelective(list.get(i)); } - - - } /** @@ -155,8 +153,10 @@ public class TchUserServiceImpl implements TchUserService { PageHelper.startPage(page,size); - List tchrePortPresentationDTOList - = stuUploadImgAiMapper.selectInfoBySchoolId(schoolId); + + + List tchrePortPresentationDTOList = stuPracticalTrainingReportMapper.selectInfoBySchoolId(schoolId); + PageInfo tchrePortPresentationDTOPageInfo = new PageInfo<>(tchrePortPresentationDTOList); @@ -193,4 +193,18 @@ public class TchUserServiceImpl implements TchUserService { public List getClassNameBySchoolId(String schoolId) { return stuUserMapper.getClassNameBySchoolId(schoolId); } + + + /* + * @author xcj + * @Date 2023/10/11 + * + *教师端评阅,下载报告 + */ + @Override + public void download(Integer id, HttpServletResponse response) { + StuPracticalTrainingReport stuPracticalTrainingReport = stuPracticalTrainingReportMapper.selectByPrimaryKey(id); + Assert.isTrue(stuPracticalTrainingReport != null && stuPracticalTrainingReport.getUrl() != null, "报告不存在"); + fileUtil.download(response, stuPracticalTrainingReport.getReportName(), stuPracticalTrainingReport.getUrl()); + } } diff --git a/src/main/resources/mappers/StuPracticalTrainingReportMapper.xml b/src/main/resources/mappers/StuPracticalTrainingReportMapper.xml index 47a3f8f..c488220 100644 --- a/src/main/resources/mappers/StuPracticalTrainingReportMapper.xml +++ b/src/main/resources/mappers/StuPracticalTrainingReportMapper.xml @@ -346,4 +346,18 @@ and school_id = #{schoolId} + + \ No newline at end of file diff --git a/src/main/resources/mappers/StuUserMapper.xml b/src/main/resources/mappers/StuUserMapper.xml index eef7176..4ba7892 100644 --- a/src/main/resources/mappers/StuUserMapper.xml +++ b/src/main/resources/mappers/StuUserMapper.xml @@ -410,15 +410,17 @@ u.student_id AS studentId, r.module AS module, u.class_name AS className, - r.file_path AS reportUrl, + r.url AS reportUrl, r.id AS reportId, - r.tch_score AS rating + r.rating AS rating, + r.id as id FROM stu_user u JOIN - stu_upload_img_ai r ON u.user_id = r.user_id + stu_practical_training_report r + ON u.user_id = r.userId - AND u.school_id = #{schoolId} + u.school_id = #{schoolId} AND r.module = #{module} @@ -436,7 +438,7 @@ ORDER BY - r.tch_score DESC + r.rating DESC