caozixuan 3 年之前
父節點
當前提交
5664ced9a2

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

@@ -704,13 +704,14 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
         SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
         Set<Long> orgIds = teachcloudCommonService.listSubOrgIds(null);
         IPage<ExamTaskDto> examTaskDtoIPage = this.baseMapper.listTaskApply(new Page<>(pageNumber, pageSize), schoolId, auditStatus, cardRuleId, courseCode, paperNumber, startTime, endTime, sysUser.getId(), orgIds, userName);
-        List<PrintPlanStatusEnum> printPlanStatusEnumList = new ArrayList<>();
-        printPlanStatusEnumList.add(PrintPlanStatusEnum.PRINTING);
-        printPlanStatusEnumList.add(PrintPlanStatusEnum.PRINT_FINISH);
-        printPlanStatusEnumList.add(PrintPlanStatusEnum.END);
+//        List<PrintPlanStatusEnum> printPlanStatusEnumList = new ArrayList<>();
+//        printPlanStatusEnumList.add(PrintPlanStatusEnum.PRINTING);
+//        printPlanStatusEnumList.add(PrintPlanStatusEnum.PRINT_FINISH);
+//        printPlanStatusEnumList.add(PrintPlanStatusEnum.END);
         for (ExamTaskDto record : examTaskDtoIPage.getRecords()) {
-            List<ExamPackageDetail> examPackageDetailDatasource = this.baseMapper.findExamPackageDetailByPaperNumber(schoolId,record.getCourseCode(),paperNumber, printPlanStatusEnumList);
-            record.setApproveFormStatus(examPackageDetailDatasource.size() > 0);
+//            List<ExamPackageDetail> examPackageDetailDatasource = this.baseMapper.findExamPackageDetailByPaperNumber(schoolId,record.getCourseCode(),paperNumber, printPlanStatusEnumList);
+//            record.setApproveFormStatus(examPackageDetailDatasource.size() > 0);
+            record.setApproveFormStatus(true);
         }
         return examTaskDtoIPage;
     }
@@ -1713,13 +1714,6 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
         // 流程id
         Long flowId = examTask.getFlowId();
 
-        // 2.ExamRoomInfo 部分
-        List<PrintPlanStatusEnum> printPlanStatusEnumList = new ArrayList<>();
-        printPlanStatusEnumList.add(PrintPlanStatusEnum.PRINTING);
-        printPlanStatusEnumList.add(PrintPlanStatusEnum.PRINT_FINISH);
-        List<ExamPackageDetail> examPackageDetailDatasource = this.baseMapper.findExamPackageDetailByPaperNumber(schoolId,examTask.getCourseCode(),paperNumber, printPlanStatusEnumList);
-        ExamObjectDto examObjectDto = this.buildExamObjectDtoByPackageDatasource(examPackageDetailDatasource);
-
         // 3.ApprovalInfo部分
         Boolean review = examTask.getReview();
         final String remark = "通过";
@@ -1752,6 +1746,21 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
             approvalInfoList.add(second);
             approvalInfoList.add(third);
         }
+
+        // 2.ExamRoomInfo 部分
+        List<PrintPlanStatusEnum> printPlanStatusEnumList = new ArrayList<>();
+        printPlanStatusEnumList.add(PrintPlanStatusEnum.PRINTING);
+        printPlanStatusEnumList.add(PrintPlanStatusEnum.PRINT_FINISH);
+        List<ExamPackageDetail> examPackageDetailDatasource = this.baseMapper.findExamPackageDetailByPaperNumber(schoolId,examTask.getCourseCode(),paperNumber, printPlanStatusEnumList);
+        for (ExamPackageDetail packageDetail : examPackageDetailDatasource) {
+            ExamDetailStatusEnum examDetailStatusEnum = packageDetail.getExamDetailStatus();
+            if(ExamDetailStatusEnum.NEW.equals(examDetailStatusEnum) || ExamDetailStatusEnum.READY.equals(examDetailStatusEnum)){
+                throw ExceptionResultEnum.ERROR.exception("任务处理中,请稍后查看!");
+            }
+        }
+        ExamObjectDto examObjectDto = this.buildExamObjectDtoByPackageDatasource(examPackageDetailDatasource);
+
+
         // ---- 组装Dto
         ExamTaskApprovalFormDto examTaskApprovalFormDto = new ExamTaskApprovalFormDto();
         BasicInfo basicInfo = new BasicInfo();

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

@@ -1062,7 +1062,7 @@
                 INNER JOIN
             exam_print_plan epp ON epp.id = ed.print_plan_id
         <where>
-            <if test="schoolId > 0 and paperNumber != ''">
+            <if test="schoolId != null and schoolId != ''">
                 AND ed.school_id = #{schoolId}
             </if>
             <if test="courseCode != null and courseCode != ''">

+ 24 - 2
distributed-print/src/main/java/com/qmth/distributed/print/api/SysController.java

@@ -80,6 +80,12 @@ public class SysController {
     @Resource
     ConvertUtil convertUtil;
 
+    @Resource
+    BasicCampusService basicCampusService;
+
+    @Resource
+    BasicCourseService basicCourseService;
+
     /**
      * 登录
      *
@@ -308,9 +314,25 @@ public class SysController {
 //    @Aac(auth = BOOL.FALSE)
     public Result getCode(@ApiParam(value = "编码类型", required = true) @RequestParam SystemCodeEnum type) {
         SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
-
+        Long schoolId = sysUser.getSchoolId();
         String date = DateUtil.today().replace("-", "");
-        String paperNumber = convertUtil.getIncre(date, type.getModel() + sysUser.getSchoolId(), type.getDigit());
+        String paperNumber = "";
+        int count = 0;
+        do {
+            paperNumber = convertUtil.getIncre(date, type.getModel() + schoolId, type.getDigit());
+            switch (type) {
+                case CAMPUS_CODE:
+                    count = basicCampusService.count(new QueryWrapper<BasicCampus>().lambda()
+                            .eq(BasicCampus::getCampusCode, paperNumber)
+                            .eq(BasicCampus::getSchoolId, schoolId));
+                    break;
+                case COURSE_CODE:
+                    count = basicCourseService.count(new QueryWrapper<BasicCourse>().lambda()
+                            .eq(BasicCourse::getCode, paperNumber)
+                            .eq(BasicCourse::getSchoolId, schoolId));
+                    break;
+            }
+        } while (count > 0);
         return ResultUtil.ok((Object) paperNumber);
     }
 }