Răsfoiți Sursa

3.4.1 bug修复

xiaofei 9 luni în urmă
părinte
comite
fb6019fb17

+ 1 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/BasicExamStudentServiceImpl.java

@@ -303,7 +303,7 @@ public class BasicExamStudentServiceImpl extends ServiceImpl<BasicExamStudentMap
         // 试卷编号绑定其它课程
         if (StringUtils.isNotBlank(basicExamStudent.getPaperNumber())) {
             BasicExamRule basicExamRule = basicExamRuleService.getBySchoolId(schoolId);
-            Optional<EnumResult> optional = basicExamRule.getRequiredFieldList().stream().filter(m -> RequiredFieldsEnum.EXAM_PLACE.name().equals(m.getCode()) && m.getEnable()).findFirst();
+            Optional<EnumResult> optional = basicExamRule.getRequiredFieldList().stream().filter(m -> RequiredFieldsEnum.EXAM_PLACE.getCode().equals(m.getCode()) && m.getEnable()).findFirst();
             // 试卷编号不为空时,校区(考点)必填
             if (optional.isPresent() && optional.get().getEnable() && StringUtils.isBlank(basicExamStudent.getExamPlace())) {
                 throw ExceptionResultEnum.ERROR.exception(RequiredFieldsEnum.EXAM_PLACE.getName() + "必填");

+ 1 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamDetailServiceImpl.java

@@ -1078,7 +1078,7 @@ public class ExamDetailServiceImpl extends ServiceImpl<ExamDetailMapper, ExamDet
     public List<Long> saveImportExamStudent(ExamPrintPlan examPrintPlan, List<BasicExamStudent> basicExamStudentList, Long createId) {
         // 校区(考点)为非必填项
         BasicExamRule basicExamRule = basicExamRuleService.getBySchoolId(examPrintPlan.getSchoolId());
-        Optional<EnumResult> optional = basicExamRule.getRequiredFieldList().stream().filter(m -> RequiredFieldsEnum.EXAM_PLACE.name().equals(m.getCode()) && m.getEnable()).findFirst();
+        Optional<EnumResult> optional = basicExamRule.getRequiredFieldList().stream().filter(m -> RequiredFieldsEnum.EXAM_PLACE.getCode().equals(m.getCode()) && m.getEnable()).findFirst();
         Map<String, List<BasicExamStudent>> examDetailMap;
         if(optional.isPresent()){
             examDetailMap = basicExamStudentList.stream().collect(Collectors.groupingBy(m -> m.getExamPlace().concat(m.getExamRoom()).concat(m.getExamStartTime().toString()).concat(m.getExamEndTime().toString())));

+ 16 - 3
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamTaskServiceImpl.java

@@ -86,6 +86,8 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
 
     private static final Logger logger = LoggerFactory.getLogger(ExamTaskServiceImpl.class);
 
+    @Resource
+    private BasicExamRuleService basicExamRuleService;
     @Resource
     private BasicExamStudentService basicExamStudentService;
     @Resource
@@ -1897,6 +1899,7 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
         examPrintPlan.setDrawRule(basicPrintConfig.getDrawRule());
         examPrintPlan.setVariableContent(basicPrintConfig.getVariableContent());
         examPrintPlan.setOrdinaryContent(basicPrintConfig.getOrdinaryContent());
+        examPrintPlan.setCategory(ExamCategoryEnum.FORMAL);
         examPrintPlan.setStatus(PrintPlanStatusEnum.READY);
         examPrintPlanService.save(examPrintPlan);
 
@@ -1911,6 +1914,9 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
             return Stream.of(map);
         }).distinct().collect(Collectors.toList());
 
+        BasicExamRule basicExamRule = basicExamRuleService.getBySchoolId(sysUser.getSchoolId());
+        Optional<EnumResult> optional = basicExamRule.getRequiredFieldList().stream().filter(m -> RequiredFieldsEnum.EXAM_PLACE.getCode().equals(m.getCode())).findFirst();
+
         List<ExamDetail> examDetailList = new ArrayList<>();
         for (Map<String, Object> map : examDetailKeyList) {
             Long schoolId = Long.valueOf(String.valueOf(map.get("schoolId")));
@@ -1919,9 +1925,16 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
             Long examStartTime = Long.valueOf(String.valueOf(map.get("examStartTime")));
             Long examEndTime = Long.valueOf(String.valueOf(map.get("examEndTime")));
 
-            List<BasicExamStudent> examDetailStudentList = basicExamStudentList.stream().filter(e -> e.getExamPlace().equals(examPlace) &&
-                            e.getExamRoom().equals(examRoom) && e.getExamStartTime().equals(examStartTime) && e.getExamEndTime().equals(examEndTime))
-                    .collect(Collectors.toList());
+            List<BasicExamStudent> examDetailStudentList;
+            if (optional.isPresent() && optional.get().getEnable()) {
+                examDetailStudentList = basicExamStudentList.stream().filter(e -> e.getExamPlace().equals(examPlace) &&
+                                e.getExamRoom().equals(examRoom) && e.getExamStartTime().equals(examStartTime) && e.getExamEndTime().equals(examEndTime))
+                        .collect(Collectors.toList());
+            } else {
+                examDetailStudentList = basicExamStudentList.stream().filter(e ->
+                                e.getExamRoom().equals(examRoom) && e.getExamStartTime().equals(examStartTime) && e.getExamEndTime().equals(examEndTime))
+                        .collect(Collectors.toList());
+            }
 
             ExamDetail examDetail = new ExamDetail();
             examDetail.setId(SystemConstant.getDbUuid());

+ 2 - 0
distributed-print-business/src/main/resources/mapper/ExamDetailMapper.xml

@@ -783,6 +783,8 @@
             exam_task et ON ed.exam_id = et.exam_id AND edc.paper_number = et.paper_number
                 JOIN
             (select * from basic_exam where enable = true)be ON be.id = ed.exam_id
+                JOIN
+            (select * from exam_print_plan where category = 'FORMAL') epp ON ed.print_plan_id = epp.id
         WHERE
             ed.status = #{printStatus}
           AND ed.print_end_time > #{startTime}