|
@@ -69,23 +69,33 @@ public class ExamTaskDetailServiceImpl extends ServiceImpl<ExamTaskDetailMapper,
|
|
|
private ExamTaskPaperLogService examTaskPaperLogService;
|
|
|
|
|
|
@Override
|
|
|
- public boolean enable(ExamTaskDetail examTaskDetail) {
|
|
|
+ public boolean enable(ExamTaskDetail examTaskDetail) throws IOException {
|
|
|
UpdateWrapper<ExamTaskDetail> updateWrapper = new UpdateWrapper<>();
|
|
|
updateWrapper.lambda().set(ExamTaskDetail::getEnable, examTaskDetail.getEnable()).eq(ExamTaskDetail::getExamTaskId, examTaskDetail.getId());
|
|
|
- return this.update(updateWrapper);
|
|
|
+ this.update(updateWrapper);
|
|
|
+
|
|
|
+ // 启用,触发考场生成pdf
|
|
|
+ if(examTaskDetail.getEnable()){
|
|
|
+ SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
|
|
|
+ ExamTask examTask = examTaskService.getById(examTaskDetail.getExamTaskId());
|
|
|
+ // 校验是否可以提交打印状态
|
|
|
+ commonService.checkData(examTask.getSchoolId(), examTask.getCourseCode(), examTask.getPaperNumber(), sysUser);
|
|
|
+ }
|
|
|
+
|
|
|
+ return true;
|
|
|
}
|
|
|
|
|
|
@Transactional
|
|
|
@Override
|
|
|
public boolean updatePaper(RelatePaperParam paperParam) throws IOException {
|
|
|
ExamPrintPlan examPrintPlan = examPrintPlanService.getById(paperParam.getPrintPlanId());
|
|
|
- if(PrintPlanStatusEnum.END.equals( examPrintPlan.getStatus())){
|
|
|
+ if (PrintPlanStatusEnum.END.equals(examPrintPlan.getStatus())) {
|
|
|
throw ExceptionResultEnum.ERROR.exception("印刷计划已结束,不能修改");
|
|
|
}
|
|
|
ExamTask examTask = examTaskService.getById(paperParam.getExamTaskId());
|
|
|
|
|
|
// 提交印刷的考场,不允许修改关联试卷
|
|
|
- List<ExamDetail> examDetails = examDetailService.listByCourseCodeAndPaperNumber(examTask.getSchoolId(),paperParam.getPrintPlanId(), examTask.getCourseCode(), examTask.getPaperNumber());
|
|
|
+ List<ExamDetail> examDetails = examDetailService.listByPrintPlanIdAndCourseCodeAndPaperNumber(examTask.getSchoolId(), paperParam.getPrintPlanId(), examTask.getCourseCode(), examTask.getPaperNumber());
|
|
|
examDetails = examDetails.stream().filter(m -> !ExamDetailStatusEnum.NEW.equals(m.getStatus()) && !ExamDetailStatusEnum.READY.equals(m.getStatus())).collect(Collectors.toList());
|
|
|
if (!examDetails.isEmpty()) {
|
|
|
throw ExceptionResultEnum.ERROR.exception("有考场已开始打印,不能修改");
|
|
@@ -98,7 +108,7 @@ public class ExamTaskDetailServiceImpl extends ServiceImpl<ExamTaskDetailMapper,
|
|
|
this.update(updateWrapper);
|
|
|
|
|
|
// 更新试卷编号
|
|
|
- List<ExamDetailCourse> examDetailCourses = examDetailCourseService.listByPrintPlanIdAndCourseCodeAndPaperNumber(examTask.getSchoolId(),paperParam.getPrintPlanId(), examTask.getCourseCode(), examTask.getPaperNumber());
|
|
|
+ List<ExamDetailCourse> examDetailCourses = examDetailCourseService.listByPrintPlanIdAndCourseCodeAndPaperNumber(examTask.getSchoolId(), paperParam.getPrintPlanId(), examTask.getCourseCode(), examTask.getPaperNumber());
|
|
|
examDetailCourseService.updatePaperNumber(examDetailCourses, paperParam.getPaperNumber(), paperParam.getRelatePaperType());
|
|
|
|
|
|
// 更新考生关联类型
|
|
@@ -109,7 +119,7 @@ public class ExamTaskDetailServiceImpl extends ServiceImpl<ExamTaskDetailMapper,
|
|
|
SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
|
|
|
Map<String, Object> map = tbTaskService.saveTask(TaskTypeEnum.CREATE_PDF, paperParam.getPrintPlanId(), sysUser);
|
|
|
map.computeIfAbsent("examDetailCourseIds", v -> examDetailCourseIds);
|
|
|
- map.computeIfAbsent("schoolId", v-> examTask.getSchoolId());
|
|
|
+ map.computeIfAbsent("schoolId", v -> examTask.getSchoolId());
|
|
|
map.computeIfAbsent("paperType", v -> paperParam.getRelatePaperType());
|
|
|
asyncCreatePdfTempleteService.createPdf(map, null);
|
|
|
return true;
|