Parcourir la source

app待认领列表增加签名信息列表

yangguanjin il y a 3 jours
Parent
commit
e65d79ba82

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

@@ -5,6 +5,7 @@ import cn.start.tz.module.pressure2.controller.admin.boilerorderexception.vo.Boi
 import cn.start.tz.module.pressure2.controller.admin.boilertaskorderfollowrecord.vo.BoilerTaskOrderFollowRecordRespVO;
 import cn.start.tz.module.pressure2.controller.admin.boilertaskorderitem.vo.BoilerTaskOrderItemRespVO;
 import cn.start.tz.module.pressure2.dal.dataobject.boilertaskorderitemreport.BoilerTaskOrderItemReportDO;
+import cn.start.tz.module.pressure2.dal.dataobject.boilertaskordersignfile.BoilerTaskOrderSignFileDO;
 import cn.start.tz.module.pressure2.dal.dataobject.notificationformreport.NotificationformReportDO;
 import cn.start.tz.module.system.api.user.dto.AdminUserRespDTO;
 import io.swagger.v3.oas.annotations.media.Schema;
@@ -421,4 +422,7 @@ public class BoilerTaskOrderRespVO {
     private String deptPhone;
 
     private String reportConclusion;
+
+    // 签名文件列表
+    private List<BoilerTaskOrderSignFileDO> signFileList;
 }

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

@@ -6,6 +6,7 @@ import cn.start.tz.module.pressure2.controller.admin.boilertaskorder.vo.BoilerTa
 import cn.start.tz.module.pressure2.controller.admin.boilertaskorderfollowrecord.vo.BoilerTaskOrderFollowRecordRespVO;
 import cn.start.tz.module.pressure2.controller.admin.pipetaskorderfollowrecord.vo.PipeTaskOrderFollowRecordRespVO;
 import cn.start.tz.module.pressure2.dal.dataobject.boilertaskorderitemreport.BoilerTaskOrderItemReportDO;
+import cn.start.tz.module.pressure2.dal.dataobject.boilertaskordersignfile.BoilerTaskOrderSignFileDO;
 import cn.start.tz.module.pressure2.dal.dataobject.notificationformreport.NotificationformReportDO;
 import cn.start.tz.module.pressure2.dal.dataobject.pipetaskorderitemreport.PipeTaskOrderItemReportDO;
 import cn.start.tz.module.system.api.user.dto.AdminUserRespDTO;
@@ -423,4 +424,6 @@ public class PipeTaskOrderRespVO {
     private String deptPhone;
 
     private String reportConclusion;
+
+    private List<BoilerTaskOrderSignFileDO> signFileList;
 }

+ 7 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/dal/mysql/notificationformreport/NotificationformReportMapper.java

@@ -1,6 +1,7 @@
 package cn.start.tz.module.pressure2.dal.mysql.notificationformreport;
 
 import java.util.*;
+import java.util.stream.Collectors;
 
 import cn.start.tz.framework.common.pojo.PageResult;
 import cn.start.tz.framework.mybatis.core.query.LambdaQueryWrapperX;
@@ -26,4 +27,10 @@ public interface NotificationformReportMapper extends BaseMapperX<Notificationfo
                 .orderByDesc(NotificationformReportDO::getId));
     }
 
+    default List<NotificationformReportDO> selectListByOrderIdSet(Set<String> taskOrderIdSet) {
+        if (taskOrderIdSet == null || taskOrderIdSet.isEmpty()) {
+            return Collections.emptyList();
+        }
+        return selectList(NotificationformReportDO::getTaskOrderId, taskOrderIdSet);
+    }
 }

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

@@ -39,6 +39,7 @@ import cn.start.tz.module.pressure2.controller.admin.pipetaskorder.vo.PipeTaskOr
 import cn.start.tz.module.pressure2.dal.dataobject.businessmemberrelation.BusinessMemberRelationDO;
 import cn.start.tz.module.pressure2.dal.dataobject.notificationformreport.NotificationformReportDO;
 import cn.start.tz.module.pressure2.dal.dataobject.opinionnotificationfollowrecord.OpinionNotificationFollowRecordDO;
