浏览代码

add shaoyin task

zero 7 月之前
父节点
当前提交
eebe835309

+ 26 - 1
src/main/java/cn/cslg/pas/service/business/InvalidDecisionFileService.java

@@ -51,6 +51,9 @@ public class InvalidDecisionFileService extends ServiceImpl<InvalidDecisionFileM
     @Autowired
     private ReportProjectMapper reportProjectMapper;
 
+    @Autowired
+    private AssoReportCronService assoReportCronService;
+
 
     public Integer add(AddInvalidDecisionFileDTO addInvalidDecisionFileDTO){
         if (addInvalidDecisionFileDTO == null) {
@@ -108,7 +111,10 @@ public class InvalidDecisionFileService extends ServiceImpl<InvalidDecisionFileM
             });
             assoInvalidDecisionCronService.saveBatch(assoInvalidDecisionCrons);
         }
-
+        //5.把无效结果同步到报告的核心结论
+        if (!CollectionUtils.isEmpty(cronIds) && ObjectUtils.isNotEmpty(projectId)) {
+            this.updateReportCron(cronIds, projectId);
+        }
         if (addInvalidDecisionFileDTO.getIfSendEmail()) {
             sendReportMailService.finalSendEmail(projectId, fileGuids, addInvalidDecisionFileDTO.getExtraEmailDTOS());
         }
@@ -129,6 +135,21 @@ public class InvalidDecisionFileService extends ServiceImpl<InvalidDecisionFileM
         }
     }
 
+    //把无效结果同步到报告的核心结论
+    public void updateReportCron(List<Integer> cronIds, Integer projectId) {
+        LambdaQueryWrapper<AssoReportCron> reportCronWrapper = new LambdaQueryWrapper<>();
+        reportCronWrapper.eq(AssoReportCron::getProjectId, projectId);
+        assoReportCronService.remove(reportCronWrapper);
+        List<AssoReportCron> assoReportCrons = new ArrayList<>();
+        cronIds.forEach(item -> {
+            AssoReportCron assoReportCron = new AssoReportCron();
+            assoReportCron.setProjectId(projectId);
+            assoReportCron.setCronId(item);
+            assoReportCrons.add(assoReportCron);
+        });
+        assoReportCronService.saveBatch(assoReportCrons);
+    }
+
     /**
      * 修改无效决定书
      * @param updateInvalidDecisionFileDTO
@@ -195,6 +216,10 @@ public class InvalidDecisionFileService extends ServiceImpl<InvalidDecisionFileM
             });
             assoInvalidDecisionCronService.saveBatch(decisionCrons);
         }
+        //5.把无效结果同步到报告的核心结论
+        if (!CollectionUtils.isEmpty(cronIds) && ObjectUtils.isNotEmpty(projectId)) {
+            this.updateReportCron(cronIds, projectId);
+        }
         if (updateInvalidDecisionFileDTO.getIfSendEmail()) {
             sendReportMailService.finalSendEmail(projectId, fileGuids, updateInvalidDecisionFileDTO.getExtraEmailDTOS());
         }

+ 9 - 1
src/main/java/cn/cslg/pas/service/business/ReportAffairService.java

@@ -90,6 +90,9 @@ public class ReportAffairService extends ServiceImpl<ReportAffairMapper, ReportA
     @Autowired
     private SystemDictService systemDictService;
 
+    @Autowired
+    private AssoReportCronService assoReportCronService;
+
     /**
      * 创建报告事务
      *
@@ -135,7 +138,12 @@ public class ReportAffairService extends ServiceImpl<ReportAffairMapper, ReportA
                     queryWrapper1.eq(OralTrail::getReportAffairId, id);
                     oralTrailService.remove(queryWrapper1);
                 } else if (flowType.equals(7)) {//无效决定书
-                    //无效决定书和无效结果关联
+                    //删除报告无效结果与报告关联
+                    Integer projectId = reportAffair.getProjectId();
+                    LambdaQueryWrapper<AssoReportCron> reportCronWrapper = new LambdaQueryWrapper<>();
+                    reportCronWrapper.eq(AssoReportCron::getProjectId, projectId);
+                    assoReportCronService.remove(reportCronWrapper);
+                    //删除无效决定书和无效结果关联
                     InvalidDecisionFile decisionFile = invalidDecisionFileService.getOne(new LambdaQueryWrapper<InvalidDecisionFile>()
                             .eq(InvalidDecisionFile::getReportAffairId, id));
                     LambdaQueryWrapper<AssoInvalidDecisionCron> wrapper = new LambdaQueryWrapper<>();