|
@@ -1281,7 +1281,7 @@ public class PrintCommonServiceImpl implements PrintCommonService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public void checkDataNew(Long schoolId, Long examId, String courseCode, String paperNumber, SysUser user) throws IOException {
|
|
|
+ public void checkExamDataAndCreatePdfTask(Long schoolId, Long examId, String courseCode, String paperNumber, SysUser user) {
|
|
|
// 校验命题任务是否提交
|
|
|
ExamTask examTask = examTaskService.getByExamIdAndCourseCodeAndPaperNumber(examId, courseCode, paperNumber);
|
|
|
BasicExam basicExam = basicExamService.getById(examTask.getExamId());
|
|
@@ -1311,31 +1311,20 @@ public class PrintCommonServiceImpl implements PrintCommonService {
|
|
|
|
|
|
if (canCreatePdf) {
|
|
|
// 2.校验考务数据是否导入
|
|
|
- List<ExamDetail> examDetails = examDetailService.listByCourseCodeAndPaperNumber(schoolId, examId, courseCode, paperNumber);
|
|
|
- if (examDetails != null && examDetails.size() > 0) {
|
|
|
+ List<ExamDetail> examDetailList = examDetailService.listByCourseCodeAndPaperNumber(schoolId, examId, courseCode, paperNumber);
|
|
|
+ if (CollectionUtils.isNotEmpty(examDetailList)) {
|
|
|
// 3.检查examDetailId下有无其它课程
|
|
|
- for (ExamDetail examDetail : examDetails) {
|
|
|
+ for (ExamDetail examDetail : examDetailList) {
|
|
|
List<ExamDetailCourse> examDetailCourses = examDetailCourseService.listByExamDetailIdAndStatus(examDetail.getId());
|
|
|
// 4.没有未完成的命题任务
|
|
|
if (examDetailCourses.isEmpty()) {
|
|
|
// 更新考场状态为初始新建状态
|
|
|
- UpdateWrapper<ExamDetail> examDetailUpdateWrapper = new UpdateWrapper<>();
|
|
|
- examDetailUpdateWrapper.lambda().set(ExamDetail::getStatus, ExamDetailStatusEnum.NEW).eq(ExamDetail::getId, examDetail.getId());
|
|
|
- examDetailService.update(examDetailUpdateWrapper);
|
|
|
+ examDetailService.updateStatusById(examDetail.getId(), ExamDetailStatusEnum.NEW);
|
|
|
|
|
|
//所有考场都撤回,印刷任务状态改为就绪
|
|
|
- QueryWrapper<ExamDetail> queryWrapper = new QueryWrapper<>();
|
|
|
- queryWrapper.lambda().eq(ExamDetail::getPrintPlanId, examDetail.getPrintPlanId()).notIn(ExamDetail::getStatus, ExamDetailStatusEnum.NEW, ExamDetailStatusEnum.READY);
|
|
|
- List<ExamDetail> examDetailss = examDetailService.list(queryWrapper);
|
|
|
- if (examDetailss.isEmpty()) {
|
|
|
- UpdateWrapper<ExamPrintPlan> printPlanUpdateWrapper = new UpdateWrapper<>();
|
|
|
- printPlanUpdateWrapper.lambda().set(ExamPrintPlan::getStatus, PrintPlanStatusEnum.READY).eq(ExamPrintPlan::getId, examDetail.getPrintPlanId());
|
|
|
- examPrintPlanService.update(printPlanUpdateWrapper);
|
|
|
- }
|
|
|
+ examPrintPlanService.updateStatusById(examDetail.getPrintPlanId(), PrintPlanStatusEnum.READY);
|
|
|
TbTaskDetailResult tbTaskDetailResult = examDetailCourseService.getByExamDetailId(examDetail.getId());
|
|
|
- TBTaskPdf tbTaskPdf = tbTaskPdfService.saveTask(tbTaskDetailResult, TaskTypeEnum.CREATE_PDF, examDetail.getPrintPlanId(), user, examDetail.getId());
|
|
|
-// MqDto mqDto = new MqDto(MqTagEnum.PDF.getCode(), map, String.valueOf(map.get(SystemConstant.TB_TASK_ID)));
|
|
|
-// redisUtil.sendMessage(mqDto.getTopic(), mqDto);
|
|
|
+ tbTaskPdfService.saveTask(tbTaskDetailResult, TaskTypeEnum.CREATE_PDF, examDetail.getPrintPlanId(), user, examDetail.getId());
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -1381,18 +1370,10 @@ public class PrintCommonServiceImpl implements PrintCommonService {
|
|
|
|
|
|
if (canCreatePdf) {
|
|
|
//所有考场都撤回,印刷任务状态改为就绪
|
|
|
- QueryWrapper<ExamDetail> queryWrapper = new QueryWrapper<>();
|
|
|
- queryWrapper.lambda().eq(ExamDetail::getPrintPlanId, examDetail.getPrintPlanId()).notIn(ExamDetail::getStatus, ExamDetailStatusEnum.NEW, ExamDetailStatusEnum.READY);
|
|
|
- List<ExamDetail> examDetailss = examDetailService.list(queryWrapper);
|
|
|
- if (examDetailss.isEmpty()) {
|
|
|
- UpdateWrapper<ExamPrintPlan> printPlanUpdateWrapper = new UpdateWrapper<>();
|
|
|
- printPlanUpdateWrapper.lambda().set(ExamPrintPlan::getStatus, PrintPlanStatusEnum.READY).eq(ExamPrintPlan::getId, examDetail.getPrintPlanId());
|
|
|
- examPrintPlanService.update(printPlanUpdateWrapper);
|
|
|
- }
|
|
|
+ examPrintPlanService.updateStatusById(examDetail.getPrintPlanId(), PrintPlanStatusEnum.READY);
|
|
|
+ //创建pdf生成任务
|
|
|
TbTaskDetailResult tbTaskDetailResult = examDetailCourseService.getByExamDetailId(examDetail.getId());
|
|
|
- Map<String, Object> map = tbTaskService.saveTask(tbTaskDetailResult, TaskTypeEnum.CREATE_PDF, examDetail.getPrintPlanId(), user, examDetail.getId());
|
|
|
- MqDto mqDto = new MqDto(MqTagEnum.PDF.getCode(), map, String.valueOf(map.get(SystemConstant.TB_TASK_ID)));
|
|
|
- redisUtil.sendMessage(mqDto.getTopic(), mqDto);
|
|
|
+ tbTaskPdfService.saveTask(tbTaskDetailResult, TaskTypeEnum.CREATE_PDF, examDetail.getPrintPlanId(), user, examDetail.getId());
|
|
|
}
|
|
|
}
|
|
|
|