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/model/dto/resp/WorkApproveRelateDesc.java          |   52 +++++++++++++++++
 goal-manage/goal-manage-service/src/main/java/com/gkhy/safePlatform/targetDuty/excepiton/TargetDutyException.java                 |    5 +
 goal-manage/goal-manage-service/src/main/java/com/gkhy/safePlatform/targetDuty/service/TargetDutyWorkApproveService.java          |    4 +
 goal-manage/goal-manage-service/src/main/java/com/gkhy/safePlatform/targetDuty/model/dto/resp/TargetDutyWorkApproveDto.java       |   15 +++++
 goal-manage/goal-manage-service/src/main/java/com/gkhy/safePlatform/targetDuty/controller/TargetDutyWorkApproveController.java    |    4 +
 goal-manage/goal-manage-service/src/main/java/com/gkhy/safePlatform/targetDuty/service/impl/TargetMngServiceImpl.java             |    4 
 goal-manage/goal-manage-service/src/main/java/com/gkhy/safePlatform/targetDuty/service/impl/TargetDutyWorkApproveServiceImpl.java |   62 ++++++++++++++++++++
 7 files changed, 143 insertions(+), 3 deletions(-)

diff --git a/goal-manage/goal-manage-service/src/main/java/com/gkhy/safePlatform/targetDuty/controller/TargetDutyWorkApproveController.java b/goal-manage/goal-manage-service/src/main/java/com/gkhy/safePlatform/targetDuty/controller/TargetDutyWorkApproveController.java
index 642d6c1..4ef3fe6 100644
--- a/goal-manage/goal-manage-service/src/main/java/com/gkhy/safePlatform/targetDuty/controller/TargetDutyWorkApproveController.java
+++ b/goal-manage/goal-manage-service/src/main/java/com/gkhy/safePlatform/targetDuty/controller/TargetDutyWorkApproveController.java
@@ -9,6 +9,7 @@
 import com.gkhy.safePlatform.commons.co.ContextCacheUser;
 import com.gkhy.safePlatform.targetDuty.entity.ExamineMng;
 import com.gkhy.safePlatform.targetDuty.entity.TargetDutyWorkApprove;
+import com.gkhy.safePlatform.targetDuty.model.dto.resp.TargetDutyWorkApproveDto;
 import com.gkhy.safePlatform.targetDuty.service.TargetDutyWorkApproveService;
 import com.gkhy.safePlatform.targetDuty.utils.DateUtils;
 import org.springframework.security.core.Authentication;
