xuzhancheng пре 1 недеља
родитељ
комит
a1bc7040dc

+ 1 - 1
tz-module-infra/tz-module-infra-biz/src/main/java/cn/start/tz/module/infra/framework/pay/config/PayConfig.java

@@ -38,7 +38,7 @@ public class PayConfig {
 
     public String getPayHost() {
         if (StrUtil.isBlank(payHost)) {
-            payHost = "apiplat-uat.gzsei.work";
+            payHost = "https://apiplat-uat.gzsei.work";
         }
         return payHost;
     }

+ 28 - 17
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/boilertaskorderitemreport/BoilerTaskOrderItemReportServiceImpl.java

@@ -2,6 +2,7 @@ package cn.start.tz.module.pressure2.service.boilertaskorderitemreport;
 
 import cn.hutool.core.util.ObjectUtil;
 import cn.start.tz.framework.common.exception.ErrorCode;
+import cn.start.tz.framework.common.pojo.CommonResult;
 import cn.start.tz.framework.common.util.QRCodeUtil;
 import cn.start.tz.framework.common.util.date.DateUtils;
 import cn.start.tz.framework.env.core.enums.EnvEnum;
@@ -482,10 +483,16 @@ public class BoilerTaskOrderItemReportServiceImpl extends ServiceImpl<BoilerTask
                 .map(comment -> {
                     BoilerTaskOrderItemReportRecordDO boilerTaskOrderItemReportRecordDO = new BoilerTaskOrderItemReportRecordDO();
                     boilerTaskOrderItemReportRecordDO.setReportId(boilerTaskOrderItemReportDO.getId());
-                    boilerTaskOrderItemReportRecordDO.setProcess(600);
+                    boilerTaskOrderItemReportRecordDO.setProcess(
+                            "审批人".equals(comment.getNodeName()) ? 700 : 600);
                     boilerTaskOrderItemReportRecordDO.setRemark(comment.getComment());
                     boilerTaskOrderItemReportRecordDO.setCreateTime(comment.getCreateDate());
-                    boilerTaskOrderItemReportRecordDO.setCreator(comment.getUserName());
+                    CommonResult<List<AdminUserRespDTO>> userListByNickname = adminUserApi.getUserListByNickname(comment.getUserName());
+                    if (!userListByNickname.isSuccess() || userListByNickname.getData().isEmpty()) {
+                        log.warn("addFlowRecord:未找到用户{}", comment.getUserName());
+                    }else {
+                        boilerTaskOrderItemReportRecordDO.setCreator(userListByNickname.getData().get(0).getId());
+                    }
 
                     if (comment.getComment().contains("【") && comment.getComment().contains("】")) {
                         String substring = comment.getComment().substring(comment.getComment().indexOf("【") + 1, comment.getComment().indexOf("】"));
@@ -508,7 +515,7 @@ public class BoilerTaskOrderItemReportServiceImpl extends ServiceImpl<BoilerTask
      * @param boilerTaskOrderItemReportDO 报告
      */
     public void updateReportStatus(BoilerTaskOrderItemReportDO boilerTaskOrderItemReportDO,ExternalOACommentRes commentRes) {
-        // 从OA评论中提取审核人和审批人信息
+        // 根据NODE_NAME区分审核人和审批人
         List<ExternalOACommentInfoRes> comments = commentRes != null && commentRes.getData() != null
                 ? commentRes.getData().getComments() : null;
         String approvalId = null;
@@ -519,19 +526,23 @@ public class BoilerTaskOrderItemReportServiceImpl extends ServiceImpl<BoilerTask
         LocalDateTime ratifyTime = null;
 
         if (comments != null && !comments.isEmpty()) {
-            // 拿到最近两个"【同意】"或"【已阅】"的评论,排除退回操作
-            List<ExternalOACommentInfoRes> approvalComments = comments.stream()
-                    .filter(comment -> comment.getComment() != null &&
-                            (comment.getComment().contains("【同意】") || comment.getComment().contains("【已阅】"))
-                            && !"common.toolbar.stepBack.label".equals(comment.getExtAtt3()))
-                    .sorted(Comparator.comparing(ExternalOACommentInfoRes::getCreateDate).reversed())
-                    .limit(2)
-                    .toList();
-
-            // 最近一条评论对应审核人(approval)
-            ExternalOACommentInfoRes approval = !approvalComments.isEmpty() ? approvalComments.get(0) : null;
-            // 第二条评论对应审批人(ratify)
-            ExternalOACommentInfoRes ratify = approvalComments.size() > 1 ? approvalComments.get(1) : null;
+            // NODE_NAME="审核人" → approval(审核人)
+            ExternalOACommentInfoRes approval = comments.stream()
+                    .filter(c -> c.getComment() != null
+                            && (c.getComment().contains("【同意】") || c.getComment().contains("【已阅】"))
+                            && !"common.toolbar.stepBack.label".equals(c.getExtAtt3())
+                            && "审核人".equals(c.getNodeName()))
+                    .max(Comparator.comparing(ExternalOACommentInfoRes::getCreateDate))
+                    .orElse(null);
+
+            // NODE_NAME="审批人" → ratify(审批人)
+            ExternalOACommentInfoRes ratify = comments.stream()
+                    .filter(c -> c.getComment() != null
+                            && (c.getComment().contains("【同意】") || c.getComment().contains("【已阅】"))
+                            && !"common.toolbar.stepBack.label".equals(c.getExtAtt3())
+                            && "审批人".equals(c.getNodeName()))
+                    .max(Comparator.comparing(ExternalOACommentInfoRes::getCreateDate))
+                    .orElse(null);
 
             if (approval != null) {
                 List<AdminUserRespDTO> userListByNickname = adminUserApi.getUserListByNickname(approval.getUserName()).getCheckedData();
@@ -838,7 +849,7 @@ public class BoilerTaskOrderItemReportServiceImpl extends ServiceImpl<BoilerTask
                 CompletableFuture.runAsync(() -> {
                     // 任务单办结
                     boilerTaskOrderDO.setTaskStatus(TaskOrderStatusEnum.REPORT_FINISH.getStatus());
-//                    pushTaskOrderService.pushFinanceSystem(boilerTaskOrderDO);
+                    pushTaskOrderService.pushFinanceSystem(boilerTaskOrderDO);
                 });
 
                 //生成任务单下所有设备报告

+ 1 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/externalOA/vo/ExternalOACommentInfoRes.java

@@ -10,6 +10,7 @@ public class ExternalOACommentInfoRes {
     private String userName;
     private String comment;
     private LocalDateTime createDate;
+    // 审核人/审批人
     @JSONField(name = "NODE_NAME")
     private String nodeName;
     @JSONField(name = "EXT_ATT3")

+ 47 - 35
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/pipetaskorderitemreport/PipeTaskOrderItemReportServiceImpl.java

@@ -267,10 +267,15 @@ public class PipeTaskOrderItemReportServiceImpl extends ServiceImpl<PipeTaskOrde
                 .map(comment -> {
                     PipeTaskOrderItemReportRecordDO pipeTaskOrderItemReportRecordDO = new PipeTaskOrderItemReportRecordDO();
                     pipeTaskOrderItemReportRecordDO.setReportId(pipeTaskOrderItemReportDO.getId());
-                    pipeTaskOrderItemReportRecordDO.setProcess(600);
+                    pipeTaskOrderItemReportRecordDO.setProcess(
+                            "审批人".equals(comment.getNodeName()) ? 700 : 600);
                     pipeTaskOrderItemReportRecordDO.setRemark(comment.getComment());
                     pipeTaskOrderItemReportRecordDO.setCreateTime(comment.getCreateDate());
-                    pipeTaskOrderItemReportRecordDO.setCreator(comment.getUserName());
+                    String userName = comment.getUserName();
+                    CommonResult<List<AdminUserRespDTO>> userListByNickname = adminUserApi.getUserListByNickname(userName);
+                    if (!userListByNickname.getCheckedData().isEmpty()) {
+                        pipeTaskOrderItemReportRecordDO.setCreator(userListByNickname.getCheckedData().get(0).getId());
+                    }
 
                     if (comment.getComment().contains("【") && comment.getComment().contains("】")) {
                         String substring = comment.getComment().substring(comment.getComment().indexOf("【") + 1, comment.getComment().indexOf("】"));
@@ -400,7 +405,7 @@ public class PipeTaskOrderItemReportServiceImpl extends ServiceImpl<PipeTaskOrde
      * @param comments                  OA 流程评论列表
      */
     public void updateReportStatus(PipeTaskOrderItemReportDO pipeTaskOrderItemReportDO, List<ExternalOACommentInfoRes> comments) {
-        // 从OA评论中提取最近两个"【同意】"或"【已阅】"的评论,分别作为审核人和审批人
+        // 根据NODE_NAME区分审核人和审批人
         String approvalId = null;
         String approvalName = null;
         LocalDateTime approvalTime = null;
@@ -408,41 +413,48 @@ public class PipeTaskOrderItemReportServiceImpl extends ServiceImpl<PipeTaskOrde
         String ratifyName = null;
         LocalDateTime ratifyTime = null;
 
-        List<ExternalOACommentInfoRes> approvalComments = comments.stream()
-                .filter(comment -> comment.getComment() != null &&
-                        (comment.getComment().contains("【同意】") || comment.getComment().contains("【已阅】"))
-                        && !"common.toolbar.stepBack.label".equals(comment.getExtAtt3()))
-                .sorted(Comparator.comparing(ExternalOACommentInfoRes::getCreateDate).reversed())
-                .limit(2)
-                .toList();
-
-        // 最近一条评论对应审核人(approval)
-        ExternalOACommentInfoRes approval = !approvalComments.isEmpty() ? approvalComments.get(0) : null;
-        // 第二条评论对应审批人(ratify)
-        ExternalOACommentInfoRes ratify = approvalComments.size() > 1 ? approvalComments.get(1) : null;
-
-        if (approval != null) {
-            List<AdminUserRespDTO> userListByNickname = adminUserApi.getUserListByNickname(approval.getUserName()).getCheckedData();
-            if (!userListByNickname.isEmpty()) {
-                AdminUserRespDTO approvalUser = userListByNickname.get(0);
-                approvalId = approvalUser.getId();
-                approvalName = approvalUser.getNickname();
-                approvalTime = approval.getCreateDate();
+        if (comments != null && !comments.isEmpty()) {
+            // NODE_NAME="审核人" → approval(审核人)
+            ExternalOACommentInfoRes approval = comments.stream()
+                    .filter(c -> c.getComment() != null
+                            && (c.getComment().contains("【同意】") || c.getComment().contains("【已阅】"))
+                            && !"common.toolbar.stepBack.label".equals(c.getExtAtt3())
+                            && "审核人".equals(c.getNodeName()))
+                    .max(Comparator.comparing(ExternalOACommentInfoRes::getCreateDate))
+                    .orElse(null);
+
+            // NODE_NAME="审批人" → ratify(审批人)
+            ExternalOACommentInfoRes ratify = comments.stream()
+                    .filter(c -> c.getComment() != null
+                            && (c.getComment().contains("【同意】") || c.getComment().contains("【已阅】"))
+                            && !"common.toolbar.stepBack.label".equals(c.getExtAtt3())
+                            && "审批人".equals(c.getNodeName()))
+                    .max(Comparator.comparing(ExternalOACommentInfoRes::getCreateDate))
+                    .orElse(null);
+
+            if (approval != null) {
+                List<AdminUserRespDTO> userListByNickname = adminUserApi.getUserListByNickname(approval.getUserName()).getCheckedData();
+                if (!userListByNickname.isEmpty()) {
+                    AdminUserRespDTO approvalUser = userListByNickname.get(0);
+                    approvalId = approvalUser.getId();
+                    approvalName = approvalUser.getNickname();
+                    approvalTime = approval.getCreateDate();
+                }
             }
-        }
 
-        if (ratify != null) {
-            List<AdminUserRespDTO> userListByNickname1 = adminUserApi.getUserListByNickname(ratify.getUserName()).getCheckedData();
-            if (!userListByNickname1.isEmpty()) {
-                AdminUserRespDTO ratifyUser = userListByNickname1.get(0);
-                ratifyId = ratifyUser.getId();
-                ratifyName = ratifyUser.getNickname();
-                ratifyTime = ratify.getCreateDate();
+            if (ratify != null) {
+                List<AdminUserRespDTO> userListByNickname1 = adminUserApi.getUserListByNickname(ratify.getUserName()).getCheckedData();
+                if (!userListByNickname1.isEmpty()) {
+                    AdminUserRespDTO ratifyUser = userListByNickname1.get(0);
+                    ratifyId = ratifyUser.getId();
+                    ratifyName = ratifyUser.getNickname();
+                    ratifyTime = ratify.getCreateDate();
+                }
             }
-        }
 
-        // 调用重载方法,传入从OA评论中提取的审核人和审批人信息
-        updateOrderItemRatifyFinish(pipeTaskOrderItemReportDO.getId(), approvalId, approvalName, approvalTime, ratifyId, ratifyName, ratifyTime);
+            // 调用重载方法,传入从OA评论中提取的审核人和审批人信息
+            updateOrderItemRatifyFinish(pipeTaskOrderItemReportDO.getId(), approvalId, approvalName, approvalTime, ratifyId, ratifyName, ratifyTime);
+        }
     }
 
     public void orderItemRollback(String id, ExternalOARes externalOARes) {
@@ -708,7 +720,7 @@ public class PipeTaskOrderItemReportServiceImpl extends ServiceImpl<PipeTaskOrde
                 CompletableFuture.runAsync(() -> {
                     // 任务单办结
                     pipeTaskOrderDO.setTaskStatus(TaskOrderStatusEnum.REPORT_FINISH.getStatus());
-//                    pushTaskOrderService.pushFinanceSystem(pipeTaskOrderDO);
+                    pushTaskOrderService.pushFinanceSystem(pipeTaskOrderDO);
                 });
 
                 //生成任务单下所有设备报告

+ 3 - 3
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/pushtaskorder/PushTaskOrderServiceImpl.java

@@ -242,8 +242,8 @@ public class PushTaskOrderServiceImpl implements PushTaskOrderService {
         TaskInfoDTO reqDTO = new TaskInfoDTO();
         reqDTO.setTaskno(taskOrderDO.getOrderNo());
 
-        // 定检要收服务费的,传14-2
-        reqDTO.setItemType("14-2");
+        //
+        reqDTO.setItemType("05");
         if (taskOrderDO.getCheckDate() != null) {
             reqDTO.setCheckDate(taskOrderDO.getCheckDate().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
         }
@@ -313,7 +313,7 @@ public class PushTaskOrderServiceImpl implements PushTaskOrderService {
         deptInfos.add(deptInfo);
         reqDTO.setDeptShareInfos(deptInfos);
         // 任务单推送到结算系统
-        if (taskOrderDO.getCheckType() != null && taskOrderDO.getCheckType() != 100 && reqDTO.getServiceFee() != null && reqDTO.getServiceFee().intValue() > 0) {
+        if (reqDTO.getServiceFee() != null && reqDTO.getServiceFee().intValue() > 0) {
             payApi.pushOrder(reqDTO);
             log.info("任务单推送到结算系统 {}", taskOrderDO.getOrderNo());
         }