瀏覽代碼

报告归档调整

xy 2 天之前
父節點
當前提交
9bacf64902

+ 18 - 0
tz-module-pressure2/tz-module-pressure2-api/src/main/java/cn/start/tz/module/pressure2/enums/TaskOrderItemReportTypeEnum.java

@@ -45,5 +45,23 @@ public enum TaskOrderItemReportTypeEnum {
         return null;
     }
 
+    /**
+     * 判断是否为特殊报告类型(意见通知书、检验方案、作业指导书)
+     *
+     * @param type 报告类型
+     * @return true-特殊报告类型, false-普通报告类型
+     */
+    public static boolean isSpecialReportType(Integer type) {
+        if (type == null) {
+            return false;
+        }
+        return type.equals(NOTICE_OF_OPINION.getType()) 
+                || type.equals(INSPECTION_PLAN.getType()) 
+                || type.equals(WORK_INSTRUCTION.getType())
+                || type.equals(NON_TAX.getType())
+                || type.equals(NOTIFICATION_FORM.getType())
+                || type.equals(MAJOR_CLUE.getType());
+    }
+
 
 }

+ 5 - 3
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/boilertaskorderissuereport/BoilerTaskOrderIssueReportServiceImpl.java

@@ -1063,8 +1063,8 @@ public class BoilerTaskOrderIssueReportServiceImpl extends ServiceImpl<BoilerTas
         }
 
         // 1. 初始化客户端
-//        String baseUrl = "http://192.168.18.223:8080/systemApi"; --本地可连
-        String baseUrl = "http://192.168.18.224:8082/systemApi";
+        String baseUrl = "http://192.168.18.223:8080/systemApi"; //本地可连
+//        String baseUrl = "http://192.168.18.224:8082/systemApi";
         String clientId = "949f818m64dbe517e360ec08f3ve2e83";
         String securityKey = "38bc73t9anf5hd60";
         JwApiClient apiClient = new JwApiClient(baseUrl, clientId, securityKey);
