|
@@ -312,6 +312,11 @@ public class MarkStudentServiceImpl extends ServiceImpl<MarkStudentMapper, MarkS
|
|
|
teacher = SystemConstant.translateSpecificSign(teacher);
|
|
|
|
|
|
MarkPaper markPaper = markPaperService.getByExamIdAndPaperNumber(examId, paperNumber);
|
|
|
+ List<MarkAiScoreDto> markAiScoreDtoList = this.findScoreByAiMark(examId, paperNumber);
|
|
|
+ if(CollectionUtils.isNotEmpty(markAiScoreDtoList)){
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("有AI智能评卷待复核任务未完成,请在成绩检查里复核完成后导出成绩");
|
|
|
+ }
|
|
|
+
|
|
|
Double objectiveScoreLt = objectiveScoreRateLt == null ?
|
|
|
null :
|
|
|
Calculator.round(Calculator.divide(Calculator.multiply(markPaper.getObjectiveScore(), Double.parseDouble(String.valueOf(objectiveScoreRateLt))), 100), 2);
|
|
@@ -333,11 +338,6 @@ public class MarkStudentServiceImpl extends ServiceImpl<MarkStudentMapper, MarkS
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- // AI评卷异常
|
|
|
- if (scoreDetailDto.getAiMarkAbnormal()) {
|
|
|
- throw ExceptionResultEnum.ERROR.exception("[" + scoreDetailDto.getStudentName() + "]AI评卷任务异常,请人工给分后再导出");
|
|
|
- }
|
|
|
-
|
|
|
// 格式化分数
|
|
|
scoreDetailDto.setObjectiveScore(Calculator.round(scoreDetailDto.getObjectiveScore(), 1));
|
|
|
scoreDetailDto.setSubjectiveScore(Calculator.round(scoreDetailDto.getSubjectiveScore(), 1));
|
|
@@ -1419,6 +1419,11 @@ public class MarkStudentServiceImpl extends ServiceImpl<MarkStudentMapper, MarkS
|
|
|
columnValues.add(columnValue);
|
|
|
}
|
|
|
} else {
|
|
|
+ List<MarkAiScoreDto> markAiScoreDtoList = this.findScoreByAiMark(query.getExamId(), query.getPaperNumber());
|
|
|
+ if(CollectionUtils.isNotEmpty(markAiScoreDtoList)){
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("有AI智能评卷待复核任务未完成,请在成绩检查里复核完成后导出成绩");
|
|
|
+ }
|
|
|
+
|
|
|
List<MarkQuestion> oQuestionList = markQuestionService.listByExamIdAndPaperNumberAndObjective(query.getExamId(), query.getPaperNumber(), true);
|
|
|
List<MarkQuestion> sQuestionList = markQuestionService.listByExamIdAndPaperNumberAndObjective(query.getExamId(), query.getPaperNumber(), false);
|
|
|
List<String> columnNameList = new ArrayList<>(Arrays.asList(columnName));
|
|
@@ -1446,10 +1451,6 @@ public class MarkStudentServiceImpl extends ServiceImpl<MarkStudentMapper, MarkS
|
|
|
List<ArchiveStudentVo> ret = baseMapper.studentList(sysUser.getSchoolId(), query, dpr);
|
|
|
|
|
|
for (ArchiveStudentVo s : ret) {
|
|
|
- // AI评卷异常
|
|
|
- if (s.getAiMarkAbnormal()) {
|
|
|
- throw ExceptionResultEnum.ERROR.exception("[" + s.getStudentName() + "]AI评卷任务异常,请人工给分后再导出");
|
|
|
- }
|
|
|
List<CellValue> valueList = new ArrayList<>();
|
|
|
valueList.add(CellValue.of(s.getStudentName()));
|
|
|
valueList.add(CellValue.of(s.getStudentCode()));
|
|
@@ -2768,13 +2769,4 @@ public class MarkStudentServiceImpl extends ServiceImpl<MarkStudentMapper, MarkS
|
|
|
public List<MarkAiScoreDto> findScoreByAiMark(Long examId, String paperNumber) {
|
|
|
return this.baseMapper.findScoreByAiMark(examId, paperNumber);
|
|
|
}
|
|
|
-
|
|
|
- @Override
|
|
|
- public int countByExamIdAndPaperNumberAndAiMarkAbnormal(Long examId, String paperNumber, boolean aiMarkAbnormal) {
|
|
|
- QueryWrapper<MarkStudent> queryWrapper = new QueryWrapper<>();
|
|
|
- queryWrapper.lambda().eq(MarkStudent::getExamId, examId)
|
|
|
- .eq(MarkStudent::getPaperNumber, paperNumber)
|
|
|
- .eq(MarkStudent::getAiMarkAbnormal, aiMarkAbnormal);
|
|
|
- return this.count(queryWrapper);
|
|
|
- }
|
|
|
}
|