|
@@ -259,7 +259,7 @@ public class MarkStudentServiceImpl extends ServiceImpl<MarkStudentMapper, MarkS
|
|
|
IPage<StudentScoreDetailDto> studentScoreDetailDtoIPage = this.baseMapper.pageStudentScore(page, examId,
|
|
|
paperNumber, college, majorName, teachClassName, className, teacher, filter, status, breach, startScore, endScore,
|
|
|
subjectiveStartScore, subjectiveEndScore, objectiveStartScore, objectiveEndScore, subScore,
|
|
|
- objectiveScoreLt, studentName, studentCode,secretNumber, orderType, orderField, dpr);
|
|
|
+ objectiveScoreLt, studentName, studentCode, secretNumber, orderType, orderField, dpr);
|
|
|
for (StudentScoreDetailDto scoreDetailDto : studentScoreDetailDtoIPage.getRecords()) {
|
|
|
// 原图
|
|
|
scoreDetailDto.setSheetUrls(buildSheetUrls(scoreDetailDto.getStudentId()));
|
|
@@ -1959,4 +1959,30 @@ public class MarkStudentServiceImpl extends ServiceImpl<MarkStudentMapper, MarkS
|
|
|
queryWrapper.lambda().in(MarkStudent::getBasicStudentId, basicExamStudentIds);
|
|
|
return this.list(queryWrapper);
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void confirmSubjectiveInspectedTask(MarkHeaderResult markResult) {
|
|
|
+ Long userId = ServletUtil.getRequestUserId();
|
|
|
+ MarkStudent markStudent = this.getById(markResult.getStudentId());
|
|
|
+ if (markStudent == null) {
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("考生不存在");
|
|
|
+ }
|
|
|
+ MarkPaper markPaper = markPaperService.getByExamIdAndPaperNumber(markStudent.getExamId(),
|
|
|
+ markStudent.getPaperNumber());
|
|
|
+ // 评卷是否结束
|
|
|
+ if (markPaper == null || MarkPaperStatus.FINISH.equals(markPaper.getStatus())) {
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("科目已结束评卷,无法执行此操作");
|
|
|
+ }
|
|
|
+ try {
|
|
|
+ lockService.watch(LockType.EXAM_SUBJECT, markStudent.getExamId(), markStudent.getPaperNumber());
|
|
|
+ lockService.waitlock(LockType.STUDENT, markResult.getStudentId());
|
|
|
+ this.updateCheckInfo(markStudent.getId(), userId);
|
|
|
+ } catch (Exception e) {
|
|
|
+ throw ExceptionResultEnum.ERROR.exception(e.getMessage());
|
|
|
+ } finally {
|
|
|
+ lockService.unlock(LockType.STUDENT, markResult.getStudentId());
|
|
|
+ lockService.unwatch(LockType.EXAM_SUBJECT, markStudent.getExamId(), markStudent.getPaperNumber());
|
|
|
+ markService.releaseByStudent(markStudent);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|