Forráskód Böngészése

检验方案修改审批人&问题调整

xy 3 hete
szülő
commit
4118f73b8e
10 módosított fájl, 184 hozzáadás és 86 törlés
  1. 17 17
      tz-module-bpm/tz-module-bpm-biz/src/main/java/cn/start/tz/module/bpm/service/task/BpmTaskServiceImpl.java
  2. 5 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/boilertaskorder/vo/BoilerMajorIssuesPageRespVO.java
  3. 3 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/boilertaskorder/vo/TaskOrderAuditVO.java
  4. 30 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/dal/dataobject/boilertaskorderreport/BoilerTaskOrderReportDO.java
  5. 6 1
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/dal/mysql/boilertaskorderitemreport/BoilerTaskOrderItemReportMapper.java
  6. 12 2
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/boilertaskorder/BoilerTaskOrderServiceImpl.java
  7. 87 35
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/dynamicOFData/comm/QC01001_202400OFData.java
  8. 12 31
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/pipetaskorder/PipeTaskOrderServiceImpl.java
  9. 6 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/resources/mapper/boilertaskorder/BoilerTaskOrderMapper.xml
  10. 6 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/resources/mapper/pipetaskorder/PipeTaskOrderMapper.xml

+ 17 - 17
tz-module-bpm/tz-module-bpm-biz/src/main/java/cn/start/tz/module/bpm/service/task/BpmTaskServiceImpl.java

@@ -1443,22 +1443,22 @@ public class BpmTaskServiceImpl implements BpmTaskService {
 
     @Override
     public void updateTaskCandidates(BpmTaskApproveDTO reqVO) {
-//        // 查询第二个节点的任务
-//        List<Task> secondTasks = taskService.createTaskQuery()
-//                .processInstanceId(reqVO.getProcessInstanceId())
-//                .taskDefinitionKey(reqVO.getTaskDefinitionKey())
-//                .active()
-//                .list();
-//
-//        if (CollUtil.isNotEmpty(secondTasks)) {
-//            for (Task secondTask : secondTasks) {
-//                // 直接设置任务的办理人(assignee)
-//                if (StringUtils.isNotEmpty(reqVO.getNewAssigneeIds())) {
-//                    String newAssignee = reqVO.getNewAssigneeIds();
-//                    taskService.setAssignee(secondTask.getId(), newAssignee);
-//                    log.info("已将任务 {} 的办理人设置为: {}", secondTask.getId(), newAssignee);
-//                }
-//            }
-//        }
+        // 查询第二个节点的任务
+        List<Task> secondTasks = taskService.createTaskQuery()
+                .processInstanceId(reqVO.getProcessInstanceId())
+                .taskDefinitionKey(reqVO.getTaskDefinitionKey())
+                .active()
+                .list();
+
+        if (CollUtil.isNotEmpty(secondTasks)) {
+            for (Task secondTask : secondTasks) {
+                // 直接设置任务的办理人(assignee)
+                if (StringUtils.isNotEmpty(reqVO.getRatifyId())) {
+                    String newAssignee = reqVO.getRatifyId();
+                    taskService.setAssignee(secondTask.getId(), newAssignee);
+                    log.info("已将任务 {} 的办理人设置为: {}", secondTask.getId(), newAssignee);
+                }
+            }
+        }
     }
 }

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