@@ -63,7 +64,8 @@
      */
     @GetMapping(value = "/selectOne/{id}")
     public ResultVO selectOne(@PathVariable Serializable id) {
-        return new ResultVO<>(ResultCodes.OK,this.targetDutyWorkApproveService.getById(id));
+        TargetDutyWorkApproveDto dto = this.targetDutyWorkApproveService.selectOne(id);
+        return new ResultVO<>(ResultCodes.OK,dto);
     }
 
 	/**
diff --git a/goal-manage/goal-manage-service/src/main/java/com/gkhy/safePlatform/targetDuty/excepiton/TargetDutyException.java b/goal-manage/goal-manage-service/src/main/java/com/gkhy/safePlatform/targetDuty/excepiton/TargetDutyException.java
index 4968b0a..f92147f 100644
--- a/goal-manage/goal-manage-service/src/main/java/com/gkhy/safePlatform/targetDuty/excepiton/TargetDutyException.java
+++ b/goal-manage/goal-manage-service/src/main/java/com/gkhy/safePlatform/targetDuty/excepiton/TargetDutyException.java
@@ -13,6 +13,11 @@
         this.message = error.getDesc();
     }
 
+    public TargetDutyException(String message) {
+        super(message);
+        this.code = "A3000";
+    }
+
     public TargetDutyException(String code, String message) {
         super(message);
         this.code = code;
diff --git a/goal-manage/goal-manage-service/src/main/java/com/gkhy/safePlatform/targetDuty/model/dto/resp/TargetDutyWorkApproveDto.java b/goal-manage/goal-manage-service/src/main/java/com/gkhy/safePlatform/targetDuty/model/dto/resp/TargetDutyWorkApproveDto.java
index 7fe201d..2ff16d1 100644
--- a/goal-manage/goal-manage-service/src/main/java/com/gkhy/safePlatform/targetDuty/model/dto/resp/TargetDutyWorkApproveDto.java
+++ b/goal-manage/goal-manage-service/src/main/java/com/gkhy/safePlatform/targetDuty/model/dto/resp/TargetDutyWorkApproveDto.java
@@ -4,6 +4,8 @@
 
 import java.sql.Timestamp;
 import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
 
 public class TargetDutyWorkApproveDto implements Serializable {
     
@@ -47,6 +49,19 @@
     //排序
         private Integer sort;
 
+
+    //目标指标分解列表
+    private List<TargetApproveDivideDetailDto> targetDivideDetailList = new ArrayList<>();
+
+    public List<TargetApproveDivideDetailDto> getTargetDivideDetailList() {
+        return targetDivideDetailList;
+    }
+
+    public void setTargetDivideDetailList(List<TargetApproveDivideDetailDto> targetDivideDetailList) {
+        this.targetDivideDetailList = targetDivideDetailList;
+    }
+
+
             
     public Long getId() {
         return id;
diff --git a/goal-manage/goal-manage-service/src/main/java/com/gkhy/safePlatform/targetDuty/model/dto/resp/WorkApproveRelateDesc.java b/goal-manage/goal-manage-service/src/main/java/com/gkhy/safePlatform/targetDuty/model/dto/resp/WorkApproveRelateDesc.java
new file mode 100644
index 0000000..961dc8e
--- /dev/null
+++ b/goal-manage/goal-manage-service/src/main/java/com/gkhy/safePlatform/targetDuty/model/dto/resp/WorkApproveRelateDesc.java
@@ -0,0 +1,52 @@
+package com.gkhy.safePlatform.targetDuty.model.dto.resp;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+import java.io.Serializable;
+import java.sql.Timestamp;
+import java.util.ArrayList;
+import java.util.List;
+
+public class WorkApproveRelateDesc implements Serializable {
+    
+    private Long id;
+
+    private String personId;
+
+    private String personName;
+
+    //上报值
+    private String value;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public String getPersonId() {
+        return personId;
+    }
+
+    public void setPersonId(String personId) {
+        this.personId = personId;
+    }
+
+    public String getPersonName() {
+        return personName;
+    }
+
+    public void setPersonName(String personName) {
+        this.personName = personName;
+    }
+
+    public String getValue() {
+        return value;
+    }
+
+    public void setValue(String value) {
+        this.value = value;
+    }
+}
\ No newline at end of file
diff --git a/goal-manage/goal-manage-service/src/main/java/com/gkhy/safePlatform/targetDuty/service/TargetDutyWorkApproveService.java b/goal-manage/goal-manage-service/src/main/java/com/gkhy/safePlatform/targetDuty/service/TargetDutyWorkApproveService.java
index aa76624..c82ea09 100644
--- a/goal-manage/goal-manage-service/src/main/java/com/gkhy/safePlatform/targetDuty/service/TargetDutyWorkApproveService.java
+++ b/goal-manage/goal-manage-service/src/main/java/com/gkhy/safePlatform/targetDuty/service/TargetDutyWorkApproveService.java
@@ -6,7 +6,9 @@
 import com.gkhy.safePlatform.commons.vo.ResultVO;
 import com.gkhy.safePlatform.commons.query.PageQuery;
 import com.gkhy.safePlatform.targetDuty.model.dto.req.TargetDutyWorkApproveQueryCriteria;
+import com.gkhy.safePlatform.targetDuty.model.dto.resp.TargetDutyWorkApproveDto;
 
+import java.io.Serializable;
 import java.util.List;
 
 
@@ -26,4 +28,6 @@
     void addInfo(ContextCacheUser currentUser, TargetDutyWorkApprove targetDutyWorkApprove);
 
     ResultVO listCheckData(PageQuery<TargetDutyWorkApproveQueryCriteria> pageQuery);
+
+    TargetDutyWorkApproveDto selectOne(Serializable id);
 }
\ No newline at end of file
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
diff --git a/goal-manage/goal-manage-service/src/main/java/com/gkhy/safePlatform/targetDuty/service/impl/TargetMngServiceImpl.java b/goal-manage/goal-manage-service/src/main/java/com/gkhy/safePlatform/targetDuty/service/impl/TargetMngServiceImpl.java
index 7ed78cb..07b804e 100644
--- a/goal-manage/goal-manage-service/src/main/java/com/gkhy/safePlatform/targetDuty/service/impl/TargetMngServiceImpl.java
+++ b/goal-manage/goal-manage-service/src/main/java/com/gkhy/safePlatform/targetDuty/service/impl/TargetMngServiceImpl.java
@@ -56,7 +56,7 @@
 
     @Resource
     private CommonService commonService;
-
+	
 	@Override
     public ResultVO queryAll(PageQuery<TargetMngQueryCriteria> pageQuery) {
         Long pageIndex = pageQuery.getPageIndex();
@@ -180,4 +180,4 @@
     }
 
 
-}
+}
\ No newline at end of file

--
Gitblit v1.9.2