Prechádzať zdrojové kódy

通用检验方案调整

xy 12 hodín pred
rodič
commit
5cf56c3b92

+ 23 - 8
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/boilertaskorder/BoilerTaskOrderServiceImpl.java

@@ -96,6 +96,7 @@ import cn.start.tz.module.pressure2.dal.dataobject.defectinspectionrecords.Defec
 import cn.start.tz.module.pressure2.dal.dataobject.bpmtaskinfo.BpmTaskInfoDO;
 import cn.start.tz.module.pressure2.dal.dataobject.dynamictb.DynamicTbDO;
 import cn.start.tz.module.pressure2.dal.dataobject.dynamictbcol.DynamicTbColDO;
+import cn.start.tz.module.pressure2.dal.dataobject.dynamictbfile.DynamicTbFileDO;
 import cn.start.tz.module.pressure2.dal.dataobject.dynamictbins.DynamicTbInsDO;
 import cn.start.tz.module.pressure2.dal.dataobject.dynamictbval.DynamicTbValDO;
 import cn.start.tz.module.pressure2.dal.dataobject.equipboiler.EquipBoilerDO;
@@ -125,6 +126,7 @@ import cn.start.tz.module.pressure2.dal.mysql.boilertaskorderuser.BoilerTaskOrde
 import cn.start.tz.module.pressure2.dal.mysql.bpmtaskinfo.BpmTaskInfoMapper;
 import cn.start.tz.module.pressure2.dal.mysql.defectinspectionrecords.DefectInspectionRecordsMapper;
 import cn.start.tz.module.pressure2.dal.mysql.dynamictb.DynamicTbMapper;
+import cn.start.tz.module.pressure2.dal.mysql.dynamictbfile.DynamicTbFileMapper;
 import cn.start.tz.module.pressure2.dal.mysql.equipboiler.EquipBoilerMapper;
 import cn.start.tz.module.pressure2.dal.mysql.equipboilercheckhistory.EquipBoilerCheckHistoryMapper;
 import cn.start.tz.module.pressure2.dal.mysql.equipboilerscheduling.EquipBoilerSchedulingRecordMapper;
@@ -418,6 +420,9 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
     @Resource
     private DynamicTbMapper dynamicTbMapper;
 
+    @Resource
+    private DynamicTbFileMapper dynamicTbFileMapper;
+
     @Resource
     private BoilerConnectRecordReportService boilerConnectRecordReportService;
 
@@ -2189,6 +2194,7 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
         String userId = getLoginUserId();
         BoilerTaskOrderReportDO reportDO = taskOrderReportMapper.selectById(id);
         AdminUserRespDTO userRespDTO = adminUserApi.getUser(userId).getData();
+        List<String> reportIds = new ArrayList<>();
 
         BoilerTaskOrderReportDO itemReportDO = new BoilerTaskOrderReportDO();
         itemReportDO.setId(id);
@@ -2261,6 +2267,8 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
                         taskOrderItemReportMapper.insert(item);
                         dynamicTbInsService.copyInstantiate(reportDO.getId(), item.getId());
 
+                        reportIds.add(item.getId());
+
                         //更新 报表数据
                         BoilerTaskOrderSyncReportVO syncReportVO = new BoilerTaskOrderSyncReportVO();
                         syncReportVO.setRefId(item.getId());
@@ -2289,9 +2297,9 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
 
         //生成报表数据 -- 检验方案表不同暂不通用
         CreateInstantiateWithRuleVO ruleVO = new CreateInstantiateWithRuleVO();
-        ruleVO.setTemplateId(itemReportDO.getTemplateId());
-        ruleVO.setRefId(itemReportDO.getId());
-        ruleVO.setRefName(itemReportDO.getReportName());
+        ruleVO.setTemplateId(reportDO.getTemplateId());
+        ruleVO.setRefId(reportDO.getId());
+        ruleVO.setRefName(reportDO.getReportName());
         ruleVO.setReportType(1);
         com.alibaba.fastjson2.JSONObject params = new com.alibaba.fastjson2.JSONObject();
         params.put("equipMainType","boiler");
@@ -2311,11 +2319,9 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
                 byte[] bytes = pdfService.pdfByRefId(reportDO.getTemplateId(), reportDO.getId());
                 bytes = PdfMergeUtils.buildInspectionPlanPdf(bytes, reportDO.getManualUrl(), fileApi);
 
