From 18972bdf9899089cf04b2ba299c16c0dfe43a232 Mon Sep 17 00:00:00 2001
From: songhuangfeng123 <shf18767906695@163.com>
Date: 星期一, 15 八月 2022 18:06:52 +0800
Subject: [PATCH] fix

---
 goal-manage/goal-manage-service/src/main/java/com/gkhy/safePlatform/targetDuty/service/impl/TargetDutyWorkApproveServiceImpl.java |   62 +++++++++++++++++++++++++++++++
 1 files changed, 62 insertions(+), 0 deletions(-)

diff --git a/goal-manage/goal-manage-service/src/main/java/com/gkhy/safePlatform/targetDuty/service/impl/TargetDutyWorkApproveServiceImpl.java b/goal-manage/goal-manage-service/src/main/java/com/gkhy/safePlatform/targetDuty/service/impl/TargetDutyWorkApproveServiceImpl.java
index f6594b6..14f41c7 100644
--- a/goal-manage/goal-manage-service/src/main/java/com/gkhy/safePlatform/targetDuty/service/impl/TargetDutyWorkApproveServiceImpl.java
+++ b/goal-manage/goal-manage-service/src/main/java/com/gkhy/safePlatform/targetDuty/service/impl/TargetDutyWorkApproveServiceImpl.java
@@ -1,13 +1,19 @@
 package com.gkhy.safePlatform.targetDuty.service.impl;
 
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.gkhy.safePlatform.commons.co.ContextCacheUser;
+import com.gkhy.safePlatform.targetDuty.entity.ExamineItem;
+import com.gkhy.safePlatform.targetDuty.entity.TargetDivideDetail;
 import com.gkhy.safePlatform.targetDuty.enums.TargetDutyResultCodes;
 import com.gkhy.safePlatform.targetDuty.excepiton.TargetDutyException;
 import com.gkhy.safePlatform.targetDuty.model.dto.resp.ListCheckDataDto;
+import com.gkhy.safePlatform.targetDuty.model.dto.resp.TargetApproveDivideDetailDto;
+import com.gkhy.safePlatform.targetDuty.model.dto.resp.WorkApproveRelateDesc;
+import com.gkhy.safePlatform.targetDuty.repository.TargetDivideDetailRepository;
 import com.gkhy.safePlatform.targetDuty.repository.TargetDutyWorkApproveRepository;
 import com.gkhy.safePlatform.targetDuty.entity.TargetDutyWorkApprove;
 import com.gkhy.safePlatform.targetDuty.service.CommonService;
@@ -23,10 +29,14 @@
 import com.gkhy.safePlatform.targetDuty.model.dto.resp.TargetDutyWorkApproveDto;
 import com.gkhy.safePlatform.targetDuty.utils.QueryHelpPlus;
 import com.gkhy.safePlatform.commons.utils.BeanCopyUtils;
+import org.springframework.util.StringUtils;
 
 import javax.annotation.Resource;
+import java.io.Serializable;
 import java.sql.Timestamp;
 import java.util.*;
+import java.util.function.Function;
+import java.util.stream.Collectors;
 
 /**
  * 目标责任管理工作流审批表(TargetDutyWorkApprove)表服务实现类
@@ -42,6 +52,9 @@
 
     @Resource
     private CommonService commonService;
+
+    @Autowired
+    private TargetDivideDetailRepository targetDivideDetailRepository;
     
 	
 	@Override
@@ -117,6 +130,10 @@
         if (targetDutyWorkApprove.getRelateId()==null){
             throw new TargetDutyException(TargetDutyResultCodes.APPROVE_RELATE_TYPE_NULL);
         }
+        // 关联业务json
+        if (!StringUtils.hasText(targetDutyWorkApprove.getRelateDesc())){
+            throw new TargetDutyException("参数错误");
+        }
         // 审批人
         if (targetDutyWorkApprove.getApprovePersonId()==null){
             throw new TargetDutyException(TargetDutyResultCodes.APPROVE_PERSON_NULL);
@@ -174,4 +191,49 @@
                 ResultCodes.OK
         );
     }
+
+    @Override
+    public TargetDutyWorkApproveDto selectOne(Serializable id) {
+	    TargetDutyWorkApprove targetDutyWorkApprove = this.getById(id);
+	    if(targetDutyWorkApprove == null){
+	        return new TargetDutyWorkApproveDto();
+        }
+
+        TargetDutyWorkApproveDto dto = BeanCopyUtils.copyBean(targetDutyWorkApprove, TargetDutyWorkApproveDto.class);
+
+        List<WorkApproveRelateDesc> relateDescList = JSONObject.parseArray(targetDutyWorkApprove.getRelateDesc(),WorkApproveRelateDesc.class);
+        Map<Long,WorkApproveRelateDesc> relateDescMap = relateDescList.stream()
+        .collect(Collectors.toMap(WorkApproveRelateDesc::getId, Function.identity(),(k1, k2)->k1));
+
+        //
+        List<TargetDivideDetail> dList = targetDivideDetailRepository.selectBatchIds(relateDescMap.keySet());
+        List<TargetApproveDivideDetailDto> divideDetailList = BeanCopyUtils.copyBeanList(dList, TargetApproveDivideDetailDto.class);
+
+        divideDetailList.forEach(f->{
+            WorkApproveRelateDesc relateDesc = relateDescMap.get(f.getId());
+            if(relateDesc != null){
+                f.setPersonId(relateDesc.getPersonId());
+                f.setPersonName(relateDesc.getPersonName());
+                f.setCommitValue(relateDesc.getValue());
+            }
+        });
+
+        // --------------------------- 获取部门信息-----------------------
+        //收集所用到的部门ID
+        Set<Long> collectDepIdSet = new HashSet();
+        divideDetailList.forEach(f->{
+            collectDepIdSet.add(f.getDutyDepartmentId());
+            collectDepIdSet.add(f.getMakerDepartmentId());
+        });
+        //获取部门名集合
+        Map<Long,String> depNameMap = commonService.getDepName(collectDepIdSet);
+
+        divideDetailList.forEach(f->{
+            f.setDutyDepartmentName(depNameMap.get(f.getDutyDepartmentId()));
+            f.setMakerDepartmentName(depNameMap.get(f.getMakerDepartmentId()));
+        });
+
+        dto.setTargetDivideDetailList(divideDetailList);
+        return dto;
+    }
 }
\ No newline at end of file

--
Gitblit v1.9.2