|
@@ -317,6 +317,10 @@ public class BatchServiceImpl extends ServiceImpl<BatchDao, BatchEntity> impleme
|
|
|
if (exam == null) {
|
|
|
throw ParameterExceptions.EXAM_NOT_FOUND;
|
|
|
}
|
|
|
+// if (exam.getScanByPackage() != null && exam.getScanByPackage()
|
|
|
+// && exam.getEnableSyncVerify()!=null && !exam.getEnableSyncVerify()) {
|
|
|
+// throw new ParameterException("已开启整袋扫描,未开启实时审核");
|
|
|
+// }
|
|
|
String examNumber = domain.getExamNumber();
|
|
|
StudentEntity student = studentService.findByExamAndSubjectCodeAndExamNumber(batch.getExamId(),
|
|
|
domain.getSubjectCode(), examNumber);
|
|
@@ -453,7 +457,8 @@ public class BatchServiceImpl extends ServiceImpl<BatchDao, BatchEntity> impleme
|
|
|
throw new ParameterException("批次已被处理");
|
|
|
}
|
|
|
if (comfirm) {
|
|
|
- updateBatchAssignedStudentData(user, batchId, entity.getExamId());
|
|
|
+ //实时审核通过后无需更新考生,待后续整袋上传时更新
|
|
|
+// updateBatchAssignedStudentData(user, batchId, entity.getExamId());
|
|
|
entity.setVerifyStatus(VerifyStatus.CONFIRM);
|
|
|
} else {
|
|
|
entity.setVerifyStatus(VerifyStatus.REJECT);
|
|
@@ -494,7 +499,18 @@ public class BatchServiceImpl extends ServiceImpl<BatchDao, BatchEntity> impleme
|
|
|
if (entity == null) {
|
|
|
throw new ParameterException("批次不存在");
|
|
|
}
|
|
|
- checkBatchStatus(entity);
|
|
|
+ if (VerifyStatus.WAITING.equals(entity.getVerifyStatus())) {
|
|
|
+ throw new ParameterException("批次正在审核中");
|
|
|
+ }
|
|
|
+ if (VerifyStatus.REJECT.equals(entity.getVerifyStatus())) {
|
|
|
+ throw new ParameterException("批次审核不通过");
|
|
|
+ }
|
|
|
+ if (BatchStatus.FINISH.equals(entity.getStatus())) {
|
|
|
+ BatchFinishVo vo = new BatchFinishVo();
|
|
|
+ vo.setStatus(entity.getStatus());
|
|
|
+ vo.setUpdateTime(System.currentTimeMillis());
|
|
|
+ return vo;
|
|
|
+ }
|
|
|
ExamEntity exam = examService.getById(entity.getExamId());
|
|
|
if (exam.getScanByPackage() != null && exam.getScanByPackage()) {
|
|
|
checkStudentCount(entity);
|
|
@@ -964,6 +980,7 @@ public class BatchServiceImpl extends ServiceImpl<BatchDao, BatchEntity> impleme
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
+ @Transactional
|
|
|
public AnswerPackageSave batchPackageSave(AnswerPackageDomain domain, User user) {
|
|
|
BatchEntity batch = checkBatchStatus(getById(domain.getBatchId()));
|
|
|
ExamEntity exam = examService.getById(batch.getExamId());
|
|
@@ -1013,7 +1030,7 @@ public class BatchServiceImpl extends ServiceImpl<BatchDao, BatchEntity> impleme
|
|
|
for (String examNumber:studentMap.keySet()) {
|
|
|
AnswerPackageStudent answerPackageStudent = answerPackageStudentMap.get(examNumber);
|
|
|
StudentEntity student = studentMap.get(examNumber);
|
|
|
- boolean studentAssigned = false;
|
|
|
+// boolean studentAssigned = false;
|
|
|
List<StudentPaperEntity> studentPaperList = new ArrayList<>();
|
|
|
for (AnswerPaper answerPaper : answerPackageStudent.getPapers()) {
|
|
|
// 验证page数量
|
|
@@ -1035,13 +1052,13 @@ public class BatchServiceImpl extends ServiceImpl<BatchDao, BatchEntity> impleme
|
|
|
batchPaperService.update(batch, paper, student.getId(), paperNumber, false);
|
|
|
// 创建student与paper的关联关系
|
|
|
studentPaperList.add(new StudentPaperEntity(student.getId(), paperNumber, paper.getId()));
|
|
|
- studentAssigned = studentAssigned || paper.getAssigned();
|
|
|
+// studentAssigned = studentAssigned || paper.getAssigned();
|
|
|
// 更新批次统计数量,改到finish的时候更新
|
|
|
// updateAssignedCount(batch.getId());
|
|
|
// updateScanCount(batch.getId());
|
|
|
- // 不开启实时审核,或者没有人工绑定的情况下,或者当前批次无需审核,直接更新考生扫描状态
|
|
|
+ // 不开启实时审核,或者当前批次无需审核,直接更新考生扫描状态
|
|
|
if (VerifyStatus.CANCEL.equals(batch.getVerifyStatus()) || exam.getEnableSyncVerify() == null
|
|
|
- || !exam.getEnableSyncVerify() || !studentAssigned) {
|
|
|
+ || !exam.getEnableSyncVerify()) {
|
|
|
concurrentService.getReadWriteLock(LockType.STUDENT + "-" + student.getId()).writeLock().lock();
|
|
|
try {
|
|
|
studentService.updateStudentAndPaper(user, student.getId(), studentPaperList);
|