|
@@ -976,8 +976,8 @@ public class BatchServiceImpl extends ServiceImpl<BatchDao, BatchEntity> impleme
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public AnswerPackageSave batchPackageSave(AnswerPackageDomain domain, User user) {
|
|
|
- BatchEntity batch = checkBatchStatus(getById(domain.getBatchId()));
|
|
|
+ public Map<String,StudentEntity> validate(AnswerPackageDomain domain, User user) {
|
|
|
+ BatchEntity batch = getById(domain.getBatchId());
|
|
|
ExamEntity exam = examService.getById(batch.getExamId());
|
|
|
if (exam == null) {
|
|
|
throw ParameterExceptions.EXAM_NOT_FOUND;
|
|
@@ -1003,8 +1003,6 @@ public class BatchServiceImpl extends ServiceImpl<BatchDao, BatchEntity> impleme
|
|
|
throw new ParameterException("该批次考生数量与卷袋考生数量不一致");
|
|
|
}
|
|
|
|
|
|
- Map<String,AnswerPackageStudent> answerPackageStudentMap = new HashMap<>();
|
|
|
- Integer assignedCount = 0;
|
|
|
for (AnswerPackageStudent packageStudent:domain.getStudents()) {
|
|
|
String examNumber = packageStudent.getExamNumber();
|
|
|
StudentEntity student = studentMap.get(examNumber);
|
|
@@ -1019,22 +1017,16 @@ public class BatchServiceImpl extends ServiceImpl<BatchDao, BatchEntity> impleme
|
|
|
if (!exam.getAllowUnexistPaper() && packageStudent.getPapers().size() != answerCard.getPaperCount()) {
|
|
|
throw new ParameterException("卡格式张数不一致");
|
|
|
}
|
|
|
- answerPackageStudentMap.put(examNumber,packageStudent);
|
|
|
}
|
|
|
- List<OmrGroupEntity> gs = omrGroupService.findByExamIdAndSubjectCodeAndFixed(exam.getId(),
|
|
|
- domain.getSubjectCode(),true);
|
|
|
-
|
|
|
- Map<String,List<StudentPaperEntity>> studentPaperMap = this.savePaperBatch(batch,user,answerCard.getNumber(),answerPackageStudentMap,studentMap);
|
|
|
- this.deleteRelation(studentMap);
|
|
|
- this.saveAndUpdateStudent(batch,user,studentMap,studentPaperMap);
|
|
|
|
|
|
- return AnswerPackageSave.create(studentMap.size(),batch.getStatus());
|
|
|
+ return studentMap;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@Transactional
|
|
|
- public Map<String, List<StudentPaperEntity>> savePaperBatch(BatchEntity batch, User user,Integer cardNumber, Map<String, AnswerPackageStudent> answerPackageStudentMap, Map<String, StudentEntity> studentMap){
|
|
|
+ public Map<String, List<StudentPaperEntity>> savePaperBatch(BatchEntity batch, User user,AnswerPackageDomain domain, Map<String, StudentEntity> studentMap){
|
|
|
Map<String, List<StudentPaperEntity>> result = new HashMap<>();
|
|
|
+ Map<String, AnswerPackageStudent> answerPackageStudentMap = domain.getStudents().stream().collect(Collectors.toMap(e->e.getExamNumber(), Function.identity()));
|
|
|
for (String examNumber:studentMap.keySet()) {
|
|
|
AnswerPackageStudent answerPackageStudent = answerPackageStudentMap.get(examNumber);
|
|
|
StudentEntity student = studentMap.get(examNumber);
|
|
@@ -1044,7 +1036,7 @@ public class BatchServiceImpl extends ServiceImpl<BatchDao, BatchEntity> impleme
|
|
|
PaperEntity paper = findOrCreatePaper(batch, student, paperNumber, user);
|
|
|
// 设置paper属性
|
|
|
paper.setExamId(batch.getExamId());
|
|
|
- paper.setCardNumber(cardNumber);
|
|
|
+ paper.setCardNumber(domain.getCardNumber());
|
|
|
paper.setNumber(paperNumber);
|
|
|
paper.setMismatch(false);
|
|
|
paper.setQuestionFilled(false);
|