wangliang 4 years ago
parent
commit
f9a9692658

+ 6 - 2
themis-backend/src/main/java/com/qmth/themis/backend/api/TEExamActivityController.java

@@ -7,6 +7,7 @@ import com.qmth.themis.business.entity.TBUser;
 import com.qmth.themis.business.entity.TEExam;
 import com.qmth.themis.business.entity.TEExamActivity;
 import com.qmth.themis.business.enums.FieldUniqueEnum;
+import com.qmth.themis.business.enums.InvigilateMonitorStatusEnum;
 import com.qmth.themis.business.enums.MqTagEnum;
 import com.qmth.themis.business.enums.MqTopicEnum;
 import com.qmth.themis.business.service.MqDtoService;
@@ -77,10 +78,13 @@ public class TEExamActivityController {
                 teExamActivityService.saveOrUpdate(s);
             });
             examId = teExamActivityList.get(0).getExamId();
-            for(TEExamActivity ac:teExamActivityList){
+            TEExam teExam = teExamService.getById(teExamActivityList.get(0).getExamId());
+            if (Objects.nonNull(teExam.getMonitorStatus()) && Objects.equals(teExam.getMonitorStatus(), InvigilateMonitorStatusEnum.FINISHED)) {
+                throw new BusinessException("监考结束的考试场次不可以修改");
+            }
+            for (TEExamActivity ac : teExamActivityList) {
                 teExamActivityService.updateExamActivityCacheBean(ac.getId());
             }
-            TEExam teExam = teExamService.getById(teExamActivityList.get(0).getExamId());
             if (Objects.nonNull(teExam.getForceFinish()) && teExam.getForceFinish().intValue() == 1) {
                 //新增quartz任务,发送mq消息start
                 Map<String, Object> prop = new HashMap<>();

+ 3 - 0
themis-backend/src/main/java/com/qmth/themis/backend/api/TEExamController.java

@@ -115,6 +115,9 @@ public class TEExamController {
             } else {
                 teExam.setMonitorStatus(InvigilateMonitorStatusEnum.NOT_START);
             }
+            if (Objects.nonNull(teExam.getMonitorStatus()) && Objects.equals(teExam.getMonitorStatus(), InvigilateMonitorStatusEnum.FINISHED)) {
+                throw new BusinessException("监考结束的考试批次不可以修改");
+            }
             teExamService.saveOrUpdate(teExam);
             if (Objects.nonNull(oldTeExam) && !Objects.equals(oldTeExam.getMode().name(), teExamDto.getMode().name())) {//如果模式改变,则删除之前模式的全部quartz
                 QueryWrapper<TEExamActivity> teExamActivityQueryWrapper = new QueryWrapper<>();