xiaof 4 yıl önce
ebeveyn
işleme
4d9e00f5b5

+ 8 - 2
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamTaskDetailServiceImpl.java

@@ -235,7 +235,14 @@ public class ExamTaskDetailServiceImpl extends ServiceImpl<ExamTaskDetailMapper,
     @Override
     public boolean paperUpdate(ExamTaskDetail examTaskDetail) {
         SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
-        // todo 前置校验条件,如打印中不能修改
+        // 提交印刷的考场,不允许修改关联试卷
+        ExamTask examTask = examTaskService.getById(examTaskDetail.getExamTaskId());
+        List<ExamDetail> examDetails = examDetailService.listByCourseCodeAndPaperNumber(examTask.getSchoolId(), examTask.getCourseCode(), examTask.getPaperNumber());
+        examDetails = examDetails.stream().filter(m -> !ExamDetailStatusEnum.NEW.equals(m.getStatus()) && !ExamDetailStatusEnum.READY.equals(m.getStatus())).collect(Collectors.toList());
+        if (!examDetails.isEmpty()) {
+            throw ExceptionResultEnum.ERROR.exception("有考场已开始打印,不能修改");
+        }
+
         QueryWrapper<ExamTaskDetail> queryWrapper = new QueryWrapper<>();
         queryWrapper.lambda().eq(ExamTaskDetail::getExamTaskId, examTaskDetail.getExamTaskId());
         ExamTaskDetail examTaskDetailTemp = this.getOne(queryWrapper);
@@ -274,7 +281,6 @@ public class ExamTaskDetailServiceImpl extends ServiceImpl<ExamTaskDetailMapper,
         }
 
         // 不需要审核,直接更新
-        ExamTask examTask = examTaskService.getById(examTaskDetail.getExamTaskId());
         if (examTask.getReview()) {
             // 加入临时审核表
             ExamTaskPaperLog examTaskPaperLog = examTaskPaperLogService.getByExamTaskIdAndReview(examTaskDetail.getExamTaskId(), false);