Browse Source

问题调整

xy 1 tháng trước cách đây
mục cha
commit
72cf232f86

+ 4 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/boilertaskorder/vo/BoilerTaskOrderItemDetailVO.java

@@ -81,4 +81,8 @@ public class BoilerTaskOrderItemDetailVO {
 
     @Schema(description = "设备类型")
     private String  type;
+
+    @Schema(description = "设备类型名称")
+    private String  typeName;
+
 }

+ 3 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/pipetaskorder/vo/PipeTaskOrderItemDetailVO.java

@@ -76,6 +76,9 @@ public class PipeTaskOrderItemDetailVO {
     @Schema(description = "管道类别")
     private String pipeCategory;
 
+    @Schema(description = "管道类别")
+    private String pipeCategoryName;
+
     @Schema(description = "管线")
     private List<PipeOrderItemProjectVO> detailDOS;
 }

+ 3 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/dal/mysql/boilertaskorderreport/BoilerTaskOrderReportMapper.java

@@ -150,6 +150,9 @@ public interface BoilerTaskOrderReportMapper extends BaseMapperX<BoilerTaskOrder
         // 过滤作废的单
         recordDOMPJLambdaWrapper.ne(BoilerTaskOrderReportDO::getStatus, BpmTaskStatusEnum.CANCEL.getStatus());
 
+        // 过滤已通过的检验方案
+        recordDOMPJLambdaWrapper.ne(BoilerTaskOrderReportDO::getStatus, BpmTaskStatusEnum.APPROVE.getStatus());
+
         return selectJoinPage(reqVO,BoilerMajorIssuesPageRespVO.class, recordDOMPJLambdaWrapper);
     }
 

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

@@ -601,6 +601,16 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
                     .map(Area::getName).orElse(""));
             item.setEquipStreetName(Optional.ofNullable(AreaUtils.getArea(item.getEquipStreet()))
                     .map(Area::getName).orElse(""));
+            //设置检验类型名称
+            List<DictDataRespDTO> boilerTypes = dictDataApi.getDictDataList("system_equip_boiler_type").getCheckedData();
+            if (!boilerTypes.isEmpty() && item.getType() != null) {
+                String typeName = boilerTypes.stream()
+                        .filter(dict -> dict.getValue().equals(item.getType()))
+                        .map(DictDataRespDTO::getLabel)
+                        .findFirst()
+                        .orElse("");
+                item.setTypeName(typeName);
+            }
             if (CollUtil.isNotEmpty(listMap)) {
                 item.setReportRespVOList(BeanUtils.toBean(listMap.get(item.getMainID()), BoilerTaskOrderItemReportRespVO.class));
             }
@@ -3187,7 +3197,6 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
             AdminUserRespDTO manager = adminUserApi.getUser(orderRespVO.getManagerId()).getData();
             orderRespVO.setManager(manager);
         }
-        orderItemDetailVO.setTaskOrder(orderRespVO);
 
         // 收集所有需要查询的用户ID,减少对外部接口的调用
         Set<String> allUserIds = new HashSet<>();
@@ -3232,6 +3241,14 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
                 new ArrayList<>();
         allUserIds.addAll(auditorIds);
 
+        // 获取任务单用户列表
+        List<BoilerTaskOrderUserDO> taskOrderUserDOList = boilerTaskOrderUserMapper.selectList(BoilerTaskOrderUserDO::getOrderId, taskOrderDO.getId());
+        // 获取团队id集合
+        Set<String> groupSet = taskOrderUserDOList.stream().map(BoilerTaskOrderUserDO::getGroupTeamId).collect(Collectors.toSet());
+        // 获取用户id列表
+        List<String> orderUserIds = new ArrayList<>(taskOrderUserDOList.stream().map(BoilerTaskOrderUserDO::getUserId).toList());
+        allUserIds.addAll(orderUserIds);
+
         // 一次性获取所有用户信息
         Map<String, AdminUserRespDTO> userMap;
         if (!allUserIds.isEmpty()) {
@@ -3245,6 +3262,39 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
             userMap = new HashMap<>();
         }
 
