|
@@ -657,7 +657,7 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
|
|
|
|
|
|
@Transactional
|
|
|
@Override
|
|
|
- public boolean taskReviewSaveBatch(ExamTaskReviewLog taskReviewLog) {
|
|
|
+ public boolean taskReviewSaveBatch(ExamTaskReviewLog taskReviewLog) throws IOException {
|
|
|
SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
|
|
|
|
|
|
ExamStatusEnum statusEnum;
|
|
@@ -667,17 +667,47 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
|
|
|
statusEnum = ExamStatusEnum.STAGE;
|
|
|
}
|
|
|
for (Long examTaskId : taskReviewLog.getExamTaskIds()) {
|
|
|
- // 审核日志
|
|
|
- taskReviewLog.setOperateId(sysUser.getId());
|
|
|
- taskReviewLog.setOperateTime(System.currentTimeMillis());
|
|
|
- taskReviewLog.setExamTaskId(examTaskId);
|
|
|
- taskReviewLog.setId(SystemConstant.getDbUuid());
|
|
|
- examTaskReviewLogService.save(taskReviewLog);
|
|
|
-
|
|
|
- // 更新命题任务状态
|
|
|
- UpdateWrapper<ExamTask> updateWrapper = new UpdateWrapper<>();
|
|
|
- updateWrapper.lambda().set(ExamTask::getStatus, statusEnum).set(ExamTask::getReviewStatus, taskReviewLog.getReviewStatus()).eq(ExamTask::getId, taskReviewLog.getExamTaskId());
|
|
|
- this.update(updateWrapper);
|
|
|
+ // 校验状态,可能被撤回
|
|
|
+ ExamTask examTask = this.getById(taskReviewLog.getExamTaskId());
|
|
|
+ if (!ExamStatusEnum.SUBMIT.equals(examTask.getStatus())) {
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("当前状态不能审核");
|
|
|
+ }
|
|
|
+ ExamTaskPaperLog examTaskPaperLog = examTaskPaperLogService.getByExamTaskIdAndReview(taskReviewLog.getExamTaskId(), false);
|
|
|
+ if (examTaskPaperLog == null) {
|
|
|
+ // 审核日志
|
|
|
+ taskReviewLog.setOperateId(sysUser.getId());
|
|
|
+ taskReviewLog.setOperateTime(System.currentTimeMillis());
|
|
|
+ taskReviewLog.setExamTaskId(examTaskId);
|
|
|
+ taskReviewLog.setId(SystemConstant.getDbUuid());
|
|
|
+ examTaskReviewLogService.save(taskReviewLog);
|
|
|
+
|
|
|
+ // 更新命题任务状态
|
|
|
+ UpdateWrapper<ExamTask> updateWrapper = new UpdateWrapper<>();
|
|
|
+ if (taskReviewLog.getReviewStatus().name().equals(ReviewStatusEnum.PASS.name())) {
|
|
|
+ // 校验是否可以提交打印状态
|
|
|
+ commonService.checkData(examTask.getSchoolId(), examTask.getCourseCode(), examTask.getPaperNumber(), sysUser);
|
|
|
+ }
|
|
|
+ updateWrapper.lambda().set(ExamTask::getStatus, statusEnum).set(ExamTask::getReviewStatus, taskReviewLog.getReviewStatus()).eq(ExamTask::getId, taskReviewLog.getExamTaskId());
|
|
|
+ this.update(updateWrapper);
|
|
|
+ } else {
|
|
|
+ // 更新记录表状态
|
|
|
+ examTaskPaperLog.setReview(true);
|
|
|
+ examTaskPaperLog.setReviewStatus(taskReviewLog.getReviewStatus());
|
|
|
+ examTaskPaperLog.setUpdateId(sysUser.getId());
|
|
|
+ examTaskPaperLog.setUpdateTime(System.currentTimeMillis());
|
|
|
+ examTaskPaperLogService.updateById(examTaskPaperLog);
|
|
|
+
|
|
|
+ if (taskReviewLog.getReviewStatus().name().equals(ReviewStatusEnum.PASS.name())) {
|
|
|
+ // 通过,更新正式表数据
|
|
|
+ UpdateWrapper<ExamTaskDetail> examTaskDetailUpdateWrapper = new UpdateWrapper<>();
|
|
|
+ examTaskDetailUpdateWrapper.lambda().set(ExamTaskDetail::getPaperType, examTaskPaperLog.getPaperType())
|
|
|
+ .set(ExamTaskDetail::getPaperAttachmentIds, examTaskPaperLog.getPaperAttachmentIds())
|
|
|
+ .set(ExamTaskDetail::getCardId, examTaskPaperLog.getCardId())
|
|
|
+ .eq(ExamTaskDetail::getExamTaskId, taskReviewLog.getExamTaskId());
|
|
|
+ examTaskDetailService.update(examTaskDetailUpdateWrapper);
|
|
|
+ commonService.checkData(examTask.getSchoolId(), examTask.getCourseCode(), examTask.getPaperNumber(), sysUser);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
return true;
|
|
|
}
|