|
@@ -1186,7 +1186,7 @@ public class MarkServiceImpl implements MarkService {
|
|
|
Map<Long, List<MarkTask>> map = markTaskList.stream().collect(Collectors.groupingBy(MarkTask::getQuestionId));
|
|
|
List<MarkTask> markTasks = new ArrayList<>();
|
|
|
for (MarkUserQuestion markUserQuestion : markUserQuestions) {
|
|
|
- if(!map.containsKey(markUserQuestion.getQuestionId())){
|
|
|
+ if (!map.containsKey(markUserQuestion.getQuestionId())) {
|
|
|
continue;
|
|
|
}
|
|
|
List<MarkTask> markTasks1 = map.get(markUserQuestion.getQuestionId());
|
|
@@ -1507,19 +1507,25 @@ public class MarkServiceImpl implements MarkService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public void deleteMarkTask(MarkQuestion markQuestion, boolean b) {
|
|
|
+ public void deleteMarkTask(MarkQuestion markQuestion, boolean doubleToSingle, boolean toggle) {
|
|
|
// 正评相关数据
|
|
|
- if (b) {
|
|
|
+ if (doubleToSingle) {
|
|
|
markArbitrateHistoryService.deleteByExamIdAndPaperNumberAndQuestionId(markQuestion.getExamId(), markQuestion.getPaperNumber(), markQuestion.getId());
|
|
|
markProblemHistoryService.deleteByExamIdAndPaperNumberAndQuestionId(markQuestion.getExamId(), markQuestion.getPaperNumber(), markQuestion.getId());
|
|
|
markTaskService.deleteByExamIdAndPaperNumberAndQuestionId(markQuestion.getExamId(), markQuestion.getPaperNumber(), markQuestion.getId());
|
|
|
markRejectHistoryService.deleteByExamIdAndPaperNumberAndQuestionId(markQuestion.getExamId(), markQuestion.getPaperNumber(), markQuestion.getId());
|
|
|
}
|
|
|
- markSubjectiveScoreService.deleteByExamIdAndPaperNumberAndQuestionId(markQuestion.getExamId(), markQuestion.getPaperNumber(), markQuestion.getId());
|
|
|
- // 释放本小题所有评卷员的任务
|
|
|
- List<MarkUserQuestion> markUserQuestions = markUserQuestionService.listByExamIdAndPaperNumberAndQuestionId(markQuestion.getExamId(), markQuestion.getPaperNumber(), markQuestion.getId());
|
|
|
- for (MarkUserQuestion markUserQuestion : markUserQuestions) {
|
|
|
- releaseByMarkUserGroup(markUserQuestion);
|
|
|
+ if (toggle) {
|
|
|
+ markSubjectiveScoreService.deleteByExamIdAndPaperNumberAndQuestionId(markQuestion.getExamId(), markQuestion.getPaperNumber(), markQuestion.getId());
|
|
|
+ // 释放本小题所有评卷员的任务
|
|
|
+ List<MarkUserQuestion> markUserQuestions = markUserQuestionService.listByExamIdAndPaperNumberAndQuestionId(markQuestion.getExamId(), markQuestion.getPaperNumber(), markQuestion.getId());
|
|
|
+ for (MarkUserQuestion markUserQuestion : markUserQuestions) {
|
|
|
+ releaseByMarkUserGroup(markUserQuestion);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 更新任务数量
|
|
|
+ this.updateMarkedCount(markQuestion.getExamId(), markQuestion.getPaperNumber(), markQuestion.getId());
|
|
|
+ this.updateMarkTaskCount(markQuestion.getExamId(), markQuestion.getPaperNumber(), markQuestion.getId());
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -1671,7 +1677,7 @@ public class MarkServiceImpl implements MarkService {
|
|
|
boolean pointOrLevel = markAiQuestionParamService.existMarkAiQuestionPointOrLevel(examId, paperNumber, questionId);
|
|
|
// 未设置AI智能评卷参数,删除所有任务
|
|
|
if (!pointOrLevel) {
|
|
|
- this.deleteMarkTask(markQuestion, true);
|
|
|
+ this.deleteMarkTask(markQuestion, true, true);
|
|
|
this.checkStudentSubjectiveScore(examId, markPaper.getCoursePaperId());
|
|
|
} else {
|
|
|
// 遍历相关评卷任务的模式
|