|
@@ -502,6 +502,7 @@ public class MarkStudentServiceImpl extends ServiceImpl<MarkStudentMapper, MarkS
|
|
markStudent.setExamId(examId);
|
|
markStudent.setExamId(examId);
|
|
markStudent.setCourseId(courseId);
|
|
markStudent.setCourseId(courseId);
|
|
markStudent.setCoursePaperId(coursePaperId);
|
|
markStudent.setCoursePaperId(coursePaperId);
|
|
|
|
+ markStudent.setScanStatus(ScanStatus.SCANNED);
|
|
markStudent.setPaperTypeCheckStatus(status);
|
|
markStudent.setPaperTypeCheckStatus(status);
|
|
return baseMapper.selectCountByQuery(markStudent, dpr);
|
|
return baseMapper.selectCountByQuery(markStudent, dpr);
|
|
}
|
|
}
|
|
@@ -586,8 +587,8 @@ public class MarkStudentServiceImpl extends ServiceImpl<MarkStudentMapper, MarkS
|
|
student.setManualAbsent(page.getAbsent() != null && page.getAbsent().getResult());
|
|
student.setManualAbsent(page.getAbsent() != null && page.getAbsent().getResult());
|
|
student.setManualBreach(page.getBreach() != null && page.getBreach().getResult());
|
|
student.setManualBreach(page.getBreach() != null && page.getBreach().getResult());
|
|
}
|
|
}
|
|
- student.setAbsent(student.getOmrAbsent() || student.getManualAbsent());
|
|
|
|
- student.setBreach(student.getOmrBreach() || student.getManualBreach());
|
|
|
|
|
|
+ student.setAbsent(student.getOmrAbsent() || (student.getManualAbsent() != null && student.getManualAbsent()));
|
|
|
|
+ student.setBreach(student.getOmrBreach() || (student.getManualBreach() != null && student.getManualBreach()));
|
|
|
|
|
|
// 根据卷型识别结果更新考生卷型,如果卷型识别结果异常则添加到卷型检查中
|
|
// 根据卷型识别结果更新考生卷型,如果卷型识别结果异常则添加到卷型检查中
|
|
StringResult paperTypeResult = page.getPaperType();
|
|
StringResult paperTypeResult = page.getPaperType();
|
|
@@ -739,7 +740,7 @@ public class MarkStudentServiceImpl extends ServiceImpl<MarkStudentMapper, MarkS
|
|
studentObjectiveDetailDto.setSubjectiveScore(
|
|
studentObjectiveDetailDto.setSubjectiveScore(
|
|
markStudent.getSubjectiveScore() != null ? markStudent.getSubjectiveScore() : 0);
|
|
markStudent.getSubjectiveScore() != null ? markStudent.getSubjectiveScore() : 0);
|
|
studentObjectiveDetailDto.setUpload(markStudent.getUpload());
|
|
studentObjectiveDetailDto.setUpload(markStudent.getUpload());
|
|
- studentObjectiveDetailDto.setAbsent(markStudent.getAbsent() || markStudent.getManualAbsent() || markStudent.getOmrAbsent());
|
|
|
|
|
|
+ studentObjectiveDetailDto.setAbsent(markStudent.getAbsent() || (markStudent.getManualAbsent() != null && markStudent.getManualAbsent()) || markStudent.getOmrAbsent());
|
|
studentObjectiveDetailDto.setSheetUrls(this.buildSheetUrls(studentId));
|
|
studentObjectiveDetailDto.setSheetUrls(this.buildSheetUrls(studentId));
|
|
|
|
|
|
List<MarkQuestionAnswerVo> questions = markQuestionService.listQuestionAnswerByExamIdAndPaperNumberAndPaperType(
|
|
List<MarkQuestionAnswerVo> questions = markQuestionService.listQuestionAnswerByExamIdAndPaperNumberAndPaperType(
|
|
@@ -845,7 +846,7 @@ public class MarkStudentServiceImpl extends ServiceImpl<MarkStudentMapper, MarkS
|
|
@Override
|
|
@Override
|
|
public void calculateObjectiveScore(MarkStudent student) {
|
|
public void calculateObjectiveScore(MarkStudent student) {
|
|
// 缺考状态不统分(人工指定缺考、识别缺考)
|
|
// 缺考状态不统分(人工指定缺考、识别缺考)
|
|
- if (!student.getManualAbsent() && !student.getAbsent() && !student.getOmrAbsent()) {
|
|
|
|
|
|
+ if ((student.getManualAbsent() != null && !student.getManualAbsent()) && !student.getAbsent() && !student.getOmrAbsent()) {
|
|
ScoreCalculateUtil util = ScoreCalculateUtil.instance(student);
|
|
ScoreCalculateUtil util = ScoreCalculateUtil.instance(student);
|
|
ScoreInfo info = util.calculate(markQuestionService.listQuestionAnswerByExamIdAndPaperNumberAndPaperType(
|
|
ScoreInfo info = util.calculate(markQuestionService.listQuestionAnswerByExamIdAndPaperNumberAndPaperType(
|
|
student.getExamId(), student.getPaperNumber(), student.getPaperType(), true), null);
|
|
student.getExamId(), student.getPaperNumber(), student.getPaperType(), true), null);
|
|
@@ -1412,7 +1413,7 @@ public class MarkStudentServiceImpl extends ServiceImpl<MarkStudentMapper, MarkS
|
|
lambdaQueryWrapper.eq(MarkStudent::getSubjectiveStatus, status);
|
|
lambdaQueryWrapper.eq(MarkStudent::getSubjectiveStatus, status);
|
|
}
|
|
}
|
|
lambdaQueryWrapper.eq(MarkStudent::getUpload, true).eq(MarkStudent::getAbsent, false)
|
|
lambdaQueryWrapper.eq(MarkStudent::getUpload, true).eq(MarkStudent::getAbsent, false)
|
|
- .eq(MarkStudent::getManualAbsent, false).eq(MarkStudent::getOmrAbsent, false);
|
|
|
|
|
|
+ .and(m->m.eq(MarkStudent::getManualAbsent, false).or().isNull(MarkStudent::getManualAbsent)).eq(MarkStudent::getOmrAbsent, false);
|
|
return this.count(queryWrapper);
|
|
return this.count(queryWrapper);
|
|
}
|
|
}
|
|
|
|
|
|
@@ -2032,15 +2033,6 @@ public class MarkStudentServiceImpl extends ServiceImpl<MarkStudentMapper, MarkS
|
|
return markStudent;
|
|
return markStudent;
|
|
}
|
|
}
|
|
|
|
|
|
- @Override
|
|
|
|
- public void deleteByExamIdAndPaperNumberAndStudentCode(Long examId, String paperNumber, String studentCode) {
|
|
|
|
- UpdateWrapper<MarkStudent> updateWrapper = new UpdateWrapper<>();
|
|
|
|
- updateWrapper.lambda().eq(MarkStudent::getExamId, examId)
|
|
|
|
- .eq(MarkStudent::getPaperNumber, paperNumber)
|
|
|
|
- .eq(MarkStudent::getStudentCode, studentCode);
|
|
|
|
- this.remove(updateWrapper);
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
@Override
|
|
@Override
|
|
public void deleteByBasicStudentId(List<Long> basicExamStudentIds) {
|
|
public void deleteByBasicStudentId(List<Long> basicExamStudentIds) {
|
|
List<MarkStudent> markStudentList = this.listByBasicStudentIds(basicExamStudentIds);
|
|
List<MarkStudent> markStudentList = this.listByBasicStudentIds(basicExamStudentIds);
|