-                String fileUrl = fileApi.createFile(bytes);
-
-                List<String> orderItemIds = List.of(itemReportDO.getOrderItemIdsStr().split(","));
-                for (String orderItemId : orderItemIds) {
-                    BoilerTaskOrderItemReportDO updateItemReportDO = new BoilerTaskOrderItemReportDO().setId(orderItemId).setIssueUrl(fileUrl);
+                String fileUrl = fileApi.createFile(reportDO.getId()+"检验方案.pdf", null, bytes);
+                for (String reportId : reportIds) {
+                    BoilerTaskOrderItemReportDO updateItemReportDO = new BoilerTaskOrderItemReportDO().setId(reportId).setIssueUrl(fileUrl);
                     taskOrderItemReportMapper.updateById(updateItemReportDO);
                 }
 
@@ -4986,6 +4992,15 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
             taskOrderReportDO.setReportNo(generateOrderItemInspectionPlanReportNo(addReport.getOrderId()));
             taskOrderReportMapper.insert(taskOrderReportDO);
 
+            // 通用方案(reportType=900):关联模板原件文件
+            if (dynamicTbDO.getReportType() != null && dynamicTbDO.getReportType() == 900) {
+                DynamicTbFileDO dynamicTbFileDO = dynamicTbFileMapper.selectById(dynamicTbDO.getId());
+                if (dynamicTbFileDO != null && StringUtils.isNotEmpty(dynamicTbFileDO.getFilePath())) {
+                    taskOrderReportDO.setManualUrl(dynamicTbFileDO.getFilePath());
+                    taskOrderReportMapper.updateById(taskOrderReportDO);
+                }
+            }
+
             //生成报表数据 -- 检验方案表不同暂不通用
             CreateInstantiateWithRuleVO ruleVO = new CreateInstantiateWithRuleVO();
             ruleVO.setTemplateId(addReport.getTemplateId());

+ 16 - 1
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/pipetaskorder/PipeTaskOrderServiceImpl.java

@@ -88,6 +88,7 @@ import cn.start.tz.module.pressure2.dal.dataobject.boilertaskorderitemreportequi
 import cn.start.tz.module.pressure2.dal.dataobject.bpmtaskinfo.BpmTaskInfoDO;
 import cn.start.tz.module.pressure2.dal.dataobject.dynamictb.DynamicTbDO;
 import cn.start.tz.module.pressure2.dal.dataobject.dynamictbcol.DynamicTbColDO;
+import cn.start.tz.module.pressure2.dal.dataobject.dynamictbfile.DynamicTbFileDO;
 import cn.start.tz.module.pressure2.dal.dataobject.dynamictbins.DynamicTbInsDO;
 import cn.start.tz.module.pressure2.dal.dataobject.dynamictbval.DynamicTbValDO;
 import cn.start.tz.module.pressure2.dal.dataobject.equippipe.EquipPipeDO;
@@ -119,6 +120,7 @@ import cn.start.tz.module.pressure2.dal.mysql.boilerconnecttbservice.BoilerConne
 import cn.start.tz.module.pressure2.dal.mysql.boilertaskorderitemreportequip.BoilerTaskOrderItemReportEquipMapper;
 import cn.start.tz.module.pressure2.dal.mysql.bpmtaskinfo.BpmTaskInfoMapper;
 import cn.start.tz.module.pressure2.dal.mysql.dynamictb.DynamicTbMapper;
+import cn.start.tz.module.pressure2.dal.mysql.dynamictbfile.DynamicTbFileMapper;
 import cn.start.tz.module.pressure2.dal.mysql.equippipe.EquipPipeMapper;
 import cn.start.tz.module.pressure2.dal.mysql.equippipecheckhistory.EquipPipeCheckHistoryMapper;
 import cn.start.tz.module.pressure2.dal.mysql.equippipedetail.EquipPipeDetailMapper;
@@ -289,6 +291,9 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
     @Resource
     private DynamicTbMapper dynamicTbMapper;
 
+    @Resource
+    private DynamicTbFileMapper dynamicTbFileMapper;
+
     @Resource
     private DynamicTbInsService dynamicTbInsService;
 
@@ -3834,6 +3839,16 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
 
         taskOrderItemReportMapper.insert(addReport);
 
+        // 检验方案-通用方案(reportType=900):关联模板原件文件
+        if (dynamicTbDO.getTbType() != null && TaskOrderItemReportTypeEnum.INSPECTION_PLAN.getType().intValue() == dynamicTbDO.getTbType()
+                && dynamicTbDO.getReportType() != null && dynamicTbDO.getReportType() == 900) {
+            DynamicTbFileDO dynamicTbFileDO = dynamicTbFileMapper.selectById(dynamicTbDO.getId());
+            if (dynamicTbFileDO != null && StringUtils.isNotEmpty(dynamicTbFileDO.getFilePath())) {
+                addReport.setManualUrl(dynamicTbFileDO.getFilePath());
+                taskOrderItemReportMapper.updateById(addReport);
+            }
+        }
+
         //添加提交人
         PipeTaskOrderItemReportUserDO userDO = new PipeTaskOrderItemReportUserDO();
         userDO.setUserId(getLoginUserId());
@@ -5105,7 +5120,7 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
                 String manualUrl = reportDO.getReportType() == 600 ? reportDO.getManualUrl() : null;
                 bytes = PdfMergeUtils.buildInspectionPlanPdf(bytes, manualUrl, fileApi);
 
-                String fileUrl = fileApi.createFile(bytes);
+                String fileUrl = fileApi.createFile(reportDO.getId()+".pdf", null, bytes);
                 PipeTaskOrderItemReportDO updateItemReportDO = new PipeTaskOrderItemReportDO().setId(reportDO.getId()).setIssueUrl(fileUrl);
                 taskOrderItemReportMapper.updateById(updateItemReportDO);
             } catch (Exception e) {