@@ -50,6 +50,9 @@ public class BoilerMajorIssuesPageRespVO {
     @Schema(description = "提交人")
     private AdminUserRespDTO submitUser;
 
+    @Schema(description = "批准人")
+    private AdminUserRespDTO ratifyUser;
+
     private String submitId;
 
     private String creator;
@@ -106,4 +109,6 @@ public class BoilerMajorIssuesPageRespVO {
     private String manualUrl;
 
     private String approvalId;
+
+    private String ratifyId;
 }

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

@@ -21,4 +21,7 @@ public class TaskOrderAuditVO {
     @Schema(description = "批量提交id列表")
     private List<String> reportIds;
 
+    @Schema(description = "审核人id")
+    private String ratifyId;
+
 }

+ 30 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/dal/dataobject/boilertaskorderreport/BoilerTaskOrderReportDO.java

@@ -287,4 +287,34 @@ public class BoilerTaskOrderReportDO extends BaseDO {
      */
     private String orderItemIdsStr;
 
+    /**
+     * 第二节点流程实例
+     */
+    private String processInstanceSecondId;
+
+    /**
+     * 第二节点流程实例审核状态
+     */
+    private Integer secondStatus;
+
+    /**
+     * 流程实例提交人
+     */
+    private String secondSubmitId;
+
+    /**
+     * 流程实例提交时间
+     */
+    private LocalDateTime secondSubmitTime;
+
+    /**
+     * 批准节点备注
+     */
+    private String secondRemark;
+
+    /**
+     * 批准节点回退原因
+     */
+    private String secondReturnReason;
+
 }

+ 6 - 1
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/dal/mysql/boilertaskorderitemreport/BoilerTaskOrderItemReportMapper.java

@@ -13,6 +13,8 @@ import cn.start.tz.module.pressure2.controller.admin.boilertaskorder.vo.BoilerMa
 import cn.start.tz.module.pressure2.dal.dataobject.boilertaskorder.BoilerTaskOrderDO;
 import cn.start.tz.module.pressure2.dal.dataobject.boilertaskorderitem.BoilerTaskOrderItemDO;
 import cn.start.tz.module.pressure2.dal.dataobject.boilertaskorderitemreport.BoilerTaskOrderItemReportDO;
+import cn.start.tz.module.pressure2.dal.dataobject.boilertaskorderreport.BoilerTaskOrderReportDO;
+import cn.start.tz.module.pressure2.dal.dataobject.dynamictb.DynamicTbDO;
 import jodd.util.StringUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.ibatis.annotations.Mapper;
@@ -124,9 +126,12 @@ public interface BoilerTaskOrderItemReportMapper extends BaseMapperX<BoilerTaskO
                 .selectAs(BoilerTaskOrderDO::getOrderNo, BoilerMajorIssuesPageRespVO::getOrderNo)
                 .selectAs(BoilerTaskOrderDO::getCheckDate, BoilerMajorIssuesPageRespVO::getCheckDate)
                 .selectAs(BoilerTaskOrderItemDO::getEquipCode, BoilerMajorIssuesPageRespVO::getEquipCode)
+                .selectAs(DynamicTbDO::getPjType, BoilerMajorIssuesPageRespVO::getPjType)
+                .selectAs(DynamicTbDO::getReportType, BoilerMajorIssuesPageRespVO::getTbType)
                 .isNotNull(BoilerTaskOrderItemDO::getEquipCode)
                 .leftJoin(BoilerTaskOrderDO.class,BoilerTaskOrderDO::getId, BoilerTaskOrderItemReportDO::getOrderId)
-                .leftJoin(BoilerTaskOrderItemDO.class,BoilerTaskOrderItemDO::getId, BoilerTaskOrderItemReportDO::getOrderItemId).
+                .leftJoin(BoilerTaskOrderItemDO.class,BoilerTaskOrderItemDO::getId, BoilerTaskOrderItemReportDO::getOrderItemId)
+                .leftJoin(DynamicTbDO.class,DynamicTbDO::getId, BoilerTaskOrderReportDO::getTemplateId).
                 groupBy(BoilerTaskOrderItemReportDO::getId).
                 orderByDesc(BoilerTaskOrderItemReportDO::getSubmitTime);
 

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

@@ -1572,6 +1572,15 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
                 if (approve.getCode() != 0) {
                     throw new ServiceException(902, approve.getMsg());
                 }
+
+                if (StringUtils.isNotBlank(reqVO.getRatifyId())) {
+                    BpmTaskApproveDTO updateReqVO = new BpmTaskApproveDTO();
+                    updateReqVO.setProcessInstanceId(itemReportDO.getProcessInstanceId());
+                    updateReqVO.setTaskDefinitionKey("Activity_06zdbp5");
+                    updateReqVO.setRatifyId(reqVO.getRatifyId());
+                    bpmTaskApi.updateTaskCandidates(updateReqVO);
+                }
+
                 if (StringUtils.isBlank(itemReportDO.getApprovalId())) {
                     BoilerTaskOrderReportDO updateReport = new BoilerTaskOrderReportDO();
                     updateReport.setId(id);
@@ -2594,6 +2603,7 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
 //                    item.setCurrentAuditor(userMap.get(item.getApprovalId()));
 //                }
                 item.setCurrentAuditor(userMap.get(item.getApprovalId()));
+                item.setRatifyUser(userMap.get(item.getRatifyId()));
                 item.setOrderItemIds(dataMap.get(item.getId()));
             });
 