+        //设置任务单的检验人员组
+        // 获取团队列表
+        List<TeamItemVO> teamList = groupSet.stream().map(groupTeamId ->
+                {
+                    TeamItemVO taskDetailsItemVO = new TeamItemVO();
+                    List<AdminUserRespDTO> leaderList = new ArrayList<>();
+                    List<AdminUserRespDTO> membetList = new ArrayList<>();
+
+                    // 设置团队id
+                    taskOrderUserDOList.forEach(item2 -> {
+                        if (groupTeamId != null && groupTeamId.equals(item2.getGroupTeamId())) {
+                            // 设置团队领导
+                            if (item2.getType() == 100) {
+                                leaderList.add(userMap.get(item2.getUserId()));
+                                // 设置团队成员
+                            } else if (item2.getType() == 200) {
+                                membetList.add(userMap.get(item2.getUserId()));
+                            }
+                        }
+                    });
+                    // 设置团队信息
+                    if (groupTeamId != null) {
+                        taskDetailsItemVO.setGroupTeamId(groupTeamId);
+                        taskDetailsItemVO.setLeaders(leaderList);
+                        taskDetailsItemVO.setMembers(membetList);
+                    }
+                    return taskDetailsItemVO;
+                }
+        ).toList();
+        // 设置团队列表
+        orderRespVO.setTeamItemList(teamList);
+        orderItemDetailVO.setTaskOrder(orderRespVO);
+
         // 设置订单项的检验人员
         List<AdminUserRespDTO> checkUsers;
         if (taskOrderItemUserDOS != null && !itemUserIds.isEmpty()) {

+ 14 - 4
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/dynamicOFData/pipe/QC12024_202403JRecordOFData.java

@@ -31,6 +31,9 @@ import org.springframework.stereotype.Service;
 
 import java.time.format.DateTimeFormatter;
 import java.util.List;
+import java.util.Objects;
+import java.util.Set;
+import java.util.stream.Collectors;
 
 /**
  * 压力管道定期检验结论报告
@@ -122,7 +125,7 @@ public class QC12024_202403JRecordOFData implements IDynamicOFData {
                         result.put("unitName", equipPipeDO.getUnitName());
                     }
                     result.put("unitAddress", "见一览表");
-                    result.put("pipeClass", "见一览表");
+                    result.put("pipeLevel", "见一览表");
                     result.put("projectNo", "见一览表");
                     result.put("projectName", "见一览表");
                     result.put("pipeName", "见一览表");
@@ -160,17 +163,24 @@ public class QC12024_202403JRecordOFData implements IDynamicOFData {
                         }
 
 
-                        if (equipPipeDetailDOList.size() > 0) {
+                        if (!equipPipeDetailDOList.isEmpty()) {
                             if (equipPipeDetailDOList.get(0).getDesignLifeYears() != null){
                                 result.put("designLifeYears", String.valueOf(equipPipeDetailDOList.get(0).getDesignLifeYears()));
                             }
 //                            if (equipPipeDetailDOList.get(0).getCommissioningDate() != null){
 //                                result.put("commissioningDate", String.valueOf(equipPipeDetailDOList.get(0).getCommissioningDate().format(dateFormat)));
 //                            }
+                            // 判断pipeLevel是否相同
+                            String pipeLevelValue;
+                            Set<String> pipeLevels = equipPipeDetailDOList.stream()
+                                    .map(EquipPipeDetailDO::getPipeLevel)
+                                    .filter(Objects::nonNull)
+                                    .collect(Collectors.toSet());
+                            // 如果只有一个唯一的pipeLevel值,则使用该值;否则设置为"见一览表"
+                            pipeLevelValue = pipeLevels.size() == 1 ? pipeLevels.iterator().next() : "见一览表";
+                            result.put("pipeLevel", pipeLevelValue);
                         }
 
-
-
 //                        DictDataRespDTO dictDataRespDTO = dictDataApi.getDictData("PIPE_TYPE", equipPipeDO.getPipeCategory()).getData();
 //                        if (dictDataRespDTO != null) {
 //                            result.put("pipeCategory", dictDataRespDTO.getLabel());

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

@@ -142,6 +142,8 @@ import cn.start.tz.module.pressure2.util.JsonDiffTool;
 import cn.start.tz.module.system.api.clientunit.ClientUnitApi;
 import cn.start.tz.module.system.api.dept.DeptApi;
 import cn.start.tz.module.system.api.dept.dto.DeptRespDTO;
+import cn.start.tz.module.system.api.dict.DictDataApi;
+import cn.start.tz.module.system.api.dict.dto.DictDataRespDTO;
 import cn.start.tz.module.system.api.orgcontact.OrgContactApi;
 import cn.start.tz.module.system.api.orgcontact.dto.OrgContactDTO;
 import cn.start.tz.module.system.api.user.AdminUserApi;
@@ -232,6 +234,9 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
     @Resource
     private ClientUnitApi clientUnitApi;
 
+    @Resource
+    private DictDataApi dictDataApi;
+
     @Resource
     private DynamicTbMapper dynamicTbMapper;
 
@@ -508,6 +513,16 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
                     .map(Area::getName).orElse(""));
             item.setEquipStreetName(Optional.ofNullable(AreaUtils.getArea(item.getEquipStreet()))
                     .map(Area::getName).orElse(""));
+            //设置检验类型名称
+            List<DictDataRespDTO> boilerTypes = dictDataApi.getDictDataList("PIPE_TYPE").getCheckedData();
+            if (!boilerTypes.isEmpty() && item.getPipeCategory() != null) {
+                String typeName = boilerTypes.stream()
+                        .filter(dict -> dict.getValue().equals(item.getPipeCategory()))
+                        .map(DictDataRespDTO::getLabel)
+                        .findFirst()
+                        .orElse("");
+                item.setPipeCategoryName(typeName);
+            }
             item.setReportRespVOList(BeanUtils.toBean(itemReportDOList,PipeTaskOrderItemReportRespVO.class));
         });
 
@@ -2436,7 +2451,7 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
             AdminUserRespDTO manager = adminUserApi.getUser(orderRespVO.getManagerId()).getData();
             orderRespVO.setManager(manager);
         }
-        orderItemDetailVO.setTaskOrder(orderRespVO);
+//        orderItemDetailVO.setTaskOrder(orderRespVO);
 
         // 收集所有需要查询的用户ID,减少对外部接口的调用
         Set<String> allUserIds = new HashSet<>();
@@ -2485,6 +2500,14 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
                 new ArrayList<>();
         allUserIds.addAll(auditorIds);
 
+        // 获取任务单用户列表
+        List<PipeTaskOrderUserDO> taskOrderUserDOList = pipeTaskOrderUserMapper.selectList(PipeTaskOrderUserDO::getOrderId, taskOrderDO.getId());
+        // 获取团队id集合
+        Set<String> groupSet = taskOrderUserDOList.stream().map(PipeTaskOrderUserDO::getGroupTeamId).collect(Collectors.toSet());
+        // 获取用户id列表
+        List<String> orderUserIds = new ArrayList<>(taskOrderUserDOList.stream().map(PipeTaskOrderUserDO::getUserId).toList());
+        allUserIds.addAll(orderUserIds);
+
         // 一次性获取所有用户信息
         Map<String, AdminUserRespDTO> userMap;
         if (!allUserIds.isEmpty()) {
@@ -2498,6 +2521,39 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
             userMap = new HashMap<>();
         }
 
+        //设置任务单的检验人员组
+        // 获取团队列表
+        List<TeamItemVO> teamList = groupSet.stream().map(groupTeamId ->
+                {
+                    TeamItemVO taskDetailsItemVO = new TeamItemVO();
+                    List<AdminUserRespDTO> leaderList = new ArrayList<>();
+                    List<AdminUserRespDTO> membetList = new ArrayList<>();
+
+                    // 设置团队id
+                    taskOrderUserDOList.forEach(item2 -> {
+                        if (groupTeamId != null && groupTeamId.equals(item2.getGroupTeamId())) {
+                            // 设置团队领导
+                            if (item2.getType() == 100) {
+                                leaderList.add(userMap.get(item2.getUserId()));
+                                // 设置团队成员
+                            } else if (item2.getType() == 200) {
+                                membetList.add(userMap.get(item2.getUserId()));
+                            }
+                        }
+                    });
+                    // 设置团队信息
+                    if (groupTeamId != null) {
+                        taskDetailsItemVO.setGroupTeamId(groupTeamId);
+                        taskDetailsItemVO.setLeaders(leaderList);
+                        taskDetailsItemVO.setMembers(membetList);
+                    }
+                    return taskDetailsItemVO;
+                }
+        ).toList();
+        // 设置团队列表
+        orderRespVO.setTeamItemList(teamList);
+        orderItemDetailVO.setTaskOrder(orderRespVO);
+
         // 设置订单项的检验人员
         List<AdminUserRespDTO> checkUsers;
         if (taskOrderItemUserDOS != null && !itemUserIds.isEmpty()) {
@@ -2950,7 +3006,14 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
         PipeTaskOrderItemReportDO addReport = new PipeTaskOrderItemReportDO();
         addReport.setOrderId(orderId);
         addReport.setTemplateId(dynamicTbDO.getId());
-        addReport.setReportName(dynamicTbDO.getTbName());
+        //检验方案名称
+        if (dynamicTbDO.getTbType() != null && TaskOrderItemReportTypeEnum.INSPECTION_PLAN.getType().intValue() == dynamicTbDO.getTbType()) {
+            if (StringUtils.isNotEmpty(taskOrderMajorIssuesVO.getReportName())) {
+                addReport.setReportName(taskOrderMajorIssuesVO.getReportName());
+            }
+        }else{
+            addReport.setReportName(dynamicTbDO.getTbName());
+        }
         addReport.setTaskStatus(TaskOrderStatusEnum.CONFIRM.getStatus());
 
         addReport.setReportType(dynamicTbDO.getTbType());