@@ -2370,7 +2370,9 @@ public class BoilerTaskOrderIssueReportServiceImpl extends ServiceImpl<BoilerTas
                     }
                     if (userMap != null) {
                         if (Integer.valueOf(100).equals(taskOrderItemReportDO.getReportType())) {
-                            inspectionItem.setCheckName(userMap.get(taskOrderItemDO.getMainChecker()).getNickname());
+                            if (userMap.get(taskOrderItemDO.getMainChecker()) != null){
+                                inspectionItem.setCheckName(userMap.get(taskOrderItemDO.getMainChecker()).getNickname());
+                            }
                         } else {
                             if (CollUtil.isNotEmpty(taskOrderItemReportUserDOS)) {
                                 List<BoilerTaskOrderItemReportUserDO> list1 = taskOrderItemReportUserDOS.stream().filter(x -> x.getReportId().equals(taskOrderItemReportDO.getId())).toList();

+ 47 - 17
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/pipetaskorderinput/PipeTaskOrderInputServiceImpl.java

@@ -1,6 +1,10 @@
 package cn.start.tz.module.pressure2.service.pipetaskorderinput;
 
+import cn.start.tz.framework.common.exception.ErrorCode;
+import cn.start.tz.module.pressure2.dal.dataobject.dynamictb.DynamicTbDO;
 import cn.start.tz.module.pressure2.dal.dataobject.dynamictbins.DynamicTbInsDO;
+import cn.start.tz.module.pressure2.dal.mysql.dynamictb.DynamicTbMapper;
+import cn.start.tz.module.pressure2.enums.TaskOrderItemReportTypeEnum;
 import cn.start.tz.module.pressure2.service.dynamictbins.DynamicTbInsService;
 import cn.start.tz.module.pressure2.service.pdf.PdfService;
 import jakarta.servlet.http.HttpServletResponse;
@@ -47,6 +51,10 @@ public class PipeTaskOrderInputServiceImpl extends ServiceImpl<PipeTaskOrderInpu
 
     @Resource
     private PdfService pdfService;
+
+    @Resource
+    private DynamicTbMapper dynamicTbMapper;
+
     @Resource
     private DynamicTbInsService dynamicTbInsService;
 
@@ -99,15 +107,24 @@ public class PipeTaskOrderInputServiceImpl extends ServiceImpl<PipeTaskOrderInpu
         PDFMergerUtility mergerUtility = new PDFMergerUtility();
         for (PipeTaskOrderInputPrintReqVO printReqVO : printReqVOS) {
             String templateId = printReqVO.getTemplateId();
-            String instanceId = null;
-            if (printReqVO.getTaskStatus() >= 520) {
-                templateId = printReqVO.getReportTemplateId();
-                instanceId = dynamicTbInsService.getDynamicRefId("report_" + printReqVO.getId()).getId();
-            } else {
-                instanceId = dynamicTbInsService.getDynamicRefId(printReqVO.getId()).getId();
+
+            DynamicTbDO dynamicTbDO = dynamicTbMapper.selectById(templateId);
+            if (dynamicTbDO != null){
+                String instanceId = null;
+                // 意见通知书、检验方案、作业指导书等特殊报告类型处理
+                if (TaskOrderItemReportTypeEnum.isSpecialReportType(dynamicTbDO.getReportType())) {
+                    instanceId = dynamicTbInsService.getDynamicRefId(printReqVO.getId()).getId();
+                }else{
+                    if (printReqVO.getTaskStatus() >= 520) {
+                        templateId = printReqVO.getReportTemplateId();
+                        instanceId = dynamicTbInsService.getDynamicRefId("report_" + printReqVO.getId()).getId();
+                    } else {
+                        instanceId = dynamicTbInsService.getDynamicRefId(printReqVO.getId()).getId();
+                    }
+                }
+                byte[] pdf = pdfService.pdf(templateId, instanceId);
+                mergerUtility.addSource(new ByteArrayInputStream(pdf));
             }
-            byte[] pdf = pdfService.pdf(templateId, instanceId);
-            mergerUtility.addSource(new ByteArrayInputStream(pdf));
         }
         mergerUtility.setDestinationStream(mergeOutputStream);
         mergerUtility.mergeDocuments(null);
@@ -137,16 +154,29 @@ public class PipeTaskOrderInputServiceImpl extends ServiceImpl<PipeTaskOrderInpu
             for (int i = 0; i < printReqVOS.size(); i++) {
                 PipeTaskOrderInputPrintReqVO printReqVO = printReqVOS.get(i);
                 String templateId = printReqVO.getTemplateId();
+
                 String instanceId = null;
-                DynamicTbInsDO dynamicRefId;
-                // 根据任务状态确定模板 ID 和实例 ID
-                if (printReqVO.getTaskStatus() >= 520) {
-                    templateId = printReqVO.getReportTemplateId();
-                    dynamicRefId = dynamicTbInsService.getDynamicRefId("report_" + printReqVO.getId());
-                    instanceId = dynamicRefId.getId();
-                } else {
-                    dynamicRefId = dynamicTbInsService.getDynamicRefId(printReqVO.getId());
-                    instanceId = dynamicRefId.getId();
+                DynamicTbInsDO dynamicRefId = new DynamicTbInsDO();
+                DynamicTbDO dynamicTbDO = dynamicTbMapper.selectById(templateId);
+                if (dynamicTbDO != null){
+                    // 意见通知书、检验方案、作业指导书等特殊报告类型处理
+                    if (TaskOrderItemReportTypeEnum.isSpecialReportType(dynamicTbDO.getReportType())) {
+                        dynamicRefId = dynamicTbInsService.getDynamicRefId(printReqVO.getId());
+                        instanceId = dynamicRefId.getId();
+                    }else{
+                        // 根据任务状态确定模板 ID 和实例 ID
+                        if (printReqVO.getTaskStatus() >= 520) {
+                            templateId = printReqVO.getReportTemplateId();
+                            dynamicRefId = dynamicTbInsService.getDynamicRefId("report_" + printReqVO.getId());
+                            instanceId = dynamicRefId.getId();
+                        } else {
+                            dynamicRefId = dynamicTbInsService.getDynamicRefId(printReqVO.getId());
+                            instanceId = dynamicRefId.getId();
+                        }
+                    }
+
+                }else{
+                    throw exception(new ErrorCode(500, "报表模板不存在"));
                 }
 
                 // 生成 PDF

+ 18 - 9
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/pipetaskorderissuereport/PipeTaskOrderIssueReportServiceImpl.java

@@ -739,8 +739,10 @@ public class PipeTaskOrderIssueReportServiceImpl extends ServiceImpl<PipeTaskOrd
                                 log.error("邮件发送间隔睡眠被中断", e);
                                 throw new RuntimeException(e);
                             }
-                            if (Objects.equals(env, "uat")) {
-//                                    this.issueReportPush(taskOrderItemDO.getId());
+                            if (EnvConstants.ENV_UAT.equals(env) || EnvConstants.ENV_PROD.equals(env)) {
+                                finalTaskOrderItemDOList.forEach(taskOrderItemDO -> {
+                                    this.issueReportPush(taskOrderItemDO.getId());
+                                });
                             }
                         } catch (Exception e) {
                             log.error("邮件发送失败", e);
@@ -825,7 +827,7 @@ public class PipeTaskOrderIssueReportServiceImpl extends ServiceImpl<PipeTaskOrd
                                 }
                             }
                             taskOrderItemMapper.updateById(updateOb);
-                            if (Objects.equals(env, "uat")) {
+                            if (EnvConstants.ENV_UAT.equals(env) || EnvConstants.ENV_PROD.equals(env)) {
                                 this.issueReportPush(taskOrderItemDO.getId());
                             }
                         }
@@ -1020,8 +1022,8 @@ public class PipeTaskOrderIssueReportServiceImpl extends ServiceImpl<PipeTaskOrd
         }
 
         // 1. 初始化客户端
-//        String baseUrl = "http://192.168.18.223:8080/systemApi"; --本地可连
-        String baseUrl = "http://192.168.18.224:8082/systemApi";
+        String baseUrl = "http://192.168.18.223:8080/systemApi"; //本地可连
+//        String baseUrl = "http://192.168.18.224:8082/systemApi";
         String clientId = "949f818m64dbe517e360ec08f3ve2e83";
         String securityKey = "38bc73t9anf5hd60";
         JwApiClient apiClient = new JwApiClient(baseUrl, clientId, securityKey);
@@ -1422,8 +1424,10 @@ public class PipeTaskOrderIssueReportServiceImpl extends ServiceImpl<PipeTaskOrd
                                     log.error("邮件发送间隔睡眠被中断", e);
                                     throw new RuntimeException(e);
                                 }
-                                if (Objects.equals(env, "uat")) {
-//                                    this.issueReportPush(taskOrderItemDO.getId());
+                                if (EnvConstants.ENV_UAT.equals(env) || EnvConstants.ENV_PROD.equals(env)) {
+                                    finalTaskOrderItemDOList.forEach(taskOrderItemDO -> {
+                                        this.issueReportPush(taskOrderItemDO.getId());
+                                    });
                                 }
                             } catch (Exception e) {
                                 log.error("邮件发送失败", e);
@@ -1510,7 +1514,7 @@ public class PipeTaskOrderIssueReportServiceImpl extends ServiceImpl<PipeTaskOrd
                                     }
                                 }
                                 taskOrderItemMapper.updateById(updateOb);
-                                if (Objects.equals(env, "uat")) {
+                                if (EnvConstants.ENV_UAT.equals(env) || EnvConstants.ENV_PROD.equals(env)) {
                                     this.issueReportPush(taskOrderItemDO.getId());
                                 }
                             }
@@ -2300,6 +2304,9 @@ public class PipeTaskOrderIssueReportServiceImpl extends ServiceImpl<PipeTaskOrd
                 if (StringUtils.isNotEmpty(taskOrderItemDO.getMainChecker())) {
                     userIds.add(taskOrderItemDO.getMainChecker());
                 }
+                if (StringUtils.isNotEmpty(taskOrderDO.getManagerId())) {
+                    userIds.add(taskOrderDO.getManagerId());
+                }
                 //设置检验员
                 if (CollUtil.isNotEmpty(taskOrderItemReportUserDOS)) {
                     userIds.addAll(taskOrderItemReportUserDOS.stream().map(PipeTaskOrderItemReportUserDO::getUserId).toList());
@@ -2358,7 +2365,9 @@ public class PipeTaskOrderIssueReportServiceImpl extends ServiceImpl<PipeTaskOrd
                     }
                     if (userMap != null) {
                         if (Integer.valueOf(100).equals(taskOrderItemReportDO.getReportType())) {
-                            inspectionItem.setCheckName(userMap.get(taskOrderItemDO.getMainChecker()).getNickname());
+                            if (userMap.get(taskOrderDO.getManagerId()) != null){
+                                inspectionItem.setCheckName(userMap.get(taskOrderDO.getManagerId()).getNickname());
+                            }
                         } else {
                             if (CollUtil.isNotEmpty(taskOrderItemReportUserDOS)) {
                                 List<PipeTaskOrderItemReportUserDO> list1 = taskOrderItemReportUserDOS.stream().filter(x -> x.getReportId().equals(taskOrderItemReportDO.getId())).toList();