Эх сурвалжийг харах

fix:命题计划统计更改

caozixuan 3 жил өмнө
parent
commit
cf2748d657

+ 14 - 19
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/TCStatisticsServiceImpl.java

@@ -104,32 +104,27 @@ public class TCStatisticsServiceImpl extends ServiceImpl<TCStatisticsMapper, TCS
                         return ebcClazzIdSet.contains(clazzId);
                     }).collect(Collectors.toList());
 
+                    // 匹配到以印刷的
+                    List<ExamTaskPlanStatisticDto> printClazzList = matchClazzList.stream().filter(e -> ExamDetailStatusEnum.FINISH.equals(e.getExamDetailStatus())).collect(Collectors.toList());
+
                     ClazzContentDto clazzContent = new ClazzContentDto();
                     clazzContent.setClazzId(clazzId);
                     clazzContent.setClazzName(examDetailService.findClazzNamesByClazzIds(String.valueOf(clazzId), ","));
-                    if (matchClazzList.size() > 1) {
-                        // 同一个班级课程的命题任务多次提交
+                    if (printClazzList.size() > 1) {
+                        // 同一个班级课程已完成印刷的命题任务多次提交
                         status = StatisticsStatusEnum.UN_FINISH;
                         clazzContent.setStatus(ClazzContentEnum.EXCEPTION);
-                    } else if (matchClazzList.size() == 1) {
-                        ExamTaskPlanStatisticDto matchClazz = matchClazzList.get(0);
+                    } else if (printClazzList.size() == 1) {
+                        ExamTaskPlanStatisticDto printMatchClazz = printClazzList.get(0);
                         // 查询考场表状态为已印刷的被匹配数据
-                        clazzContent.setExamPrintPlanId(matchClazz.getExamPrintPlanId());
-                        clazzContent.setExamPrintPlanName(matchClazz.getExamPrintPlanName());
-                        clazzContent.setPaperNumber(matchClazz.getPaperNumber());
-                        clazzContent.setStudentCount(matchClazz.getStudentCount());
-
-                        ExamDetailStatusEnum examDetailStatus = matchClazz.getExamDetailStatus();
-                        if (ExamDetailStatusEnum.FINISH.equals(examDetailStatus)) {
-                            // 改版机对应的命题任务完成印刷
-                            clazzContent.setStatus(ClazzContentEnum.FINISH);
-                        } else {
-                            // 该班级对应的命题任务还未完成印刷
-                            status = StatisticsStatusEnum.UN_FINISH;
-                            clazzContent.setStatus(ClazzContentEnum.UN_FINISH);
-                        }
+                        clazzContent.setExamPrintPlanId(printMatchClazz.getExamPrintPlanId());
+                        clazzContent.setExamPrintPlanName(printMatchClazz.getExamPrintPlanName());
+                        clazzContent.setPaperNumber(printMatchClazz.getPaperNumber());
+                        clazzContent.setStudentCount(printMatchClazz.getStudentCount());
+                        // 改版机对应的命题任务完成印刷
+                        clazzContent.setStatus(ClazzContentEnum.FINISH);
                     } else {
-                        // 连考场都没查到 -> 未完成
+                        // 该班级对应的命题任务还未完成印刷
                         status = StatisticsStatusEnum.UN_FINISH;
                         clazzContent.setStatus(ClazzContentEnum.UN_FINISH);
                     }