|
@@ -441,15 +441,19 @@ public class BasicExamStudentServiceImpl extends ServiceImpl<BasicExamStudentMap
|
|
MarkPaper markPaper = markPaperService.getByExamIdAndPaperNumberAndPaperType(examId, entry.getKey(), null);
|
|
MarkPaper markPaper = markPaperService.getByExamIdAndPaperNumberAndPaperType(examId, entry.getKey(), null);
|
|
if (markPaper == null && ExamModelEnum.MODEL4.equals(basicExam.getExamModel())) {
|
|
if (markPaper == null && ExamModelEnum.MODEL4.equals(basicExam.getExamModel())) {
|
|
String paperType = SystemConstant.DEFAULT_PAPER_TYPE_A;
|
|
String paperType = SystemConstant.DEFAULT_PAPER_TYPE_A;
|
|
- markPaper = new MarkPaper(examId, basicExamStudent.getCourseId(), entry.getKey(), String.valueOf(System.currentTimeMillis()), createId, paperType);
|
|
|
|
|
|
+ markPaper = new MarkPaper(examId, basicExamStudent.getCourseId(), entry.getKey(), String.valueOf(SystemConstant.getDbUuid()), createId, paperType);
|
|
markPaperService.save(markPaper);
|
|
markPaperService.save(markPaper);
|
|
}
|
|
}
|
|
if (markPaper != null) {
|
|
if (markPaper != null) {
|
|
|
|
+ List<MarkStudent> markStudentList = new ArrayList<>();
|
|
Set<String> secretNumberSet = new HashSet<>();
|
|
Set<String> secretNumberSet = new HashSet<>();
|
|
MarkPaper finalMarkPaper = markPaper;
|
|
MarkPaper finalMarkPaper = markPaper;
|
|
- entry.getValue().forEach(m -> markStudentService.updateByBasicExamStudent(m, finalMarkPaper, secretNumberSet));
|
|
|
|
- markPaperService.updateStudentCountByExamIdAndPaperNumberAndPaperType(examId, entry.getKey(), markPaper.getPaperType());
|
|
|
|
- markPaperService.updateUploadCount(examId, entry.getKey(), markStudentService.countUploadedByExamIdAndPaperNumber(examId, entry.getKey()));
|
|
|
|
|
|
+ entry.getValue().forEach(m -> markStudentList.add(markStudentService.assembleByBasicExamStudent(m, finalMarkPaper, secretNumberSet)));
|
|
|
|
+ if (CollectionUtils.isNotEmpty(markStudentList)) {
|
|
|
|
+ markStudentService.saveOrUpdateBatch(markStudentList);
|
|
|
|
+ markPaperService.updateStudentCountByExamIdAndPaperNumberAndPaperType(examId, entry.getKey(), markPaper.getPaperType());
|
|
|
|
+ markPaperService.updateUploadCount(examId, entry.getKey(), markStudentService.countUploadedByExamIdAndPaperNumber(examId, entry.getKey()));
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -505,10 +509,8 @@ public class BasicExamStudentServiceImpl extends ServiceImpl<BasicExamStudentMap
|
|
@Override
|
|
@Override
|
|
public void clearPaperNumberAndPaperType(List<Long> ids) {
|
|
public void clearPaperNumberAndPaperType(List<Long> ids) {
|
|
UpdateWrapper<BasicExamStudent> updateWrapper = new UpdateWrapper<>();
|
|
UpdateWrapper<BasicExamStudent> updateWrapper = new UpdateWrapper<>();
|
|
- updateWrapper.lambda().set(BasicExamStudent::getPaperNumber, null)
|
|
|
|
- .set(BasicExamStudent::getPaperType, null)
|
|
|
|
- .in(BasicExamStudent::getId, ids)
|
|
|
|
- .isNull(BasicExamStudent::getPaperType);
|
|
|
|
|
|
+ updateWrapper.lambda().set(BasicExamStudent::getPaperType, null)
|
|
|
|
+ .in(BasicExamStudent::getId, ids);
|
|
this.update(updateWrapper);
|
|
this.update(updateWrapper);
|
|
}
|
|
}
|
|
}
|
|
}
|