@@ -3899,8 +3909,8 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
             //审核
             startUserSelectAssignees.put("Activity_0zo8k1t", majorIssuesSubmitVO.getAuditUserIds());
             if (itemReportDO.getReportType() == 600) {
-                //审批
-                startUserSelectAssignees.put("Activity_06zdbp5", majorIssuesSubmitVO.getApproveUserIds());
+                //审批先默认审核员,审核通过后修改
+                startUserSelectAssignees.put("Activity_06zdbp5", majorIssuesSubmitVO.getAuditUserIds());
             }
 
             String processInstanceId = bpmProcessInstanceApi.createProcessInstance(getLoginUserId(),

+ 87 - 35
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/dynamicOFData/comm/QC01001_202400OFData.java

@@ -2,9 +2,11 @@ package cn.start.tz.module.pressure2.service.dynamicOFData.comm;
 
 import cn.start.tz.module.pressure2.controller.admin.dynamictbins.vo.CreateInstantiateWithRuleVO;
 import cn.start.tz.module.pressure2.controller.admin.equipboiler.vo.EquipBoilerReportVO;
+import cn.start.tz.module.pressure2.dal.dataobject.boilertaskorder.BoilerTaskOrderDO;
 import cn.start.tz.module.pressure2.dal.dataobject.boilertaskorderitem.BoilerTaskOrderItemDO;
 import cn.start.tz.module.pressure2.dal.dataobject.boilertaskorderreport.BoilerTaskOrderReportDO;
 import cn.start.tz.module.pressure2.dal.dataobject.equippipe.EquipPipeDO;
+import cn.start.tz.module.pressure2.dal.dataobject.pipetaskorder.PipeTaskOrderDO;
 import cn.start.tz.module.pressure2.dal.dataobject.pipetaskorderitem.PipeTaskOrderItemDO;
 import cn.start.tz.module.pressure2.dal.dataobject.pipetaskorderitemreport.PipeTaskOrderItemReportDO;
 import cn.start.tz.module.pressure2.dal.dataobject.pipetaskorderreport.PipeTaskOrderReportDO;
@@ -13,11 +15,14 @@ import cn.start.tz.module.pressure2.dal.mysql.boilertaskorderitem.BoilerTaskOrde
 import cn.start.tz.module.pressure2.dal.mysql.boilertaskorderreport.BoilerTaskOrderReportMapper;
 import cn.start.tz.module.pressure2.dal.mysql.equipboiler.EquipBoilerMapper;
 import cn.start.tz.module.pressure2.dal.mysql.equippipe.EquipPipeMapper;
+import cn.start.tz.module.pressure2.dal.mysql.pipetaskorder.PipeTaskOrderMapper;
 import cn.start.tz.module.pressure2.dal.mysql.pipetaskorderitem.PipeTaskOrderItemMapper;
 import cn.start.tz.module.pressure2.dal.mysql.pipetaskorderitemreport.PipeTaskOrderItemReportMapper;
 import cn.start.tz.module.pressure2.dal.mysql.pipetaskorderreport.PipeTaskOrderReportMapper;
 import cn.start.tz.module.pressure2.service.dynamicOFData.IDynamicOFData;
 import cn.start.tz.module.pressure2.service.pipetaskorderitem.PipeTaskOrderItemService;
+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.user.AdminUserApi;
 import cn.start.tz.module.system.api.user.dto.AdminUserRespDTO;
 import com.alibaba.cloud.commons.lang.StringUtils;
@@ -26,7 +31,9 @@ import jakarta.annotation.Resource;
 import org.springframework.stereotype.Service;
 
 import java.time.format.DateTimeFormatter;
+import java.util.LinkedHashSet;
 import java.util.List;
+import java.util.Set;
 
 /**
  * 检验方案
@@ -49,6 +56,9 @@ public class QC01001_202400OFData implements IDynamicOFData {
     @Resource
     private BoilerTaskOrderMapper boilerTaskOrderMapper;
 
+    @Resource
+    private PipeTaskOrderMapper pipeTaskOrderMapper;
+
     @Resource
     private PipeTaskOrderItemReportMapper pipeTaskOrderItemReportMapper;
 
@@ -64,6 +74,9 @@ public class QC01001_202400OFData implements IDynamicOFData {
     @Resource
     private AdminUserApi adminUserApi;
 
+    @Resource
+    private DictDataApi dictDataApi;
+
     @Override
     public JSONObject getOFData(JSONObject params) {
 
@@ -82,13 +95,14 @@ public class QC01001_202400OFData implements IDynamicOFData {
 
         JSONObject result = new JSONObject();
 
-        String makeUint = "";
-        String unitName = "";
-        String equipName = "";
-        String productCode = "";
-        String projectName = "";
-        String unitAddress = "";
-        String zipCode = "";
+        // 使用 LinkedHashSet 保持插入顺序并去重
+        Set<String> makeUintSet = new LinkedHashSet<>();
+        Set<String> unitNameSet = new LinkedHashSet<>();
+        Set<String> equipNameSet = new LinkedHashSet<>();
+        Set<String> productCodeSet = new LinkedHashSet<>();
+        Set<String> projectNameSet = new LinkedHashSet<>();
+        Set<String> unitAddressSet = new LinkedHashSet<>();
+        Set<String> zipCodeSet = new LinkedHashSet<>();
 
         if (equipMainTpe.equals("boiler")){
 
@@ -97,27 +111,46 @@ public class QC01001_202400OFData implements IDynamicOFData {
 
                 String orderItemIds = itemReportDO.getOrderItemIdsStr();
                 if (orderItemIds != null){
+
+                    String checkTypeName  = "";
+                    BoilerTaskOrderDO taskOrderDO = boilerTaskOrderMapper.selectById(itemReportDO.getOrderId());
+                    if (taskOrderDO != null){
+                        DictDataRespDTO checkTypeDTO = dictDataApi.getDictData("pressure_inspection_nature_boiler",taskOrderDO.getCheckType().toString()).getData();
+                        if (checkTypeDTO != null){
+                            checkTypeName = checkTypeDTO.getLabel();
+                        }
+                    }
+
                     String[] orderItemIdArray = orderItemIds.split(",");
                     for (String orderItemId : orderItemIdArray) {
                         BoilerTaskOrderItemDO itemDO = boilerTaskOrderItemMapper.selectById(orderItemId);
                         EquipBoilerReportVO equipBoilerDO = equipBoilerMapper.selectDetailsById(itemDO.getEquipId());
                         if (equipBoilerDO != null){
-                            //设备信息
-                            makeUint = (makeUint.isEmpty()?makeUint:makeUint+",") + (StringUtils.isEmpty(equipBoilerDO.getMakeUnit())?"-":equipBoilerDO.getMakeUnit());
-                            unitName = (unitName.isEmpty()?unitName:unitName+",") + (StringUtils.isEmpty(equipBoilerDO.getUnitName())?"-":equipBoilerDO.getUnitName());
-                            equipName = (equipName.isEmpty()?equipName:equipName+",") + (StringUtils.isEmpty(equipBoilerDO.getEquipName())?"-":equipBoilerDO.getEquipName());
-                            productCode = (productCode.isEmpty()?productCode:productCode+",") + (StringUtils.isEmpty(equipBoilerDO.getProductCode())?"-":equipBoilerDO.getProductCode());
-                            unitAddress = (unitAddress.isEmpty()?unitAddress:unitAddress+",") + (StringUtils.isEmpty(equipBoilerDO.getUnitAddress())?"-":equipBoilerDO.getUnitAddress());
-                            zipCode = (zipCode.isEmpty()?zipCode:zipCode+",") + (StringUtils.isEmpty(equipBoilerDO.getZipCode())?"-":equipBoilerDO.getZipCode());
+                            //设备信息 - 使用 Set 自动去重
+                            makeUintSet.add(StringUtils.isEmpty(equipBoilerDO.getMakeUnit()) ? "-" : equipBoilerDO.getMakeUnit());
+                            unitNameSet.add(StringUtils.isEmpty(equipBoilerDO.getUnitName()) ? "-" : equipBoilerDO.getUnitName());
+                            equipNameSet.add(StringUtils.isEmpty(equipBoilerDO.getEquipName()) ? "-" : equipBoilerDO.getEquipName());
+                            productCodeSet.add(StringUtils.isEmpty(equipBoilerDO.getProductCode()) ? "-" : equipBoilerDO.getProductCode());
+                            unitAddressSet.add(StringUtils.isEmpty(equipBoilerDO.getUnitAddress()) ? "-" : equipBoilerDO.getUnitAddress());
+                            zipCodeSet.add(StringUtils.isEmpty(equipBoilerDO.getZipCode()) ? "-" : equipBoilerDO.getZipCode());
+
+                            String boilerType = "";
+                            DictDataRespDTO boilerTypeDTO = dictDataApi.getDictData("system_equip_boiler_type",equipBoilerDO.getType().toString()).getData();
+                            if (boilerTypeDTO != null){
+                                boilerType = boilerTypeDTO.getLabel();
+                            }
+                            projectNameSet.add(boilerType + checkTypeName);
                         }
                     }
-                    result.put("projectName",projectName.isEmpty()?"-":projectName);
-                    result.put("makeUint",makeUint.isEmpty()?"-":makeUint);
-                    result.put("unitName",unitName.isEmpty()?"-":unitName);
-                    result.put("equipName",equipName.isEmpty()?"-":equipName);
-                    result.put("productCode",productCode.isEmpty()?"-":productCode);
-                    result.put("unitAddress",unitAddress.isEmpty()?"-":unitAddress);
-                    result.put("zipCode",zipCode.isEmpty()?"-":zipCode);
+
+                    // 将 Set 转换为逗号分隔的字符串
+                    result.put("projectName", String.join(",", projectNameSet));
+                    result.put("makeUint", String.join(",", makeUintSet));
+                    result.put("unitName", String.join(",", unitNameSet));
+                    result.put("equipName", String.join(",", equipNameSet));
+                    result.put("productCode", String.join(",", productCodeSet));
+                    result.put("unitAddress", String.join(",", unitAddressSet));
+                    result.put("zipCode", String.join(",", zipCodeSet));
                 }
 
                 result.put("reportNo",itemReportDO.getReportNo());
@@ -170,26 +203,45 @@ public class QC01001_202400OFData implements IDynamicOFData {
 
                 List<PipeTaskOrderItemDO> orderItems = pipeTaskOrderItemService.lambdaQuery().eq(PipeTaskOrderItemDO::getOrderId,itemReportDO.getOrderId()).list();
                 if (!orderItems.isEmpty()){
+
+                    String checkTypeName = "";
+                    PipeTaskOrderDO taskOrderDO = pipeTaskOrderMapper.selectById(itemReportDO.getOrderId());
+                    if (taskOrderDO != null){
+                        DictDataRespDTO checkTypeDTO = dictDataApi.getDictData("pressure_inspection_nature_pipe",taskOrderDO.getCheckType().toString()).getData();
+                        if (checkTypeDTO != null){
+                            checkTypeName = checkTypeDTO.getLabel();
+                        }
+                    }
+
                     String[] equipIdIdArray = orderItems.stream().map(PipeTaskOrderItemDO::getEquipId).toArray(String[]::new);
                     for (String equipId : equipIdIdArray) {
                         EquipPipeDO equipPipeDO = equipPipeMapper.selectById(equipId);
                         if (equipPipeDO != null){
-                            //设备信息
-                            makeUint = (makeUint.isEmpty()?makeUint:makeUint+",") + (StringUtils.isEmpty(equipPipeDO.getUnitCode())?"-":equipPipeDO.getUnitCode());
-                            unitName = (unitName.isEmpty()?unitName:unitName+",") + (StringUtils.isEmpty(equipPipeDO.getUnitName())?"-":equipPipeDO.getUnitName());
-                            projectName = (projectName.isEmpty()?projectName:projectName+",") + (StringUtils.isEmpty(equipPipeDO.getProjectName())?"-":equipPipeDO.getProjectName());
-                            productCode = (productCode.isEmpty()?productCode:productCode+",") + (StringUtils.isEmpty(equipPipeDO.getProjectNo())?"-":equipPipeDO.getProjectNo());
-                            unitAddress = (unitAddress.isEmpty()?unitAddress:unitAddress+",") + (StringUtils.isEmpty(equipPipeDO.getUnitAddress())?"-":equipPipeDO.getUnitAddress());
-                            zipCode = (zipCode.isEmpty()?zipCode:zipCode+",") + (StringUtils.isEmpty(equipPipeDO.getPostalCode())?"-":equipPipeDO.getPostalCode());
+                            //设备信息 - 使用 Set 自动去重
+                            makeUintSet.add(StringUtils.isEmpty(equipPipeDO.getUnitCode()) ? "-" : equipPipeDO.getUnitCode());
+                            unitNameSet.add(StringUtils.isEmpty(equipPipeDO.getUnitName()) ? "-" : equipPipeDO.getUnitName());
+                            equipNameSet.add(StringUtils.isEmpty(equipPipeDO.getProjectName()) ? "-" : equipPipeDO.getProjectName());
+                            productCodeSet.add(StringUtils.isEmpty(equipPipeDO.getProjectNo()) ? "-" : equipPipeDO.getProjectNo());
+                            unitAddressSet.add(StringUtils.isEmpty(equipPipeDO.getUnitAddress()) ? "-" : equipPipeDO.getUnitAddress());
+                            zipCodeSet.add(StringUtils.isEmpty(equipPipeDO.getPostalCode()) ? "-" : equipPipeDO.getPostalCode());
+
+                            String pipeType = "";
+                            DictDataRespDTO pipeTypeDTO = dictDataApi.getDictData("PIPE_TYPE",equipPipeDO.getPipeCategory().toString()).getData();
+                            if (pipeTypeDTO != null){
+                                pipeType = pipeTypeDTO.getLabel();
+                            }
+                            projectNameSet.add(pipeType + checkTypeName);
                         }
                     }
-                    result.put("projectName",projectName.isEmpty()?"-":projectName);
-                    result.put("makeUint",makeUint.isEmpty()?"-":makeUint);
-                    result.put("unitName",unitName.isEmpty()?"-":unitName);
-                    result.put("equipName",projectName.isEmpty()?"-":projectName);
-                    result.put("productCode",productCode.isEmpty()?"-":productCode);
-                    result.put("unitAddress",unitAddress.isEmpty()?"-":unitAddress);
-                    result.put("zipCode",zipCode.isEmpty()?"-":zipCode);
+
+                    // 将 Set 转换为逗号分隔的字符串
+                    result.put("projectName", String.join(",", projectNameSet));
+                    result.put("makeUint", String.join(",", makeUintSet));
+                    result.put("unitName", String.join(",", unitNameSet));
+                    result.put("equipName", String.join(",", equipNameSet));
+                    result.put("productCode", String.join(",", productCodeSet));
+                    result.put("unitAddress", String.join(",", unitAddressSet));
+                    result.put("zipCode", String.join(",", zipCodeSet));
 
                 }
 

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

@@ -2036,6 +2036,7 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
 //                item.setCurrentAuditor(userMap.get(item.getApprovalId()));
 //            }
             item.setCurrentAuditor(userMap.get(item.getApprovalId()));
+            item.setRatifyUser(userMap.get(item.getRatifyId()));
             item.setOrderItemIds(dataMap.get(item.getId()));
         });
 
@@ -3163,8 +3164,8 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
             //审核
             startUserSelectAssignees.put("Activity_0f0yeat", majorIssuesSubmitVO.getAuditUserIds());
             if (itemReportDO.getReportType() == 600) {
-                //审批
-                startUserSelectAssignees.put("Activity_0akhfc1", majorIssuesSubmitVO.getApproveUserIds());
+                //审批先默认审核员,审核通过后修改
+                startUserSelectAssignees.put("Activity_0akhfc1", majorIssuesSubmitVO.getAuditUserIds());
             }
 
             processInstanceId = bpmProcessInstanceApi.createProcessInstance(getLoginUserId(),
@@ -4182,35 +4183,6 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
         String userId = getLoginUserId();
         AdminUserRespDTO userRespDTO = adminUserApi.getUser(userId).getData();
         List<String> ids = reqVO.getIds();
-//        if (reqVO.getReportType() != null && reqVO.getReportType() == TaskOrderItemReportTypeEnum.INSPECTION_PLAN.getType().intValue()) {
-//            for (String id : ids) {
-//                PipeTaskOrderReportDO itemReportDO = taskOrderReportMapper.selectById(id);
-//                if (itemReportDO == null) {
-//                    throw new ServiceException(404, "数据不存在");
-//                }
-//
-//                BpmTaskApproveDTO bpmResVO = new BpmTaskApproveDTO();
-//                bpmResVO.setProcessInstanceId(itemReportDO.getProcessInstanceId());
-//                bpmResVO.setReason(reqVO.getReason());
-//                CommonResult<Boolean> approve = bpmTaskApi.approve(bpmResVO);
-//                if (approve.getCode() != 0) {
-//                    throw new ServiceException(902, approve.getMsg());
-//                }
-//                if (StringUtils.isBlank(itemReportDO.getApprovalId())) {
-//                    PipeTaskOrderReportDO updateReport = new PipeTaskOrderReportDO();
-//                    updateReport.setId(id);
-//                    updateReport.setApprovalId(userId);
-//                    updateReport.setApprovalTime(LocalDateTime.now());
-//
-//                    if (userRespDTO != null) {
-//                        updateReport.setApprovalName(userRespDTO.getNickname());
-//                    }
-//                    taskOrderReportMapper.updateById(updateReport);
-//                }
-//
-//            }
-//            return true;
-//        }
 
         if (reqVO.getReportType() != null && reqVO.getReportType() == TaskOrderItemReportTypeEnum.NOTICE_OF_OPINION.getType().intValue()){
             ids = reqVO.getReportIds();
@@ -4229,6 +4201,15 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
             if (approve.getCode() != 0) {
                 throw new ServiceException(902, approve.getMsg());
             }
+
+            if (StringUtils.isNotBlank(reqVO.getRatifyId())) {
+                BpmTaskApproveDTO updateReqVO = new BpmTaskApproveDTO();
+                updateReqVO.setProcessInstanceId(itemReportDO.getProcessInstanceId());
+                updateReqVO.setTaskDefinitionKey("Activity_0akhfc1");
+                updateReqVO.setRatifyId(reqVO.getRatifyId());
+                bpmTaskApi.updateTaskCandidates(updateReqVO);
+            }
+
             if (StringUtils.isBlank(itemReportDO.getApprovalId())) {
                 PipeTaskOrderItemReportDO updateReport = new PipeTaskOrderItemReportDO();
                 updateReport.setId(id);

+ 6 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/resources/mapper/boilertaskorder/BoilerTaskOrderMapper.xml

@@ -254,6 +254,9 @@
                 <if test="checkType != null and checkType != ''">
                     AND bto.CHECK_TYPE = #{checkType}
                 </if>
+                <if test="orderId != null and orderId != ''">
+                    AND bto.ID = #{orderId}
+                </if>
                 <if test="checkDate != null and checkDate.size() >= 2">
                     AND bto.CHECK_DATE BETWEEN #{checkDate[0]} AND #{checkDate[1]}
                 </if>
@@ -339,6 +342,9 @@
             <if test="checkType != null and checkType != ''">
                 AND bto.CHECK_TYPE = #{checkType}
             </if>
+            <if test="orderId != null and orderId != ''">
+                AND bto.ID = #{orderId}
+            </if>
             <if test="checkDate != null and checkDate.size() >= 2">
                 AND bto.CHECK_DATE BETWEEN #{checkDate[0]} AND #{checkDate[1]}
             </if>

+ 6 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/resources/mapper/pipetaskorder/PipeTaskOrderMapper.xml

@@ -204,6 +204,9 @@
                 <if test="checkType != null and checkType != ''">
                     AND bto.CHECK_TYPE = #{checkType}
                 </if>
+                <if test="orderId != null and orderId != ''">
+                    AND bto.ID = #{orderId}
+                </if>
                 <if test="checkDate != null and checkDate.size() >= 2">
                     AND bto.CHECK_DATE BETWEEN #{checkDate[0]} AND #{checkDate[1]}
                 </if>
@@ -308,6 +311,9 @@
             <if test="checkType != null and checkType != ''">
                 AND bto.CHECK_TYPE = #{checkType}
             </if>
+            <if test="orderId != null and orderId != ''">
+                AND bto.ID = #{orderId}
+            </if>
             <if test="checkDate != null and checkDate.size() >= 2">
                 AND bto.CHECK_DATE BETWEEN #{checkDate[0]} AND #{checkDate[1]}
             </if>