From 5dc0fc9e8cdef4d6c084e5a6e1827a17bb6fe526 Mon Sep 17 00:00:00 2001
From: songhuangfeng123 <shf18767906695@163.com>
Date: 星期四, 04 八月 2022 18:12:34 +0800
Subject: [PATCH] 审批流程

---
 emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/entity/EmergencyPlanInfoPageDO.java          |   22 +++++++++++
 emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/controller/EmergencyPlanController.java      |    5 +-
 emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/controller/EmergencyTeamController.java      |    2 
 emergency/emergency-service/src/main/resource/config/mapper/emergency/EmergencyPlanInfoMapper.xml                      |   23 +++++++++--
 emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/EmergencyPlanService.java            |    2 
 emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/model/dto/resp/EmergencyPlanPageRespDTO.java |   33 ++++++++++++++++
 emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/model/dto/req/EmergencyPlanReqDTO.java       |   10 -----
 emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencyPlanServiceImpl.java   |   11 +++++
 emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/EmergencyTeamService.java            |    2 
 emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencyTeamServiceImpl.java   |    6 ++-
 10 files changed, 94 insertions(+), 22 deletions(-)

diff --git a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/controller/EmergencyPlanController.java b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/controller/EmergencyPlanController.java
index d1487d7..8fc14ef 100644
--- a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/controller/EmergencyPlanController.java
+++ b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/controller/EmergencyPlanController.java
@@ -27,9 +27,10 @@
      * 应急预案列表
      */
     @RequestMapping(value = "/page/list" ,method = RequestMethod.POST)
