فهرست منبع

3.4.4 update-20250414

xiaofei 2 ماه پیش
والد
کامیت
eaf3282c37

+ 5 - 3
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/impl/MarkQuestionServiceImpl.java

@@ -137,7 +137,6 @@ public class MarkQuestionServiceImpl extends ServiceImpl<MarkQuestionMapper, Mar
                 question.setExamId(examId);
                 question.setCourseId(markPaper.getCourseId());
                 question.setPaperNumber(paperNumber);
-//                question.setPaperType(markPaper.getPaperType());
                 question.setCreateId(sysUser.getId());
                 question.setCreateTime(System.currentTimeMillis());
                 // 用来判断是否保存过
@@ -155,7 +154,6 @@ public class MarkQuestionServiceImpl extends ServiceImpl<MarkQuestionMapper, Mar
                     question.setExamId(examId);
                     question.setPaperNumber(paperNumber);
                     question.setCourseId(markPaper.getCourseId());
-//                    question.setPaperType(markPaper.getPaperType());
                     saveOrUpdateList.add(question);
                 } else {
                     Optional<MarkQuestion> questionOptional = markQuestionList.stream().filter(m -> m.getId().equals(question.getId())).findFirst();
@@ -208,7 +206,6 @@ public class MarkQuestionServiceImpl extends ServiceImpl<MarkQuestionMapper, Mar
                         question.setExamId(examId);
                         question.setPaperNumber(paperNumber);
                         question.setCourseId(markPaper.getCourseId());
-//                        question.setPaperType(markPaper.getPaperType());
                         question.setCreateId(sysUser.getId());
                         question.setCreateTime(System.currentTimeMillis());
                         // 用来判断是否保存过
@@ -223,6 +220,11 @@ public class MarkQuestionServiceImpl extends ServiceImpl<MarkQuestionMapper, Mar
                 List<Long> deleteIds = markQuestionList.stream().map(MarkQuestion::getId).collect(Collectors.toList());
                 this.removeByIds(deleteIds);
                 for (MarkQuestion markQuestion : markQuestionList) {
+                    List<MarkTaskStatus> statusList = Arrays.asList(MarkTaskStatus.PROBLEM, MarkTaskStatus.MARKED, MarkTaskStatus.WAIT_ARBITRATE, MarkTaskStatus.ARBITRATED, MarkTaskStatus.REJECTED);
+                    if (markTaskService.countByExamIdAndPaperNumberAndQuestionIdAndStatusIn(examId, paperNumber, markQuestion.getId(), statusList) > 0) {
+                        throw ExceptionResultEnum.ERROR.exception("大题号[" + markQuestion.getMainNumber() + "],小题号[" + markQuestion.getSubNumber() + "]已阅卷,无法删除");
+                    }
+                    markTaskService.deleteByExamIdAndPaperNumberAndQuestionId(examId, paperNumber, markQuestion.getId());
                     markUserQuestionService.deleteByExamIdAndPaperNumberAndQuestionId(examId, paperNumber, markQuestion.getId());
                 }