xiaof %!s(int64=4) %!d(string=hai) anos
pai
achega
55b6437050

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

@@ -161,7 +161,7 @@ public interface ExamDetailService extends IService<ExamDetail> {
 
 
 
-    List<ExamDetail> listByCourseCodeAndPaperNumber(Long schoolId, Long printPlanId, String courseCode, String paperNumber);
+    List<ExamDetail> listByPrintPlanIdAndCourseCodeAndPaperNumber(Long schoolId, Long printPlanId, String courseCode, String paperNumber);
 
 
     List<ExamDetail> listByExamPrintId(Long printPlanId);

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

@@ -20,7 +20,7 @@ import java.util.Map;
  */
 public interface ExamTaskDetailService extends IService<ExamTaskDetail> {
 
-    boolean enable(ExamTaskDetail examTaskDetail);
+    boolean enable(ExamTaskDetail examTaskDetail) throws IOException;
 
     boolean updatePaper(RelatePaperParam paperParam) throws IOException;
 

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

@@ -560,7 +560,7 @@ public class ExamDetailServiceImpl extends ServiceImpl<ExamDetailMapper, ExamDet
     }
 
     @Override
-    public List<ExamDetail> listByCourseCodeAndPaperNumber(Long schoolId, Long printPlanId, String courseCode, String paperNumber) {
+    public List<ExamDetail> listByPrintPlanIdAndCourseCodeAndPaperNumber(Long schoolId, Long printPlanId, String courseCode, String paperNumber) {
         List<ExamDetailCourse> examDetailCourses = examDetailCourseService.listByPrintPlanIdAndCourseCodeAndPaperNumber(schoolId, printPlanId, courseCode, paperNumber);
         if (examDetailCourses != null && examDetailCourses.size() > 0) {
             Set<Long> examDetailIds = examDetailCourses.stream().map(m -> m.getExamDetailId()).collect(Collectors.toSet());

+ 16 - 6
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamTaskDetailServiceImpl.java

@@ -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;

+ 1 - 0
distributed-print-business/src/main/resources/mapper/ExamDetailCourseMapper.xml

@@ -116,6 +116,7 @@
             a.school_id = #{schoolId}
                 AND a.course_code = #{courseCode}
                 AND a.paper_number = #{paperNumber}
+                AND a.paper_type is null
                 AND c.status != 'END'
     </select>
 

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

@@ -443,24 +443,24 @@ public class ExamTaskController {
     }
 
     /**
-     * 启用/禁用
+     * 卷库查询-启用/禁用
      *
      * @param examTaskDetail
      * @return
      */
-    @ApiOperation(value = "启用/禁用")
+    @ApiOperation(value = "卷库查询-启用/禁用")
     @RequestMapping(value = "/paper_enable", method = RequestMethod.POST)
-    public Result taskPaperEnable(@RequestBody ExamTaskDetail examTaskDetail) {
+    public Result taskPaperEnable(@RequestBody ExamTaskDetail examTaskDetail) throws IOException {
         boolean isSuccess = examTaskDetailService.enable(examTaskDetail);
         return ResultUtil.ok(isSuccess);
     }
 
     /**
-     * 卷库修改
+     * 卷库查询-卷库修改
      * @param examTaskDetail
      * @return
      */
-    @ApiOperation(value = "卷库修改")
+    @ApiOperation(value = "卷库查询-卷库修改")
     @RequestMapping(value = "/paper_update", method = RequestMethod.POST)
     public Result taskPaperUpdate(@RequestBody ExamTaskDetail examTaskDetail) {
         boolean isSuccess = examTaskDetailService.paperUpdate(examTaskDetail);