+import cn.start.tz.module.pressure2.dal.dataobject.orderreport.OrderReportDO;
 import cn.start.tz.module.pressure2.dal.dataobject.pipetaskorder.PipeTaskOrderDO;
 import cn.start.tz.module.pressure2.dal.dataobject.pipetaskorderitemreport.PipeTaskOrderItemReportDO;
 import cn.start.tz.module.pressure2.dal.dataobject.pipetaskorderitemreportuser.PipeTaskOrderItemReportUserDO;
@@ -713,11 +714,75 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
 
         });
 
+
+        Map<String, BoilerTaskOrderRespVO> taskOrderIdToEntityMap = boilerTaskOrderRespVOS.stream()
+                .collect(Collectors.toMap(BoilerTaskOrderRespVO::getOrderId, Function.identity()));
+        List<NotificationformReportDO> notificationformReportDOS = notificationformReportMapper.selectListByOrderIdSet(taskOrderIdToEntityMap.keySet());
+        for (NotificationformReportDO notificationformReportDO : notificationformReportDOS) {
+            String taskOrderId = notificationformReportDO.getTaskOrderId();
+            BoilerTaskOrderRespVO boilerTaskOrderRespVO = taskOrderIdToEntityMap.get(taskOrderId);
+            List<BoilerTaskOrderSignFileDO> signFileList = boilerTaskOrderRespVO.getSignFileList();
+            if (signFileList == null) {
+                ArrayList<BoilerTaskOrderSignFileDO> initList = new ArrayList<>();
+                boilerTaskOrderRespVO.setSignFileList(initList);
+                signFileList = initList;
+            }
+            BoilerTaskOrderSignFileDO boilerTaskOrderSignFileDO = buildSignFileObjByNotificationFormReportDO(notificationformReportDO);
+            signFileList.add(boilerTaskOrderSignFileDO);
+        }
+
+        List<OrderReportDO> orderReportDOList = orderReportService.getListByOrderIdSet(taskOrderIdToEntityMap.keySet());
+        for (OrderReportDO orderReportDO : orderReportDOList) {
+            String taskOrderId = orderReportDO.getTaskOrderId();
+            BoilerTaskOrderRespVO boilerTaskOrderRespVO = taskOrderIdToEntityMap.get(taskOrderId);
+            List<BoilerTaskOrderSignFileDO> signFileList = boilerTaskOrderRespVO.getSignFileList();
+            if (signFileList == null) {
+                ArrayList<BoilerTaskOrderSignFileDO> initList = new ArrayList<>();
+                boilerTaskOrderRespVO.setSignFileList(initList);
+                signFileList = initList;
+            }
+            BoilerTaskOrderSignFileDO boilerTaskOrderSignFileDO = buildSignFileObjByOrderReportDO(orderReportDO);
+            signFileList.add(boilerTaskOrderSignFileDO);
+        }
+
+
         pageResult.setList(boilerTaskOrderRespVOS);
         pageResult.setTotal(boilerTaskOrderMapper.selectPageCount(pageReqVO));
         return pageResult;
     }
 
