|
@@ -546,14 +546,34 @@ public class ExamTaskDetailServiceImpl extends ServiceImpl<ExamTaskDetailMapper,
|
|
|
return this.getByExamTaskId(examTask.getId());
|
|
|
}
|
|
|
|
|
|
+ @Transactional
|
|
|
@Override
|
|
|
public boolean cancel(Long id) {
|
|
|
ExamTask examTask = examTaskService.getById(id);
|
|
|
+ String paperNumber = examTask.getPaperNumber();
|
|
|
+ String paperNumberCancel = paperNumber + "-作废";
|
|
|
+ examTask.setPaperNumber(paperNumberCancel);
|
|
|
examTask.setStatus(ExamStatusEnum.CANCEL);
|
|
|
examTaskService.updateById(examTask);
|
|
|
|
|
|
- // todo 作废后,考务数据、考场状态怎么处理
|
|
|
- return false;
|
|
|
+ // 作废后,考场状态改为作废,考务数据保留
|
|
|
+ List<ExamDetailCourse> examDetailCourseList = examDetailCourseService.listExamDetailByExamIdAndPaperNumber(examTask.getSchoolId(), examTask.getExamId(), paperNumber);
|
|
|
+ // 考场状态改为作废
|
|
|
+ if (!CollectionUtils.isEmpty(examDetailCourseList)) {
|
|
|
+ for (ExamDetailCourse examDetailCourse : examDetailCourseList) {
|
|
|
+ UpdateWrapper<ExamDetail> examDetailUpdateWrapper = new UpdateWrapper<>();
|
|
|
+ examDetailUpdateWrapper.lambda().set(ExamDetail::getStatus, ExamDetailStatusEnum.CANCEL)
|
|
|
+ .set(ExamDetail::getNormal, false)
|
|
|
+ .eq(ExamDetail::getId, examDetailCourse.getExamDetailId());
|
|
|
+ examDetailService.update(examDetailUpdateWrapper);
|
|
|
+
|
|
|
+ UpdateWrapper<ExamDetailCourse> examDetailCourseUpdateWrapper = new UpdateWrapper<>();
|
|
|
+ examDetailCourseUpdateWrapper.lambda().set(ExamDetailCourse::getPaperNumber, paperNumberCancel)
|
|
|
+ .eq(ExamDetailCourse::getId, examDetailCourse.getId());
|
|
|
+ examDetailCourseService.update(examDetailCourseUpdateWrapper);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return true;
|
|
|
}
|
|
|
|
|
|
/**
|