Explorar o código

卷库中修改试卷pdf生成时即修改印刷任务状态为新建
卷库查询修改后,待审核时,卷库查询中应显示旧的数据,入库审核中显示新的修改后的待审核数据

xiaof %!s(int64=4) %!d(string=hai) anos
pai
achega
02274731b9

+ 1 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/ExamTaskMapper.java

@@ -36,7 +36,7 @@ public interface ExamTaskMapper extends BaseMapper<ExamTask> {
 
     List<RelatePaperDto> listPaperNumbers(@Param("schoolId") Long schoolId, @Param("courseCode") String courseCode, @Param("status") String status);
 
-    ExamTaskDetailCardDto applyGetOne(Long examTaskId);
+    ExamTaskDetailCardDto applyGetOne(@Param("examTaskId") Long examTaskId, @Param("source") String source);
 
     /**
      * 查询我的工作台

+ 1 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/ExamTaskService.java

@@ -62,7 +62,7 @@ public interface ExamTaskService extends IService<ExamTask> {
 
     boolean status(ExamTask examTask);
 
-    ExamTaskDetailCardDto applyGetOne(Long examTaskId);
+    ExamTaskDetailCardDto applyGetOne(Long examTaskId, String source);
 
     /**
      * 查询我的工作台

+ 19 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/CommonServiceImpl.java

@@ -107,6 +107,9 @@ public class CommonServiceImpl implements CommonService {
     @Autowired
     private ConvertUtil convertUtil;
 
+    @Autowired
+    private ExamPrintPlanService examPrintPlanService;
+
     /**
      * 新增用户权限
      *
@@ -620,11 +623,27 @@ public class CommonServiceImpl implements CommonService {
             // 2.校验考务数据是否导入
             List<ExamDetail> examDetails = examDetailService.listByCourseCodeAndPaperNumber(schoolId, courseCode, paperNumber);
             if (examDetails != null && examDetails.size() > 0) {
+
                 // 3.检查examDetailId下有无其它课程
                 for (ExamDetail examDetail : examDetails) {
                     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);
+
+                        //所有考场都撤回,印刷任务状态改为就绪
+                        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);
+                        }
+
                         Map<String, Object> map = tbTaskService.saveTask(TaskTypeEnum.CREATE_PDF, examDetail.getPrintPlanId(), user, examDetail.getId());
                         asyncCreatePdfTempleteService.createPdf(map, null);
                     }

+ 2 - 2
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamTaskServiceImpl.java

@@ -879,8 +879,8 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
     }
 
     @Override
-    public ExamTaskDetailCardDto applyGetOne(Long examTaskId) {
-        ExamTaskDetailCardDto examTaskDetailDto = this.baseMapper.applyGetOne(examTaskId);
+    public ExamTaskDetailCardDto applyGetOne(Long examTaskId, String source) {
+        ExamTaskDetailCardDto examTaskDetailDto = this.baseMapper.applyGetOne(examTaskId, source);
         return examTaskDetailDto;
     }
 

+ 3 - 3
distributed-print-business/src/main/resources/mapper/ExamTaskMapper.xml

@@ -400,9 +400,9 @@
     <select id="applyGetOne" resultType="com.qmth.distributed.print.business.bean.dto.ExamTaskDetailCardDto">
         SELECT
             a.exam_task_id examTaskId,
-            ifnull(c.paper_type, a.paper_type) paperType,
-            ifnull(c.paper_attachment_ids, a.paper_attachment_ids) paperAttachmentIds,
-            ifnull(c.card_id, a.card_id) cardId,
+            case #{source} when 'REVIEW' then ifnull(c.paper_type, a.paper_type) else a.paper_type end paperType,
+            case #{source} when 'REVIEW' then ifnull(c.paper_attachment_ids, a.paper_attachment_ids) else a.paper_attachment_ids end paperAttachmentIds,
+            case #{source} when 'REVIEW' then ifnull(c.card_id, a.card_id) else a.card_id end cardId,
             a.paper_confirm_attachment_ids paperConfirmAttachmentIds,
             a.remark,
             ifnull(d.make_method, b.make_method) makeMethod,

+ 5 - 4
distributed-print/src/main/java/com/qmth/distributed/print/api/ExamTaskController.java

@@ -264,8 +264,9 @@ public class ExamTaskController {
     @ApiOperation(value = "根据命题任务ID查询单个数据")
     @RequestMapping(value = "/apply_get_one", method = RequestMethod.POST)
     public Result applyGetOne(HttpServletRequest request,
-                              @RequestParam(value = "examTaskId", required = true) Long examTaskId) {
-        ExamTaskDetailCardDto detail = examTaskService.applyGetOne(examTaskId);
+                              @RequestParam(value = "examTaskId", required = true) Long examTaskId,
+                              @RequestParam(value = "source", required = false) String source) {
+        ExamTaskDetailCardDto detail = examTaskService.applyGetOne(examTaskId, source);
         return ResultUtil.ok(detail);
     }
 
@@ -369,11 +370,11 @@ public class ExamTaskController {
         SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
         boolean isSuccess = examTaskService.taskReviewSave(taskReviewLog);
         if (isSuccess && taskReviewLog.getReviewStatus().name().equals(ReviewStatusEnum.PASS.name())) {
-            // 发送审核通过短信通知
-            basicMessageService.noticeOfExamTaskAudit(examTaskIdList, MessageEnum.NOTICE_OF_AUDIT_PASS,sysUser);
             ExamTask examTask = examTaskService.getById(taskReviewLog.getExamTaskId());
             // 校验是否可以提交打印状态
             commonService.checkData(examTask.getSchoolId(), examTask.getCourseCode(), examTask.getPaperNumber(), sysUser);
+            // 发送审核通过短信通知
+            basicMessageService.noticeOfExamTaskAudit(examTaskIdList, MessageEnum.NOTICE_OF_AUDIT_PASS,sysUser);
         }else if (isSuccess && taskReviewLog.getReviewStatus().name().equals(ReviewStatusEnum.NOT_PASS.name())){
             // 发送审核不通过短信通知
             basicMessageService.noticeOfExamTaskAudit(examTaskIdList, MessageEnum.NOTICE_OF_AUDIT_NOT_PASS,sysUser);