|
@@ -773,7 +773,8 @@ public class MarkQuestionServiceImpl extends ServiceImpl<MarkQuestionMapper, Mar
|
|
|
}
|
|
|
|
|
|
MarkPaper markPaper = markPaperService.getByExamIdAndPaperNumber(examId, paperNumber);
|
|
|
- if (markAiQuestionParamService.existMarkAiQuestionPointOrLevel(examId, paperNumber, questionId)) {
|
|
|
+ boolean pointOrLevel = markAiQuestionParamService.existMarkAiQuestionPointOrLevel(examId, paperNumber, questionId);
|
|
|
+ if (pointOrLevel) {
|
|
|
if (oldDoubleRate == 0 && doubleRate > 0 && MarkPaperAiMark.AI_ONLY.equals(markPaper.getAiMark())) {
|
|
|
throw ExceptionResultEnum.ERROR.exception("仅AI评卷模式,不允许单评改双评");
|
|
|
}
|
|
@@ -790,7 +791,7 @@ public class MarkQuestionServiceImpl extends ServiceImpl<MarkQuestionMapper, Mar
|
|
|
updateWrapper.lambda().set(MarkQuestion::getDoubleRate, doubleRate)
|
|
|
.set(MarkQuestion::getArbitrateThreshold, doubleRate > 0 ? doubleMarkParam.getArbitrateThreshold() : null)
|
|
|
.set(MarkQuestion::getScorePolicy, doubleRate > 0 ? doubleMarkParam.getScorePolicy() : null)
|
|
|
- .set(MarkQuestion::getAiMark, markPaper.getAiMark())
|
|
|
+ .set(MarkQuestion::getAiMark, pointOrLevel ? markPaper.getAiMark() : MarkPaperAiMark.NONE)
|
|
|
.eq(MarkQuestion::getId, doubleMarkParam.getQuestionId());
|
|
|
this.update(updateWrapper);
|
|
|
|