-    private ResultVO<List<EmergencyPlanPageRespDTO>> list (@RequestBody PageQuery<EmergencyPlanQuery> pageQuery){
+    private ResultVO<List<EmergencyPlanPageRespDTO>> list (Authentication authentication,@RequestBody PageQuery<EmergencyPlanQuery> pageQuery){
         PageUtils.checkCheck(pageQuery);
-        return  emergencyPlanService.selectEmergencyPlanList(pageQuery);
+        ContextCacheUser currentUser = (ContextCacheUser) authentication.getPrincipal();
+        return  emergencyPlanService.selectEmergencyPlanList(currentUser.getUid(),pageQuery);
     }
 
     /**
diff --git a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/controller/EmergencyTeamController.java b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/controller/EmergencyTeamController.java
index eca6e69..0eddfed 100644
--- a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/controller/EmergencyTeamController.java
+++ b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/controller/EmergencyTeamController.java
@@ -38,7 +38,7 @@
      * 应急队伍新增
      */
     @RequestMapping(value = "/add",method = RequestMethod.POST)
-    public ResultVO addEmergencyTeam(Authentication authentication, @RequestBody EmergencyTeamReqDTO emergencyTeamReqDTO) {
+    public ResultVO<EmergencyTeamDetailRespDTO> addEmergencyTeam(Authentication authentication, @RequestBody EmergencyTeamReqDTO emergencyTeamReqDTO) {
         ContextCacheUser currentUser = (ContextCacheUser) authentication.getPrincipal();
         return emergencyTeamService.addEmergencyTeam(currentUser.getUid(), emergencyTeamReqDTO);
     }
diff --git a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/entity/EmergencyPlanInfoPageDO.java b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/entity/EmergencyPlanInfoPageDO.java
index 0c7e9c2..44487ca 100644
--- a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/entity/EmergencyPlanInfoPageDO.java
+++ b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/entity/EmergencyPlanInfoPageDO.java
@@ -8,6 +8,28 @@
 @TableName("emergency_plan")
 public class EmergencyPlanInfoPageDO {
 
+    // 审批状态
+    private Integer approveStatus;
+
+    // 审批人
+    private Long approvePersonId;
+
+    public Integer getApproveStatus() {
+        return approveStatus;
+    }
+
+    public void setApproveStatus(Integer approveStatus) {
+        this.approveStatus = approveStatus;
+    }
+
+    public Long getApprovePersonId() {
+        return approvePersonId;
+    }
+
+    public void setApprovePersonId(Long approvePersonId) {
+        this.approvePersonId = approvePersonId;
+    }
+
     private  String authorName;
 
     public String getAuthorName() {
diff --git a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/model/dto/req/EmergencyPlanReqDTO.java b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/model/dto/req/EmergencyPlanReqDTO.java
index d8e107d..d342880 100644
--- a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/model/dto/req/EmergencyPlanReqDTO.java
+++ b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/model/dto/req/EmergencyPlanReqDTO.java
@@ -7,16 +7,6 @@
 
 public class EmergencyPlanReqDTO {
 
-    private Boolean abolishStatus;
-
-    public Boolean getAbolishStatus() {
-        return abolishStatus;
-    }
-
-    public void setAbolishStatus(Boolean abolishStatus) {
-        this.abolishStatus = abolishStatus;
-    }
-
     private String authorName;
 
     public String getAuthorName() {
diff --git a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/model/dto/resp/EmergencyPlanPageRespDTO.java b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/model/dto/resp/EmergencyPlanPageRespDTO.java
index d1c5b2e..26aafc1 100644
--- a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/model/dto/resp/EmergencyPlanPageRespDTO.java
+++ b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/model/dto/resp/EmergencyPlanPageRespDTO.java
@@ -6,6 +6,39 @@
 
 public class EmergencyPlanPageRespDTO {
 
+    // 审批状态
+    private Integer approveStatus;
+
+    // 审批人
+    private Long approvePersonId;
+
+    // 审批人是否为当前登录人
+    private Boolean checkApprove;
+
+    public Integer getApproveStatus() {
+        return approveStatus;
+    }
+
+    public void setApproveStatus(Integer approveStatus) {
+        this.approveStatus = approveStatus;
+    }
+
+    public Long getApprovePersonId() {
+        return approvePersonId;
+    }
+
+    public void setApprovePersonId(Long approvePersonId) {
+        this.approvePersonId = approvePersonId;
+    }
+
+    public Boolean getCheckApprove() {
+        return checkApprove;
+    }
+
+    public void setCheckApprove(Boolean checkApprove) {
+        this.checkApprove = checkApprove;
+    }
+
     private  String authorName;
 
     public String getAuthorName() {
diff --git a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/EmergencyPlanService.java b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/EmergencyPlanService.java
index 75e0b2f..9970388 100644
--- a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/EmergencyPlanService.java
+++ b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/EmergencyPlanService.java
@@ -12,7 +12,7 @@
 
 public interface EmergencyPlanService {
 
-    SearchResultVO<List<EmergencyPlanPageRespDTO>> selectEmergencyPlanList(PageQuery<EmergencyPlanQuery> query);
+    SearchResultVO<List<EmergencyPlanPageRespDTO>> selectEmergencyPlanList(Long uid ,PageQuery<EmergencyPlanQuery> query);
 
     ResultVO addEmergencyPlan(Long uid, EmergencyPlanReqDTO emergencyPlanReqDTO);
 
diff --git a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/EmergencyTeamService.java b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/EmergencyTeamService.java
index b00f7a4..ae59fd5 100644
--- a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/EmergencyTeamService.java
+++ b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/EmergencyTeamService.java
@@ -16,7 +16,7 @@
 
     SearchResultVO<List<EmergencyTeamPageRespDTO>> selectEmergencyTeamList(PageQuery<EmergencyTeamQuery> query);
 
-    ResultVO addEmergencyTeam(Long valueOf, EmergencyTeamReqDTO emergencyTeamReqDTO);
+    ResultVO<EmergencyTeamDetailRespDTO> addEmergencyTeam(Long valueOf, EmergencyTeamReqDTO emergencyTeamReqDTO);
 
     ResultVO<EmergencyTeamDetailRespDTO> getEmergencyTeamById(Long id);
 
diff --git a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencyPlanServiceImpl.java b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencyPlanServiceImpl.java
index 14c7f19..4647ecd 100644
--- a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencyPlanServiceImpl.java
+++ b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencyPlanServiceImpl.java
@@ -20,6 +20,7 @@
 import com.gkhy.safePlatform.emergency.service.EmergencyPlanService;
 import com.gkhy.safePlatform.emergency.service.baseService.*;
 import org.apache.dubbo.config.annotation.DubboReference;
+import org.checkerframework.checker.guieffect.qual.UI;
 import org.checkerframework.checker.units.qual.A;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -51,7 +52,7 @@
     private AccountDepartmentService accountDepartmentService;
 
     @Override
-    public SearchResultVO<List<EmergencyPlanPageRespDTO>> selectEmergencyPlanList(PageQuery<EmergencyPlanQuery> query) {
+    public SearchResultVO<List<EmergencyPlanPageRespDTO>> selectEmergencyPlanList(Long uid , PageQuery<EmergencyPlanQuery> query) {
         Long pageIndex = query.getPageIndex();
         Long pageSize = query.getPageSize();
         Page<EmergencyPlanInfoPageDO> page = new Page<>(pageIndex, pageSize);
@@ -63,6 +64,14 @@
         List<EmergencyPlanInfoPageDO> emergencyPlanListDoInfoList = emergencyPlanInfoService.selectEmergencyPlanList(page, emergencyPlanDBQuery);
         List<EmergencyPlanPageRespDTO> respList = BeanCopyUtils.copyBeanList(emergencyPlanListDoInfoList, EmergencyPlanPageRespDTO.class);
 
+        // 判断审批人
+        for (EmergencyPlanPageRespDTO emergencyPlanPageRespDTO :respList){
+            // 审批中  判断审批人是否人与当前登录人
+            if (emergencyPlanPageRespDTO.getApproveStatus()!=null && emergencyPlanPageRespDTO.getApproveStatus()==2){
+                emergencyPlanPageRespDTO.setCheckApprove(emergencyPlanPageRespDTO.getApprovePersonId().equals(uid));
+            }
+        }
+
         return new SearchResultVO<>(
                 true,
                 pageIndex,
diff --git a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencyTeamServiceImpl.java b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencyTeamServiceImpl.java
index cd315a8..c43dc17 100644
--- a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencyTeamServiceImpl.java
+++ b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencyTeamServiceImpl.java
@@ -82,7 +82,7 @@
     }
 
     @Override
-    public ResultVO addEmergencyTeam(Long uid, EmergencyTeamReqDTO emergencyTeamReqDTO) {
+    public ResultVO<EmergencyTeamDetailRespDTO> addEmergencyTeam(Long uid, EmergencyTeamReqDTO emergencyTeamReqDTO) {
         //必填项验证
         checkRequired(emergencyTeamReqDTO);
 
@@ -102,7 +102,9 @@
         if (!CollectionUtils.isEmpty(emergencyTeamReqDTO.getMemberList())){
             addEmergencyTeamMember(emergencyTeamInfo.getId(),uid,nowDate,emergencyTeamReqDTO.getMemberList());
         }
-        return new ResultVO(ResultCodes.OK);
+        EmergencyTeamDetailRespDTO emergencyTeamDetailRespDTO = new EmergencyTeamDetailRespDTO();
+        BeanUtils.copyProperties(emergencyTeamInfo,emergencyTeamDetailRespDTO);
+        return new ResultVO<>(ResultCodes.OK,emergencyTeamDetailRespDTO);
     }
 
     private void  addEmergencyTeamFile(Long teamId ,Long uid , Date nowDate , List<EmergencyTeamFileReqDTO> emergencyTeamFileReqDTOList){
diff --git a/emergency/emergency-service/src/main/resource/config/mapper/emergency/EmergencyPlanInfoMapper.xml b/emergency/emergency-service/src/main/resource/config/mapper/emergency/EmergencyPlanInfoMapper.xml
index b2a223d..e0b23fb 100644
--- a/emergency/emergency-service/src/main/resource/config/mapper/emergency/EmergencyPlanInfoMapper.xml
+++ b/emergency/emergency-service/src/main/resource/config/mapper/emergency/EmergencyPlanInfoMapper.xml
@@ -15,10 +15,25 @@
     </resultMap>
 
     <select id="selectEmergencyPlanList" resultMap="emergencyPlanInfoPageDOResult">
-        select id,`name`,`status`,`type`,`level`,release_date,author_name from emergency_plan
-        where del_flag = 0 and abolish_status = #{query.abolishStatus}
-        <if test="query.name != null  and query.name != ''">and `name` like concat('%', #{query.name}, '%')</if>
-        <if test="query.type != null  and query.type != ''">and `type` = #{query.type}</if>
+        SELECT
+        a.id,
+        a.`name`,
+        a.`status`,
+        a.`type`,
+        a.`level`,
+        a.release_date,
+        a.author_name,
+        b.approve_status AS approveStatus,
+        b.approve_person_id AS approvePersonId
+        FROM
+        emergency_plan a
+        LEFT JOIN emergency_work_approve b ON a.id = b.relate_id
+        AND b.relate_type = 1
+        WHERE
+        a.del_flag = 0
+        AND a.abolish_status = #{query.abolishStatus}
+        <if test="query.name != null  and query.name != ''">and a.name like concat('%', #{query.name}, '%')</if>
+        <if test="query.type != null  and query.type != ''">and a.type = #{query.type}</if>
     </select>
 
     <insert id="addEmergencyPlan" parameterType="com.gkhy.safePlatform.emergency.entity.EmergencyPlanInfo"

--
Gitblit v1.9.2