wangliang 4 سال پیش
والد
کامیت
662043c46a

+ 11 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/templete/service/impl/TaskLogicServiceImpl.java

@@ -108,6 +108,8 @@ public class TaskLogicServiceImpl implements TaskLogicService {
     @Resource
     RedisTemplate<String, Object> redisTemplate;
 
+    @Resource
+    BasicExamRuleService basicExamRuleService;
 
     /**
      * 创建pdf逻辑
@@ -139,6 +141,10 @@ public class TaskLogicServiceImpl implements TaskLogicService {
             }
 
             BasicSchool basicSchool = cacheService.schoolCache(examPrintPlan.getSchoolId());
+            BasicExamRule basicExamRule = basicExamRuleService.getBySchoolId(schoolId);
+            if (Objects.isNull(basicExamRule)) {
+                throw ExceptionResultEnum.ERROR.exception("考务规则为空");
+            }
 
             //查询examDetail
             QueryWrapper<ExamDetail> examDetailQueryWrapper = new QueryWrapper<>();
@@ -292,9 +298,13 @@ public class TaskLogicServiceImpl implements TaskLogicService {
                     }
                     detailCourseService.saveOrUpdateBatch(examDetailCourseList);
                     //合并pdf
-                    basicAttachmentList.add(createPdfUtil.mergePdf(tbTask, examDetail, sysUser.getId(), schoolId, variablePdfList, ordinaryPdfList, paperPdfList, examStudentPdfList, backupPaperPdfList, cardPdfList));
+                    basicAttachmentList.add(createPdfUtil.mergePdf(basicExamRule, tbTask, examDetail, sysUser.getId(), schoolId, variablePdfList, ordinaryPdfList, paperPdfList, examStudentPdfList, backupPaperPdfList, cardPdfList));
                 }
             }
+            if (PrintMethodEnum.AUTO == basicExamRule.getPrintMethod()) {
+                examPrintPlan.setStatus(PrintPlanStatusEnum.PRINTING);
+                examPrintPlanService.updateById(examPrintPlan);
+            }
             map.computeIfAbsent("size", v -> examDetailList.size());
             //最后一步删除附件
             createPdfUtil.deleteAttachment(attachmentIds, ftlList);

+ 1 - 5
distributed-print-business/src/main/java/com/qmth/distributed/print/business/util/CreatePdfUtil.java

@@ -57,9 +57,6 @@ public class CreatePdfUtil {
     @Resource
     ExamDetailService detailService;
 
-    @Resource
-    BasicExamRuleService basicExamRuleService;
-
     /**
      * 创建登记表
      *
@@ -373,7 +370,7 @@ public class CreatePdfUtil {
      * @return
      * @throws IOException
      */
-    public BasicAttachment mergePdf(TBTask tbTask, ExamDetail examDetail, Long userId, Long schoolId, List<PdfDto>... list) throws IOException {
+    public BasicAttachment mergePdf(BasicExamRule basicExamRule, TBTask tbTask, ExamDetail examDetail, Long userId, Long schoolId, List<PdfDto>... list) throws IOException {
         StringJoiner stringJoiner = new StringJoiner("").add(SystemConstant.PDF_TEMP_FILES_DIR).add(File.separator);
         List<PdfDto> mergePdfList = new ArrayList<>();
         int pageA3Count = 0;
@@ -395,7 +392,6 @@ public class CreatePdfUtil {
         examDetail.setAttachmentId(basicAttachment.getId());
         examDetail.setPagesA3(pageA3Count);
         examDetail.setPagesA4(pageA4Count);
-        BasicExamRule basicExamRule = basicExamRuleService.getBySchoolId(schoolId);
         examDetail.setStatus(PrintMethodEnum.AUTO == basicExamRule.getPrintMethod() ? ExamDetailStatusEnum.WAITING : ExamDetailStatusEnum.READY);
         detailService.saveOrUpdate(examDetail);
         ossUtil.ossUpload(dirName, localPdfFile, DigestUtils.md5Hex(new FileInputStream(localPdfFile)));