+    private BoilerTaskOrderSignFileDO buildSignFileObjByNotificationFormReportDO(NotificationformReportDO notificationformReportDO) {
+        BoilerTaskOrderSignFileDO boilerTaskOrderSignFileDO = new BoilerTaskOrderSignFileDO();
+        boilerTaskOrderSignFileDO.setOrderId(notificationformReportDO.getTaskOrderId());
+        boilerTaskOrderSignFileDO.setBusinessType(200);
+        String notificationformReportDOSignUrl = notificationformReportDO.getSignUrl();
+        if (notificationformReportDOSignUrl != null && !notificationformReportDOSignUrl.isEmpty()) {
+            boilerTaskOrderSignFileDO.setSignUrl(notificationformReportDOSignUrl);
+            boilerTaskOrderSignFileDO.setIsSignature("1");
+            boilerTaskOrderSignFileDO.setSignDate(notificationformReportDO.getSignDate());
+        } else {
+            boilerTaskOrderSignFileDO.setIsSignature("0");
+        }
+        return boilerTaskOrderSignFileDO;
+    }
+
+    private BoilerTaskOrderSignFileDO buildSignFileObjByOrderReportDO(OrderReportDO orderReportDO) {
+        BoilerTaskOrderSignFileDO boilerTaskOrderSignFileDO = new BoilerTaskOrderSignFileDO();
+        boilerTaskOrderSignFileDO.setOrderId(orderReportDO.getTaskOrderId());
+        boilerTaskOrderSignFileDO.setBusinessType(100);
+        String orderReportDOSignUrl = orderReportDO.getSignUrl();
+        if (orderReportDOSignUrl != null && !orderReportDOSignUrl.isEmpty()) {
+            boilerTaskOrderSignFileDO.setSignUrl(orderReportDOSignUrl);
+            boilerTaskOrderSignFileDO.setIsSignature("1");
+            boilerTaskOrderSignFileDO.setSignDate(orderReportDO.getSignDate());
+        } else {
+            boilerTaskOrderSignFileDO.setIsSignature("0");
+        }
+        return boilerTaskOrderSignFileDO;
+    }
+
+
+
     @Override
     @Transactional
     public void confirm(BoilerTaskOrderConfirmVO taskOrderConfirmVO) {

+ 1 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/orderreport/OrderReportService.java

@@ -76,4 +76,5 @@ public interface OrderReportService extends IService<OrderReportDO>  {
 
     Boolean serviceFromSendEmail(@Valid TaskOrderSignFilePageReqVO pageReqVO);
 
+    List<OrderReportDO> getListByOrderIdSet(Set<String> orderIdSet);
 }

+ 10 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/orderreport/OrderReportServiceImpl.java

@@ -386,4 +386,14 @@ public class OrderReportServiceImpl extends ServiceImpl<OrderReportMapper, Order
 
     }
 
+    @Override
+    public List<OrderReportDO> getListByOrderIdSet(Set<String> orderIdSet) {
+        if (orderIdSet == null || orderIdSet.isEmpty()) {
+            return Collections.emptyList();
+        }
+        LambdaQueryWrapper<OrderReportDO> lqw = new LambdaQueryWrapper<>();
+        lqw.in(OrderReportDO::getTaskOrderId, orderIdSet);
+        return orderReportMapper.selectList(lqw);
+    }
+
 }

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

@@ -39,11 +39,13 @@ import cn.start.tz.module.pressure2.dal.dataobject.boilertaskorderitem.BoilerTas
 import cn.start.tz.module.pressure2.dal.dataobject.boilertaskorderitemreport.BoilerTaskOrderItemReportDO;
 import cn.start.tz.module.pressure2.dal.dataobject.boilertaskorderitemreportuser.BoilerTaskOrderItemReportUserDO;
 import cn.start.tz.module.pressure2.dal.dataobject.boilertaskorderreport.BoilerTaskOrderReportDO;
+import cn.start.tz.module.pressure2.dal.dataobject.boilertaskordersignfile.BoilerTaskOrderSignFileDO;
 import cn.start.tz.module.pressure2.dal.dataobject.boilertaskorderuser.BoilerTaskOrderUserDO;
 import cn.start.tz.module.pressure2.dal.dataobject.businessmemberrelation.BusinessMemberRelationDO;
 import cn.start.tz.module.pressure2.dal.dataobject.equipboilerschedulingitem.EquipBoilerSchedulingCheckDO;
 import cn.start.tz.module.pressure2.dal.dataobject.notificationformreport.NotificationformReportDO;
 import cn.start.tz.module.pressure2.dal.dataobject.opinionnotificationfollowrecord.OpinionNotificationFollowRecordDO;
+import cn.start.tz.module.pressure2.dal.dataobject.orderreport.OrderReportDO;
 import cn.start.tz.module.pressure2.dal.dataobject.pipetaskorderinput.PipeTaskOrderInputDO;
 import cn.start.tz.module.pressure2.dal.mysql.boilerconnectrecordreport.BoilerConnectRecordReportMapper;
 import cn.start.tz.module.pressure2.dal.mysql.businessmemberrelation.BusinessMemberRelationMapper;
@@ -628,11 +630,73 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
 
         });
 
