|
@@ -10,6 +10,7 @@ import com.qmth.distributed.print.business.bean.dto.ExamTaskDetailDto;
|
|
import com.qmth.distributed.print.business.bean.params.RelatePaperParam;
|
|
import com.qmth.distributed.print.business.bean.params.RelatePaperParam;
|
|
import com.qmth.distributed.print.business.entity.*;
|
|
import com.qmth.distributed.print.business.entity.*;
|
|
import com.qmth.distributed.print.business.enums.ExamDetailStatusEnum;
|
|
import com.qmth.distributed.print.business.enums.ExamDetailStatusEnum;
|
|
|
|
+import com.qmth.distributed.print.business.enums.PrintPlanStatusEnum;
|
|
import com.qmth.distributed.print.business.enums.TaskTypeEnum;
|
|
import com.qmth.distributed.print.business.enums.TaskTypeEnum;
|
|
import com.qmth.distributed.print.business.mapper.ExamTaskDetailMapper;
|
|
import com.qmth.distributed.print.business.mapper.ExamTaskDetailMapper;
|
|
import com.qmth.distributed.print.business.service.*;
|
|
import com.qmth.distributed.print.business.service.*;
|
|
@@ -59,7 +60,7 @@ public class ExamTaskDetailServiceImpl extends ServiceImpl<ExamTaskDetailMapper,
|
|
private AsyncCreatePdfTempleteService asyncCreatePdfTempleteService;
|
|
private AsyncCreatePdfTempleteService asyncCreatePdfTempleteService;
|
|
|
|
|
|
@Autowired
|
|
@Autowired
|
|
- private BasicAttachmentService basicAttachmentService;
|
|
|
|
|
|
+ private ExamPrintPlanService examPrintPlanService;
|
|
|
|
|
|
@Resource
|
|
@Resource
|
|
TBTaskService tbTaskService;
|
|
TBTaskService tbTaskService;
|
|
@@ -68,19 +69,33 @@ public class ExamTaskDetailServiceImpl extends ServiceImpl<ExamTaskDetailMapper,
|
|
private ExamTaskPaperLogService examTaskPaperLogService;
|
|
private ExamTaskPaperLogService examTaskPaperLogService;
|
|
|
|
|
|
@Override
|
|
@Override
|
|
- public boolean enable(ExamTaskDetail examTaskDetail) {
|
|
|
|
|
|
+ public boolean enable(ExamTaskDetail examTaskDetail) throws IOException {
|
|
UpdateWrapper<ExamTaskDetail> updateWrapper = new UpdateWrapper<>();
|
|
UpdateWrapper<ExamTaskDetail> updateWrapper = new UpdateWrapper<>();
|
|
updateWrapper.lambda().set(ExamTaskDetail::getEnable, examTaskDetail.getEnable()).eq(ExamTaskDetail::getExamTaskId, examTaskDetail.getId());
|
|
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
|
|
@Transactional
|
|
@Override
|
|
@Override
|
|
public boolean updatePaper(RelatePaperParam paperParam) throws IOException {
|
|
public boolean updatePaper(RelatePaperParam paperParam) throws IOException {
|
|
|
|
+ ExamPrintPlan examPrintPlan = examPrintPlanService.getById(paperParam.getPrintPlanId());
|
|
|
|
+ if (PrintPlanStatusEnum.END.equals(examPrintPlan.getStatus())) {
|
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("印刷计划已结束,不能修改");
|
|
|
|
+ }
|
|
ExamTask examTask = examTaskService.getById(paperParam.getExamTaskId());
|
|
ExamTask examTask = examTaskService.getById(paperParam.getExamTaskId());
|
|
|
|
|
|
// 提交印刷的考场,不允许修改关联试卷
|
|
// 提交印刷的考场,不允许修改关联试卷
|
|
- List<ExamDetail> examDetails = examDetailService.listByCourseCodeAndPaperNumber(examTask.getSchoolId(), 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());
|
|
examDetails = examDetails.stream().filter(m -> !ExamDetailStatusEnum.NEW.equals(m.getStatus()) && !ExamDetailStatusEnum.READY.equals(m.getStatus())).collect(Collectors.toList());
|
|
if (!examDetails.isEmpty()) {
|
|
if (!examDetails.isEmpty()) {
|
|
throw ExceptionResultEnum.ERROR.exception("有考场已开始打印,不能修改");
|
|
throw ExceptionResultEnum.ERROR.exception("有考场已开始打印,不能修改");
|
|
@@ -93,7 +108,7 @@ public class ExamTaskDetailServiceImpl extends ServiceImpl<ExamTaskDetailMapper,
|
|
this.update(updateWrapper);
|
|
this.update(updateWrapper);
|
|
|
|
|
|
// 更新试卷编号
|
|
// 更新试卷编号
|
|
- List<ExamDetailCourse> examDetailCourses = examDetailCourseService.listDetailCourseByCourseCodeAndPaperNumber(examTask.getSchoolId(), examTask.getCourseCode(), examTask.getPaperNumber());
|
|
|
|
|
|
+ List<ExamDetailCourse> examDetailCourses = examDetailCourseService.listByPrintPlanIdAndCourseCodeAndPaperNumber(examTask.getSchoolId(), paperParam.getPrintPlanId(), examTask.getCourseCode(), examTask.getPaperNumber());
|
|
examDetailCourseService.updatePaperNumber(examDetailCourses, paperParam.getPaperNumber(), paperParam.getRelatePaperType());
|
|
examDetailCourseService.updatePaperNumber(examDetailCourses, paperParam.getPaperNumber(), paperParam.getRelatePaperType());
|
|
|
|
|
|
// 更新考生关联类型
|
|
// 更新考生关联类型
|
|
@@ -104,7 +119,7 @@ public class ExamTaskDetailServiceImpl extends ServiceImpl<ExamTaskDetailMapper,
|
|
SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
|
|
SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
|
|
Map<String, Object> map = tbTaskService.saveTask(TaskTypeEnum.CREATE_PDF, paperParam.getPrintPlanId(), sysUser);
|
|
Map<String, Object> map = tbTaskService.saveTask(TaskTypeEnum.CREATE_PDF, paperParam.getPrintPlanId(), sysUser);
|
|
map.computeIfAbsent("examDetailCourseIds", v -> examDetailCourseIds);
|
|
map.computeIfAbsent("examDetailCourseIds", v -> examDetailCourseIds);
|
|
- map.computeIfAbsent("schoolId", v-> examTask.getSchoolId());
|
|
|
|
|
|
+ map.computeIfAbsent("schoolId", v -> examTask.getSchoolId());
|
|
map.computeIfAbsent("paperType", v -> paperParam.getRelatePaperType());
|
|
map.computeIfAbsent("paperType", v -> paperParam.getRelatePaperType());
|
|
asyncCreatePdfTempleteService.createPdf(map, null);
|
|
asyncCreatePdfTempleteService.createPdf(map, null);
|
|
return true;
|
|
return true;
|
|
@@ -236,4 +251,11 @@ public class ExamTaskDetailServiceImpl extends ServiceImpl<ExamTaskDetailMapper,
|
|
return true;
|
|
return true;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ @Override
|
|
|
|
+ public ExamTaskDetail getByExamTaskId(Long examTaskId) {
|
|
|
|
+ QueryWrapper<ExamTaskDetail> queryWrapper = new QueryWrapper<>();
|
|
|
|
+ queryWrapper.lambda().eq(ExamTaskDetail::getExamTaskId, examTaskId);
|
|
|
|
+ return this.getOne(queryWrapper);
|
|
|
|
+ }
|
|
|
|
+
|
|
}
|
|
}
|