فهرست منبع

管道报表签名改成姓名

xy 1 روز پیش
والد
کامیت
435dfe5428

+ 13 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/dynamicOFData/pipe/QC12016_202400ReportOFData.java

@@ -11,6 +11,7 @@ import cn.start.tz.module.pressure2.dal.dataobject.pipetaskorderinput.PipeTaskOr
 import cn.start.tz.module.pressure2.dal.dataobject.pipetaskorderitem.PipeTaskOrderItemDO;
 import cn.start.tz.module.pressure2.dal.dataobject.pipetaskorderitemdetail.PipeTaskOrderItemDetailDO;
 import cn.start.tz.module.pressure2.dal.dataobject.pipetaskorderitemreport.PipeTaskOrderItemReportDO;
+import cn.start.tz.module.pressure2.dal.dataobject.pipetaskorderuser.PipeTaskOrderUserDO;
 import cn.start.tz.module.pressure2.dal.mysql.equippipe.EquipPipeMapper;
 import cn.start.tz.module.pressure2.dal.mysql.equippipedetail.EquipPipeDetailMapper;
 import cn.start.tz.module.pressure2.dal.mysql.pipetaskorder.PipeTaskOrderMapper;
@@ -18,9 +19,11 @@ import cn.start.tz.module.pressure2.dal.mysql.pipetaskorderinput.PipeTaskOrderIn
 import cn.start.tz.module.pressure2.dal.mysql.pipetaskorderitem.PipeTaskOrderItemMapper;
 import cn.start.tz.module.pressure2.dal.mysql.pipetaskorderitemdetail.PipeTaskOrderItemDetailMapper;
 import cn.start.tz.module.pressure2.dal.mysql.pipetaskorderitemreport.PipeTaskOrderItemReportMapper;
+import cn.start.tz.module.pressure2.dal.mysql.pipetaskorderuser.PipeTaskOrderUserMapper;
 import cn.start.tz.module.pressure2.service.dynamicOFData.IDynamicOFData;
 import cn.start.tz.module.pressure2.service.dynamicOFData.util.AutoDataPipeService;
 import cn.start.tz.module.pressure2.service.dynamicOFData.util.GenerateReportJsonService;
+import cn.start.tz.module.pressure2.service.dynamicOFData.util.InspectorInfoPipeUtil;
 import cn.start.tz.module.pressure2.service.dynamictbcol.DynamicTbColService;
 import cn.start.tz.module.pressure2.service.dynamictbval.DynamicTbValService;
 import cn.start.tz.module.pressure2.service.pipetaskorderinput.PipeTaskOrderInputService;
@@ -64,6 +67,9 @@ public class QC12016_202400ReportOFData implements IDynamicOFData {
     @Resource
     private PipeTaskOrderInputService pipeTaskOrderInputService;
 
+    @Resource
+    private PipeTaskOrderUserMapper pipeTaskOrderUserMapper;
+
     @Resource
     private DynamicTbValService dynamicTbValService;
 
@@ -180,6 +186,13 @@ public class QC12016_202400ReportOFData implements IDynamicOFData {
                     checkDateStr += " 至 " + orderInputDO.getEndCheckDate().format(dateFormat);
                 }
                 result.put("checkDateEnd",checkDateStr);
+
+                if (taskOrderDO.getManagerId() != null){
+                    //检验员信息
+                    List<PipeTaskOrderUserDO> checkUserList = pipeTaskOrderUserMapper.selectList(PipeTaskOrderUserDO::getOrderId,itemReportDO.getOrderId());
+                    InspectorInfoPipeUtil.fillInspectorNames(result, checkUserList, taskOrderDO.getManagerId(), adminUserApi);
+                }
+
             }
 
         }

+ 1 - 1
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/dynamicOFData/pipe/QC12016_202401ReportOFData.java

