Browse Source

fix:
1.命题计划统计 - 学生总计改到班级详情中

caozixuan 3 years ago
parent
commit
a0a3ec4a84

+ 12 - 11
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/TCStatisticsServiceImpl.java

@@ -12,6 +12,7 @@ import com.qmth.distributed.print.business.bean.dto.ClazzContentDto;
 import com.qmth.distributed.print.business.bean.dto.ExamTaskPlanStatisticDto;
 import com.qmth.distributed.print.business.bean.dto.TCStatisticsDto;
 import com.qmth.distributed.print.business.bean.result.TCStatisticResult;
+import com.qmth.distributed.print.business.entity.ExamStudent;
 import com.qmth.distributed.print.business.entity.TCStatistics;
 import com.qmth.distributed.print.business.entity.TCStatisticsTemp;
 import com.qmth.distributed.print.business.entity.TeachStudent;
@@ -69,6 +70,9 @@ public class TCStatisticsServiceImpl extends ServiceImpl<TCStatisticsMapper, TCS
     @Resource
     ExamDetailService examDetailService;
 
+    @Resource
+    ExamStudentService examStudentService;
+
 
     @Deprecated
     @Override
@@ -90,16 +94,11 @@ public class TCStatisticsServiceImpl extends ServiceImpl<TCStatisticsMapper, TCS
                 List<ClazzContentDto> clazzContentDtoList = new ArrayList<>();
                 String courseCode = tcStatisticsTemp.getCourseCode();
                 String clazzIds = tcStatisticsTemp.getClazzIds();
-                // 总印份数(只是学生数不包含备份)
-                int printSum;
                 StatisticsStatusEnum status = StatisticsStatusEnum.FINISH;
                 // 导入的班级
                 Set<Long> clazzIdSet = Arrays.stream(clazzIds.split(",")).map(SystemConstant::convertIdToLong).collect(Collectors.toSet());
                 // 根据课程和考试查到的命题计划数据
                 List<ExamTaskPlanStatisticDto> examTaskPlanStatisticDtoList = this.baseMapper.findByExamIdCourseCode(examId,courseCode);
-                if (examTaskPlanStatisticDtoList == null || examTaskPlanStatisticDtoList.size() == 0){
-                    continue;
-                }
                 for (Long clazzId : clazzIdSet) {
                     // 匹配到班级的所有命题计划
                     List<ExamTaskPlanStatisticDto> matchClazzList = examTaskPlanStatisticDtoList.stream().filter(e -> {
@@ -119,7 +118,10 @@ public class TCStatisticsServiceImpl extends ServiceImpl<TCStatisticsMapper, TCS
                         clazzContent.setExamPrintPlanId(matchClazz.getExamPrintPlanId());
                         clazzContent.setExamPrintPlanName(matchClazz.getExamPrintPlanName());
                         clazzContent.setPaperNumber(matchClazz.getPaperNumber());
-                        clazzContent.setStudentCount(matchClazz.getStudentCount());
+                        clazzContent.setStudentCount(examStudentService.count(new QueryWrapper<ExamStudent>()
+                                .lambda()
+                                .eq(ExamStudent::getClazzId,clazzId)
+                                .eq(ExamStudent::getExamDetailCourseId,matchClazz.getExamDetailCourseId())));
                     }
 
                     // 匹配到以印刷的
@@ -136,8 +138,11 @@ public class TCStatisticsServiceImpl extends ServiceImpl<TCStatisticsMapper, TCS
                         clazzContent.setExamPrintPlanId(printMatchClazz.getExamPrintPlanId());
                         clazzContent.setExamPrintPlanName(printMatchClazz.getExamPrintPlanName());
                         clazzContent.setPaperNumber(printMatchClazz.getPaperNumber());
-                        clazzContent.setStudentCount(printMatchClazz.getStudentCount());
                         clazzContent.setStatus(ClazzContentEnum.FINISH);
+                        clazzContent.setStudentCount(examStudentService.count(new QueryWrapper<ExamStudent>()
+                                .lambda()
+                                .eq(ExamStudent::getClazzId,clazzId)
+                                .eq(ExamStudent::getExamDetailCourseId,printMatchClazz.getExamDetailCourseId())));
                     } else {
                         // 该班级对应的命题任务还未完成印刷
                         status = StatisticsStatusEnum.UN_FINISH;
@@ -145,9 +150,6 @@ public class TCStatisticsServiceImpl extends ServiceImpl<TCStatisticsMapper, TCS
                     }
                     clazzContentDtoList.add(clazzContent);
                 }
-                Integer teachClazzStudentCount = teachStudentService.count(new QueryWrapper<TeachStudent>().lambda().in(TeachStudent::getTeachClazzId,clazzIdSet));
-                Integer basicClazzStudentCount = basicStudentService.count(new QueryWrapper<BasicStudent>().lambda().in(BasicStudent::getClazzId,clazzIdSet));
-                printSum = teachClazzStudentCount + basicClazzStudentCount;
 
                 TCStatistics tcStatistics = new TCStatistics();
                 tcStatistics.setExamId(examId);
@@ -162,7 +164,6 @@ public class TCStatisticsServiceImpl extends ServiceImpl<TCStatisticsMapper, TCS
                 tcStatistics.setClazzIds(clazzIds);
                 tcStatistics.setClazzName(examDetailService.findClazzNamesByClazzIds(clazzIds,","));
                 tcStatistics.setClazzContent(JSON.toJSONString(clazzContentDtoList));
-                tcStatistics.setPrintSum(printSum);
                 tcStatistics.setStatus(status);
                 tcStatistics.insertInfo(requestUserId);
                 if (StatisticsStatusEnum.FINISH.equals(status)){