|
@@ -147,6 +147,11 @@ public class ExamDetailCourseServiceImpl extends ServiceImpl<ExamDetailCourseMap
|
|
|
if (examDetail == null) {
|
|
|
throw ExceptionResultEnum.ERROR.exception("考场数据不存在");
|
|
|
}
|
|
|
+ // 打印完成,才可以新增
|
|
|
+ if (!ExamDetailStatusEnum.FINISH.equals(examDetail.getStatus())) {
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("考场还未印刷,不能新增考生");
|
|
|
+ }
|
|
|
+
|
|
|
int count = examStudentService.countByExamDetailCourseIdAndStudentCode(examDetailCourse.getId(), singleExamStudentAddParam.getStudentCode());
|
|
|
if (count > 0) {
|
|
|
throw ExceptionResultEnum.ERROR.exception("考号在本考场已存在");
|
|
@@ -174,25 +179,23 @@ public class ExamDetailCourseServiceImpl extends ServiceImpl<ExamDetailCourseMap
|
|
|
examStudent.setCanDelete(true);
|
|
|
examStudentService.save(examStudent);
|
|
|
|
|
|
- // 打印完成,则推送到阅卷考生库
|
|
|
- if (ExamDetailStatusEnum.FINISH.equals(examDetail.getStatus())) {
|
|
|
- // 保存mark_student
|
|
|
- MarkStudent markStudent = new MarkStudent(id, examDetail.getExamId(), examDetailCourse.getCourseCode(),
|
|
|
- examDetailCourse.getCourseName(), examDetailCourse.getPaperNumber(),
|
|
|
- examDetailCourse.getCoursePaperId(), singleExamStudentAddParam.getPaperType(),
|
|
|
- singleExamStudentAddParam.getStudentCode(), singleExamStudentAddParam.getStudentName(),
|
|
|
- examDetail.getPackageCode(), examDetail.getExamPlace(), examDetail.getExamRoom(),
|
|
|
- singleExamStudentAddParam.getCollege(), singleExamStudentAddParam.getMajorName(), singleExamStudentAddParam.getClassName(),
|
|
|
- examDetail.getExamStartTime(), examDetail.getExamEndTime(), markPaper.getUserId());
|
|
|
- if (markStudent.getSecretNumber() == null) {
|
|
|
+ // 保存mark_student
|
|
|
+ MarkStudent markStudent = new MarkStudent(id, examDetail.getExamId(), examDetailCourse.getCourseCode(),
|
|
|
+ examDetailCourse.getCourseName(), examDetailCourse.getPaperNumber(),
|
|
|
+ examDetailCourse.getCoursePaperId(), singleExamStudentAddParam.getPaperType(),
|
|
|
+ singleExamStudentAddParam.getStudentCode(), singleExamStudentAddParam.getStudentName(),
|
|
|
+ examDetail.getPackageCode(), examDetail.getExamPlace(), examDetail.getExamRoom(),
|
|
|
+ singleExamStudentAddParam.getCollege(), singleExamStudentAddParam.getMajorName(), singleExamStudentAddParam.getClassName(),
|
|
|
+ examDetail.getExamStartTime(), examDetail.getExamEndTime(), markPaper.getUserId());
|
|
|
+ if (markStudent.getSecretNumber() == null) {
|
|
|
+ markStudent.randomSecretNumber();
|
|
|
+ while (markStudentService.countByExamIdAndSecretNumber(markStudent.getExamId(), markStudent.getSecretNumber()) > 0) {
|
|
|
markStudent.randomSecretNumber();
|
|
|
- while (markStudentService.countByExamIdAndSecretNumber(markStudent.getExamId(), markStudent.getSecretNumber()) > 0) {
|
|
|
- markStudent.randomSecretNumber();
|
|
|
- }
|
|
|
}
|
|
|
- markStudentService.save(markStudent);
|
|
|
- markPaperService.updateStudentCountByExamIdAndPaperNumberAndPaperType(markPaper.getExamId(), markPaper.getPaperNumber(), markPaper.getPaperType());
|
|
|
}
|
|
|
+ markStudentService.save(markStudent);
|
|
|
+ markPaperService.updateStudentCountByExamIdAndPaperNumberAndPaperType(markPaper.getExamId(), markPaper.getPaperNumber(), markPaper.getPaperType());
|
|
|
+
|
|
|
return true;
|
|
|
}
|
|
|
|
|
@@ -212,7 +215,7 @@ public class ExamDetailCourseServiceImpl extends ServiceImpl<ExamDetailCourseMap
|
|
|
throw ExceptionResultEnum.ERROR.exception("考生不能删除");
|
|
|
}
|
|
|
MarkStudent markStudent = markStudentService.getById(id);
|
|
|
- if (markStudent.getUpload()) {
|
|
|
+ if (markStudent.getUpload() != null && markStudent.getUpload()) {
|
|
|
throw ExceptionResultEnum.ERROR.exception("考生题卡已扫描,不能删除");
|
|
|
}
|
|
|
examStudentService.removeById(id);
|