|
@@ -105,7 +105,7 @@ public class PrintFinishServiceImpl implements PrintFinishService {
|
|
|
|
|
|
@Transactional
|
|
@Transactional
|
|
@Override
|
|
@Override
|
|
- public void insertMarkStudent(ExamDetailCourseInitMarkDto dto) {
|
|
|
|
|
|
+ public void insertMarkStudent(ExamDetailCourseInitMarkDto dto, String paperType) {
|
|
try {
|
|
try {
|
|
List<MarkStudent> markStudentList = new ArrayList<>();
|
|
List<MarkStudent> markStudentList = new ArrayList<>();
|
|
Set<String> secretNumberSet = new HashSet<>();
|
|
Set<String> secretNumberSet = new HashSet<>();
|
|
@@ -115,13 +115,13 @@ public class PrintFinishServiceImpl implements PrintFinishService {
|
|
if (examDetail == null) {
|
|
if (examDetail == null) {
|
|
continue;
|
|
continue;
|
|
}
|
|
}
|
|
- List<ExamStudent> examStudentList = examStudentService.listByExamDetailCourseIdNotIntMarkStudent(examDetailCourseId);
|
|
|
|
|
|
+ List<ExamStudent> examStudentList = examStudentService.listByExamDetailCourseIdNotIntMarkStudent(examDetailCourseId, paperType);
|
|
for (ExamStudent examStudent : examStudentList) {
|
|
for (ExamStudent examStudent : examStudentList) {
|
|
MarkStudent markStudent = markStudentService.getById(examStudent.getId());
|
|
MarkStudent markStudent = markStudentService.getById(examStudent.getId());
|
|
if (markStudent != null) {
|
|
if (markStudent != null) {
|
|
continue;
|
|
continue;
|
|
}
|
|
}
|
|
- MarkStudent student = new MarkStudent(examStudent.getId(), dto.getExamId(), dto.getCourseCode(), dto.getCourseName(), dto.getPaperNumber(), dto.getCoursePaperId(), dto.getPaperType(), examStudent.getStudentCode(), examStudent.getStudentName(), examDetail.getPackageCode(), examDetail.getExamPlace(), examDetail.getExamRoom(), examStudent.getCollegeName(), examStudent.getMajorName(), examStudent.getClazzName(), dto.getExamStartTime(), dto.getExamEndTime(), dto.getCreateId());
|
|
|
|
|
|
+ MarkStudent student = new MarkStudent(examStudent.getId(), dto.getExamId(), dto.getCourseCode(), dto.getCourseName(), dto.getPaperNumber(), dto.getCoursePaperId(), paperType, examStudent.getStudentCode(), examStudent.getStudentName(), examDetail.getPackageCode(), examDetail.getExamPlace(), examDetail.getExamRoom(), examStudent.getCollegeName(), examStudent.getMajorName(), examStudent.getClazzName(), dto.getExamStartTime(), dto.getExamEndTime(), dto.getCreateId());
|
|
if (student.getSecretNumber() == null) {
|
|
if (student.getSecretNumber() == null) {
|
|
student.randomSecretNumber();
|
|
student.randomSecretNumber();
|
|
while (secretNumberSet.contains(student.getSecretNumber())
|
|
while (secretNumberSet.contains(student.getSecretNumber())
|
|
@@ -136,7 +136,7 @@ public class PrintFinishServiceImpl implements PrintFinishService {
|
|
if (CollectionUtils.isNotEmpty(markStudentList)) {
|
|
if (CollectionUtils.isNotEmpty(markStudentList)) {
|
|
markStudentService.saveBatch(markStudentList);
|
|
markStudentService.saveBatch(markStudentList);
|
|
// 更新mark_paper表student_count字段
|
|
// 更新mark_paper表student_count字段
|
|
- markPaperService.updateStudentCountByExamIdAndPaperNumberAndPaperType(dto.getExamId(), dto.getPaperNumber(), dto.getPaperType());
|
|
|
|
|
|
+ markPaperService.updateStudentCountByExamIdAndPaperNumberAndPaperType(dto.getExamId(), dto.getPaperNumber(), paperType);
|
|
}
|
|
}
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|
|
log.info("考生同步阅卷失败");
|
|
log.info("考生同步阅卷失败");
|
|
@@ -144,8 +144,7 @@ public class PrintFinishServiceImpl implements PrintFinishService {
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
- public void insertScanAnswerCardAndMarkQuestion(ExamDetailCourseInitMarkDto dto) {
|
|
|
|
- String paperType = dto.getPaperType();
|
|
|
|
|
|
+ public void insertScanAnswerCardAndMarkQuestion(ExamDetailCourseInitMarkDto dto, String paperType) {
|
|
if (StringUtils.isNotBlank(paperType)) {
|
|
if (StringUtils.isNotBlank(paperType)) {
|
|
ExamTaskDetail examTaskDetail = examTaskDetailService.findByExamIdAndCourseCodeAndPaperNumber(dto.getSchoolId(), dto.getExamId(), dto.getCourseCode(), dto.getPaperNumber());
|
|
ExamTaskDetail examTaskDetail = examTaskDetailService.findByExamIdAndCourseCodeAndPaperNumber(dto.getSchoolId(), dto.getExamId(), dto.getCourseCode(), dto.getPaperNumber());
|
|
List<PaperInfoVo> paperInfoVoList = ExamTaskUtil.parsePaperAttachmentPath(examTaskDetail.getPaperAttachmentIds(), paperType);
|
|
List<PaperInfoVo> paperInfoVoList = ExamTaskUtil.parsePaperAttachmentPath(examTaskDetail.getPaperAttachmentIds(), paperType);
|
|
@@ -157,7 +156,7 @@ public class PrintFinishServiceImpl implements PrintFinishService {
|
|
continue;
|
|
continue;
|
|
}
|
|
}
|
|
// 解析卡格式中试卷结构并保存
|
|
// 解析卡格式中试卷结构并保存
|
|
- this.insertMarkQuestion(dto.getExamId(), dto.getPaperNumber(), dto.getPaperType(), examCard.getContent());
|
|
|
|
|
|
+ this.insertMarkQuestion(dto.getExamId(), dto.getPaperNumber(), paperType, examCard.getContent());
|
|
// 生成并保存卡格式文件(后缀为.json)
|
|
// 生成并保存卡格式文件(后缀为.json)
|
|
this.insertScanAnswerCard(dto, paperInfoVo, examCard.getContent());
|
|
this.insertScanAnswerCard(dto, paperInfoVo, examCard.getContent());
|
|
}
|
|
}
|
|
@@ -237,7 +236,7 @@ public class PrintFinishServiceImpl implements PrintFinishService {
|
|
if (CollectionUtils.isEmpty(structList)) {
|
|
if (CollectionUtils.isEmpty(structList)) {
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
- List<MarkQuestion> markQuestionList = markQuestionService.listQuestionByExamIdAndPaperNumber(examId, paperNumber);
|
|
|
|
|
|
+ List<MarkQuestion> markQuestionList = markQuestionService.listQuestionByExamIdAndPaperNumberAndPaperType(examId, paperNumber, paperType);
|
|
// 第一次新增
|
|
// 第一次新增
|
|
if (CollectionUtils.isEmpty(markQuestionList)) {
|
|
if (CollectionUtils.isEmpty(markQuestionList)) {
|
|
List<MarkQuestion> markQuestions = new ArrayList<>();
|
|
List<MarkQuestion> markQuestions = new ArrayList<>();
|
|
@@ -259,7 +258,7 @@ public class PrintFinishServiceImpl implements PrintFinishService {
|
|
}
|
|
}
|
|
markQuestionService.saveBatch(markQuestions);
|
|
markQuestionService.saveBatch(markQuestions);
|
|
} else {
|
|
} else {
|
|
- List<ScanAnswerCard> scanAnswerCardList = scanAnswerCardService.listByExamIdAndPaperNumber(examId, paperNumber);
|
|
|
|
|
|
+// List<ScanAnswerCard> scanAnswerCardList = scanAnswerCardService.listByExamIdAndPaperNumber(examId, paperNumber);
|
|
// if (CollectionUtils.isNotEmpty(scanAnswerCardList)) {
|
|
// if (CollectionUtils.isNotEmpty(scanAnswerCardList)) {
|
|
// for (ScanAnswerCard scanAnswerCard : scanAnswerCardList) {
|
|
// for (ScanAnswerCard scanAnswerCard : scanAnswerCardList) {
|
|
// int count = scanPaperService.getCountByExamAndCardNumber(examId, scanAnswerCard.getNumber());
|
|
// int count = scanPaperService.getCountByExamAndCardNumber(examId, scanAnswerCard.getNumber());
|