Bladeren bron

3.2.7 bug修改

xiaofei 1 jaar geleden
bovenliggende
commit
72fac5352e

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

@@ -591,6 +591,18 @@ public class ExamDetailServiceImpl extends ServiceImpl<ExamDetailMapper, ExamDet
             String examStartTime = String.valueOf(map.get("examStartTime"));
             String examEndTime = String.valueOf(map.get("examEndTime"));
 
+            QueryWrapper<ExamDetail> queryWrapper = new QueryWrapper<>();
+            queryWrapper.lambda().eq(ExamDetail::getSchoolId, schoolId)
+                    .eq(ExamDetail::getPrintPlanId, examPrintPlan.getId())
+                    .eq(ExamDetail::getExamPlace, examPlace)
+                    .eq(ExamDetail::getExamRoom, examRoom)
+                    .eq(ExamDetail::getExamStartTime, SystemConstant.convertIdToLong(examStartTime))
+                    .eq(ExamDetail::getExamEndTime, SystemConstant.convertIdToLong(examEndTime));
+            ExamDetail examDetailOld = this.getOne(queryWrapper);
+            if (examDetailOld != null) {
+                this.deleteExaminationDataByExamDetailIds(Arrays.asList(examDetailOld.getId()));
+            }
+
             List<ExaminationImportDto> examDetailStudentList = dataList.stream().filter(e -> e.getExamPlace().equals(examPlace) &&
                             e.getExamRoom().equals(examRoom) && e.getExamStartTime().equals(examStartTime) && e.getExamEndTime().equals(examEndTime))
                     .collect(Collectors.toList());
@@ -1125,6 +1137,9 @@ public class ExamDetailServiceImpl extends ServiceImpl<ExamDetailMapper, ExamDet
         // 删除exam_detail_course 表数据
         examDetailCourseService.remove(new QueryWrapper<ExamDetailCourse>().lambda().in(ExamDetailCourse::getId, examDetailCourseIds));
 
+        // 删除exam_detail_course_paper_type 表数据
+        examDetailCoursePaperTypeService.removeByExamDetailCourseIds(examDetailCourseIds);
+
         // 准备删除的考务-考生表id
         List<Long> examStudentIds = examStudentService.list(new QueryWrapper<ExamStudent>().lambda().in(ExamStudent::getExamDetailCourseId, examDetailCourseIds))
                 .stream().map(ExamStudent::getId).collect(Collectors.toList());
@@ -1212,6 +1227,9 @@ public class ExamDetailServiceImpl extends ServiceImpl<ExamDetailMapper, ExamDet
         // 删除exam_detail_course 表数据
         examDetailCourseService.remove(new QueryWrapper<ExamDetailCourse>().lambda().in(ExamDetailCourse::getId, examDetailCourseIds));
 
+        // 删除exam_detail_course_paper_type 表数据
+        examDetailCoursePaperTypeService.removeByExamDetailCourseIds(examDetailCourseIds);
+
         // 准备删除的考务-考生表id
         List<Long> examStudentIds = examStudentService.list(new QueryWrapper<ExamStudent>().lambda().in(ExamStudent::getExamDetailCourseId, examDetailCourseIds))
                 .stream().map(ExamStudent::getId).collect(Collectors.toList());

+ 2 - 2
distributed-print-business/src/main/java/com/qmth/distributed/print/business/templete/service/impl/PushLogicServiceImpl.java

@@ -84,7 +84,7 @@ public class PushLogicServiceImpl implements PushLogicService {
                                 // 组装本系统内考生信息
                                 clazzId = dpsPrintStuMap.get("clazzId") == null || "".equals(dpsPrintStuMap.get("clazzId")) ? null : Long.parseLong(String.valueOf(dpsPrintStuMap.get("clazzId")));
                                 clazzName = dpsPrintStuMap.get("clazzName") != null ? String.valueOf(dpsPrintStuMap.get("clazzName")) : null;
-                                majorName = dpsPrintStuMap.get("majorName") != null ? String.valueOf(dpsPrintStuMap.get("majorName")) :null;
+                                majorName = dpsPrintStuMap.get("majorName") != null ? String.valueOf(dpsPrintStuMap.get("majorName")) : null;
                                 paperNumber = String.valueOf(dpsPrintStuMap.get("paperNumber"));
                                 student.put("clazzId", clazzId);
                                 student.put("clazzName", clazzName);
@@ -103,7 +103,7 @@ public class PushLogicServiceImpl implements PushLogicService {
                         } catch (Exception e) {
                             log.info("同步学生成绩信息失败:{}", e.getMessage());
                             // 失败数据
-                            errorTSyncExamStudentScoreList.add(student.get("name") + "," + student.get("examNumber") + "\r\n");
+                            errorTSyncExamStudentScoreList.add(student.get("name") + "," + student.get("examNumber") + ",错误原因:[" + e.getMessage() + "]" + "\r\n");
                         }
                     }
                 }

+ 2 - 5
distributed-print-business/src/main/java/com/qmth/distributed/print/business/templete/service/impl/TaskLogicServiceImpl.java

@@ -533,6 +533,8 @@ public class TaskLogicServiceImpl implements TaskLogicService {
             }
             Set<Long> attachmentIds = new HashSet<>();
             ExamDetail examDetail = examDetailList.get(0);
+            // 保存任务ID,方便后面重新生成
+            examDetail.setTaskId(tbTask.getId());
 
             tbTask.setObjName(examDetail.getExamRoom() + SystemConstant.HYPHEN + examDetail.getExamPlace());
             //查询examDetailCourse
@@ -578,8 +580,6 @@ public class TaskLogicServiceImpl implements TaskLogicService {
                 basicAttachmentList.add(attachment);
             }
 
-            // 保存任务ID,方便后面重新生成
-            examDetail.setTaskId(tbTask.getId());
             examDetailService.updateById(examDetail);
 
             updateExamPrintPlan(basicPrintConfig, examPrintPlan);
@@ -915,9 +915,6 @@ public class TaskLogicServiceImpl implements TaskLogicService {
                 .thenComparing(ExaminationImportDto::getExamRoom)
         );
 
-        // 删除印刷计划下的考务数据
-        examDetailService.deleteExaminationData(printPlanId, null);
-
         // 卷袋号生成规则
         SerialNumberParams serialNumberParams = new SerialNumberParams("packageCode-" + schoolId, "1", 6);
         String key = serialNumberParams.getModel() + serialNumberParams.getPrefix();