xiaof 4 سال پیش
والد
کامیت
a783d7267d

+ 24 - 12
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/BasicTemplateServiceImpl.java

@@ -47,6 +47,9 @@ public class BasicTemplateServiceImpl extends ServiceImpl<BasicTemplateMapper, B
     @Autowired
     private ExamCardService examCardService;
 
+    @Autowired
+    private ExamCardDetailService examCardDetailService;
+
     @Override
     public IPage<TemplateDto> list(Boolean enable, String type, String name, Long startTime, Long endTime, Integer pageNumber, Integer pageSize) {
         Page<TemplateDto> page = new Page<>(pageNumber, pageSize);
@@ -107,21 +110,30 @@ public class BasicTemplateServiceImpl extends ServiceImpl<BasicTemplateMapper, B
         // 新增权限
         basicTemplateOrgService.saveBatch(template.getType(), template.getId(), template.getOrgIds(), template.getCreateId());
 
-        if (TemplateTypeEnum.GENERIC.name().equals(template.getType().name())
-                && basicTemplate.getAttachmentId().longValue() != template.getAttachmentId().longValue()) {
+        if (TemplateTypeEnum.GENERIC.name().equals(template.getType().name())) {
             // 通用题卡,同步更新exam_card
             BasicAttachment attachment = basicAttachmentService.getById(template.getAttachmentId());
 
-            ExamCard examCard = examCardService.getOneByTemplateId(template.getId());
-            ExamCardParams examCardParams = new ExamCardParams();
-            examCardParams.setId(examCard == null ? null : examCard.getId());
-            examCardParams.setTitle(attachment.getName());
-            examCardParams.setMakeMethod(MakeMethodEnum.SELECT);// 默认SELECT
-            examCardParams.setType(CardTypeEnum.GENERIC); // 默认GENERIC
-            examCardParams.setTemplateId(template.getId());
-            examCardParams.setStatus(CardStatusEnum.SUBMIT); // 默认SUBMIT
-            examCardParams.setHtmlContent(commonService.readFileContent(attachment.getPath()));
-            examCardService.saveExamCard(examCardParams);
+            ExamCard examCard1 = examCardService.getOneByTemplateId(template.getId());
+            if(examCard1 == null) {
+                ExamCard examCard = examCardService.getOneByTemplateId(template.getId());
+                ExamCardParams examCardParams = new ExamCardParams();
+                examCardParams.setId(examCard == null ? null : examCard.getId());
+                examCardParams.setTitle(attachment.getName());
+                examCardParams.setMakeMethod(MakeMethodEnum.SELECT);// 默认SELECT
+                examCardParams.setType(CardTypeEnum.GENERIC); // 默认GENERIC
+                examCardParams.setTemplateId(template.getId());
+                examCardParams.setStatus(CardStatusEnum.SUBMIT); // 默认SUBMIT
+                examCardParams.setHtmlContent(commonService.readFileContent(attachment.getPath()));
+                examCardService.saveExamCard(examCardParams);
+            } else {
+                examCard1.setTitle(attachment.getName());
+                examCardService.updateById(examCard1);
+
+                ExamCardDetail examCardDetail = examCardDetailService.getByCardId(examCard1.getId());
+                examCardDetail.setHtmlContent(commonService.readFileContent(attachment.getPath()));
+                examCardDetailService.updateById(examCardDetail);
+            }
         }
         return isSuccess;
     }