+
+        Map<String, PipeTaskOrderRespVO> taskOrderIdToEntityMap = TaskOrderRespVOS.stream()
+                .collect(Collectors.toMap(PipeTaskOrderRespVO::getOrderId, Function.identity()));
+        List<NotificationformReportDO> notificationformReportDOS = notificationformReportMapper.selectListByOrderIdSet(taskOrderIdToEntityMap.keySet());
+        for (NotificationformReportDO notificationformReportDO : notificationformReportDOS) {
+            String taskOrderId = notificationformReportDO.getTaskOrderId();
+            PipeTaskOrderRespVO pipeTaskOrderRespVO = taskOrderIdToEntityMap.get(taskOrderId);
+            List<BoilerTaskOrderSignFileDO> signFileList = pipeTaskOrderRespVO.getSignFileList();
+            if (signFileList == null) {
+                ArrayList<BoilerTaskOrderSignFileDO> initList = new ArrayList<>();
+                pipeTaskOrderRespVO.setSignFileList(initList);
+                signFileList = initList;
+            }
+            BoilerTaskOrderSignFileDO boilerTaskOrderSignFileDO = buildSignFileObjByNotificationFormReportDO(notificationformReportDO);
+            signFileList.add(boilerTaskOrderSignFileDO);
+        }
+
+        List<OrderReportDO> orderReportDOList = orderReportService.getListByOrderIdSet(taskOrderIdToEntityMap.keySet());
+        for (OrderReportDO orderReportDO : orderReportDOList) {
+            String taskOrderId = orderReportDO.getTaskOrderId();
+            PipeTaskOrderRespVO pipeTaskOrderRespVO = taskOrderIdToEntityMap.get(taskOrderId);
+            List<BoilerTaskOrderSignFileDO> signFileList = pipeTaskOrderRespVO.getSignFileList();
+            if (signFileList == null) {
+                ArrayList<BoilerTaskOrderSignFileDO> initList = new ArrayList<>();
+                pipeTaskOrderRespVO.setSignFileList(initList);
+                signFileList = initList;
+            }
+            BoilerTaskOrderSignFileDO boilerTaskOrderSignFileDO = buildSignFileObjByOrderReportDO(orderReportDO);
+            signFileList.add(boilerTaskOrderSignFileDO);
+        }
+
+
         pageResult.setList(TaskOrderRespVOS);
         pageResult.setTotal(pipeTaskOrderMapper.selectPageCount(pageReqVO));
         return pageResult;
     }
 
+    private BoilerTaskOrderSignFileDO buildSignFileObjByNotificationFormReportDO(NotificationformReportDO notificationformReportDO) {
+        BoilerTaskOrderSignFileDO boilerTaskOrderSignFileDO = new BoilerTaskOrderSignFileDO();
+        boilerTaskOrderSignFileDO.setOrderId(notificationformReportDO.getTaskOrderId());
+        boilerTaskOrderSignFileDO.setBusinessType(200);
+        String notificationformReportDOSignUrl = notificationformReportDO.getSignUrl();
+        if (notificationformReportDOSignUrl != null && !notificationformReportDOSignUrl.isEmpty()) {
+            boilerTaskOrderSignFileDO.setSignUrl(notificationformReportDOSignUrl);
+            boilerTaskOrderSignFileDO.setIsSignature("1");
+            boilerTaskOrderSignFileDO.setSignDate(notificationformReportDO.getSignDate());
+        } else {
+            boilerTaskOrderSignFileDO.setIsSignature("0");
+        }
+        return boilerTaskOrderSignFileDO;
+    }
+
+    private BoilerTaskOrderSignFileDO buildSignFileObjByOrderReportDO(OrderReportDO orderReportDO) {
+        BoilerTaskOrderSignFileDO boilerTaskOrderSignFileDO = new BoilerTaskOrderSignFileDO();
+        boilerTaskOrderSignFileDO.setOrderId(orderReportDO.getTaskOrderId());
+        boilerTaskOrderSignFileDO.setBusinessType(100);
+        String orderReportDOSignUrl = orderReportDO.getSignUrl();
+        if (orderReportDOSignUrl != null && !orderReportDOSignUrl.isEmpty()) {
+            boilerTaskOrderSignFileDO.setSignUrl(orderReportDOSignUrl);
+            boilerTaskOrderSignFileDO.setIsSignature("1");
+            boilerTaskOrderSignFileDO.setSignDate(orderReportDO.getSignDate());
+        } else {
+            boilerTaskOrderSignFileDO.setIsSignature("0");
+        }
+        return boilerTaskOrderSignFileDO;
+    }
+
     @Override
     @Transactional
     public void confirm(BoilerTaskOrderConfirmVO taskOrderConfirmVO) {