@@ -211,7 +211,7 @@ public class QC12016_202401ReportOFData implements IDynamicOFData {
                 if (taskOrderDO.getManagerId() != null){
                     //检验员信息
                     List<PipeTaskOrderUserDO> checkUserList = pipeTaskOrderUserMapper.selectList(PipeTaskOrderUserDO::getOrderId,itemReportDO.getOrderId());
-                    InspectorInfoPipeUtil.fillInspectorSignatures(result, checkUserList, taskOrderDO.getManagerId(), adminUserApi);
+                    InspectorInfoPipeUtil.fillInspectorNames(result, checkUserList, taskOrderDO.getManagerId(), adminUserApi);
                 }
 
             }

+ 1 - 1
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/dynamicOFData/pipe/QC12024_202403ReportOFData.java

@@ -270,7 +270,7 @@ public class QC12024_202403ReportOFData implements IDynamicOFData {
 
                 //检验员信息
                 List<PipeTaskOrderUserDO> checkUserList = pipeTaskOrderUserMapper.selectList(PipeTaskOrderUserDO::getOrderId,itemReportDO.getOrderId());
-                InspectorInfoPipeUtil.fillInspectorSignatures(result, checkUserList, taskOrderDO.getManagerId(), adminUserApi);
+                InspectorInfoPipeUtil.fillInspectorNames(result, checkUserList, taskOrderDO.getManagerId(), adminUserApi);
 
             }
 

+ 59 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/dynamicOFData/util/InspectorInfoPipeUtil.java

@@ -8,6 +8,7 @@ import com.alibaba.fastjson2.JSONObject;
 
 import java.util.List;
 import java.util.concurrent.atomic.AtomicInteger;
+import java.util.stream.Collectors;
 
 /**
  * 检验员信息处理工具类 -- 管道
@@ -97,4 +98,62 @@ public class InspectorInfoPipeUtil {
                                                AdminUserApi adminUserApi) {
         fillInspectorSignatures(result, checkUserList, mainCheckerId, adminUserApi, 7);
     }
+
+
+    /**
+     * 填充检验员签名信息到结果对象中
+     *
+     * @param result 结果JSONObject
+     * @param checkUserList 检验员用户列表
+     * @param mainCheckerId 主检验员ID
+     * @param adminUserApi 用户API
+     */
+    public static void fillInspectorNames(JSONObject result,
+                                          List<PipeTaskOrderUserDO> checkUserList,
+                                          String mainCheckerId,
+                                          AdminUserApi adminUserApi) {
+        if (checkUserList == null || checkUserList.isEmpty() || adminUserApi == null) {
+            return;
+        }
+
+        // 如果mainChecker不为空且不在checkUserList中,则添加
+        if (mainCheckerId != null) {
+            boolean hasMainChecker = checkUserList.stream()
+                    .anyMatch(user -> mainCheckerId.equals(user.getUserId()));
+            if (!hasMainChecker) {
+                PipeTaskOrderUserDO mainCheckerUser = new PipeTaskOrderUserDO();
+                mainCheckerUser.setUserId(mainCheckerId);
+                checkUserList.add(mainCheckerUser);
+            }
+        }
+
+        // 获取用户信息
+        List<String> userIds = checkUserList.stream()
+                .map(PipeTaskOrderUserDO::getUserId)
+                .toList();
+
+        List<AdminUserRespDTO> userList = adminUserApi.getUserList(userIds).getData();
+
+        if (userList == null || userList.isEmpty()) {
+            return;
+        }
+
+        // 将mainChecker对应的用户排在第一个
+        if (mainCheckerId != null) {
+            userList.sort((u1, u2) -> {
+                if (mainCheckerId.equals(u1.getId())) {
+                    return -1;
+                } else if (mainCheckerId.equals(u2.getId())) {
+                    return 1;
+                }
+                return 0;
+            });
+        }
+
+        // 填充名字信息
+        result.put("checkName_1", userList.stream().map(AdminUserRespDTO::getNickname).collect(Collectors.joining(" ")));
+
+    }
+
+
 }