From 0414ddb0b2b3a7199ae6181a770f97ac140dbd73 Mon Sep 17 00:00:00 2001
From: zhangf <1603559716@qq.com>
Date: 星期三, 08 五月 2024 16:46:22 +0800
Subject: [PATCH] spi统计

---
 emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencyPlanServiceImpl.java |   66 +++++++++++++++++++++++++++++++--
 1 files changed, 62 insertions(+), 4 deletions(-)

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..6f4a884 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
@@ -10,7 +10,8 @@
 import com.gkhy.safePlatform.commons.vo.ResultVO;
 import com.gkhy.safePlatform.commons.vo.SearchResultVO;
 import com.gkhy.safePlatform.emergency.entity.*;
-import com.gkhy.safePlatform.emergency.enums.EmergencyPlanStatus;
+import com.gkhy.safePlatform.emergency.enums.ApproveStatus;
+import com.gkhy.safePlatform.emergency.enums.EmergencyPlanTypeEnum;
 import com.gkhy.safePlatform.emergency.enums.EmergencyResultCodes;
 import com.gkhy.safePlatform.emergency.excepiton.EmergencyException;
 import com.gkhy.safePlatform.emergency.model.dto.req.*;
@@ -18,9 +19,9 @@
 import com.gkhy.safePlatform.emergency.query.EmergencyPlanQuery;
 import com.gkhy.safePlatform.emergency.query.db.EmergencyPlanDBQuery;
 import com.gkhy.safePlatform.emergency.service.EmergencyPlanService;
+import com.gkhy.safePlatform.emergency.service.EmergencyWorkApproveService;
 import com.gkhy.safePlatform.emergency.service.baseService.*;
 import org.apache.dubbo.config.annotation.DubboReference;
-import org.checkerframework.checker.units.qual.A;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -47,11 +48,14 @@
     @Autowired
     private EmergencyPlanFileInfoService emergencyPlanFileInfoService;
 
+    @Autowired
+    private EmergencyWorkApproveInfoService emergencyWorkApproveInfoService;
+
     @DubboReference(check = false)
     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);
@@ -62,6 +66,24 @@
         }
         List<EmergencyPlanInfoPageDO> emergencyPlanListDoInfoList = emergencyPlanInfoService.selectEmergencyPlanList(page, emergencyPlanDBQuery);
         List<EmergencyPlanPageRespDTO> respList = BeanCopyUtils.copyBeanList(emergencyPlanListDoInfoList, EmergencyPlanPageRespDTO.class);
+
+        // 判断审批人
+        for (EmergencyPlanPageRespDTO emergencyPlanPageRespDTO :respList){
+
+            //获取对应的审批记录
+            Integer type = ApproveStatus.EMERGENCY.getStatus();
+            List<EmergencyWorkApproveInfoDetailDO> emergencyWorkApproveInfoDetailDOList = emergencyWorkApproveInfoService.selectWorkApproveByRelateTypeAndRelateId(type,emergencyPlanPageRespDTO.getId());
+
+            if (!CollectionUtils.isEmpty(emergencyWorkApproveInfoDetailDOList)) {
+                emergencyPlanPageRespDTO.setApproveId(emergencyWorkApproveInfoDetailDOList.get(0).getId());
+                emergencyPlanPageRespDTO.setApproveStatus(emergencyWorkApproveInfoDetailDOList.get(0).getApproveStatus());
+                emergencyPlanPageRespDTO.setApprovePersonId(emergencyWorkApproveInfoDetailDOList.get(0).getApprovePersonId());
+                // 审批中  判断审批人是否人与当前登录人
+                if (emergencyPlanPageRespDTO.getApproveStatus()!=null && emergencyPlanPageRespDTO.getApproveStatus()==2){
+                    emergencyPlanPageRespDTO.setCheckApprove(emergencyPlanPageRespDTO.getApprovePersonId().equals(uid));
+                }
+            }
+        }
 
         return new SearchResultVO<>(
                 true,
@@ -75,6 +97,13 @@
 
     @Override
     public ResultVO addEmergencyPlan(Long uid, EmergencyPlanReqDTO emergencyPlanReqDTO) {
+        // 验证必填
+        checkRequired(emergencyPlanReqDTO);
+        // 验证枚举
+        checkEnum(emergencyPlanReqDTO);
+
+
+
         Date nowDate = new Date();
         // 新增应急预案
         EmergencyPlanInfo emergencyPlanInfo = new EmergencyPlanInfo();
@@ -82,7 +111,7 @@
         emergencyPlanInfo.setDelFlag(false);
         emergencyPlanInfo.setCreateUid(uid);
         emergencyPlanInfo.setGmtCreate(nowDate);
-        emergencyPlanInfo.setStatus(EmergencyPlanStatus.START.getStatus());
+        emergencyPlanInfo.setAbolishStatus(false);
         emergencyPlanInfoService.addEmergencyPlan(emergencyPlanInfo);
         // 新增应急预案区域表
         if (!CollectionUtils.isEmpty(emergencyPlanReqDTO.getAreaList())) {
@@ -212,6 +241,11 @@
 
     @Override
     public ResultVO updateEmergencyPlan(Long uid, EmergencyPlanReqDTO emergencyPlanReqDTO) {
+        // 验证必填
+        checkRequired(emergencyPlanReqDTO);
+        // 验证枚举
+        checkEnum(emergencyPlanReqDTO);
+
         Date nowDate = new Date();
         // 查询是否存在
         EmergencyPlanInfoDetailDO emergencyPlanInfoDetailDO = emergencyPlanInfoService.selectEmergencyPlanById(emergencyPlanReqDTO.getId());
@@ -442,4 +476,28 @@
             emergencyPlanTeamInfoService.deleteEmergencyPlanTeamByPlanId(PlanId);
         }
     }
+
+    /**
+     * 验证必填项
+     * @return
+     */
+    private void checkRequired(EmergencyPlanReqDTO emergencyPlanReqDTO) {
+        //名称
+        if (StringUtils.isBlank(emergencyPlanReqDTO.getName())) {
+            throw new EmergencyException(EmergencyResultCodes.PLAN_NAME_NULL);
+        }
+    }
+
+    /**
+     * 验证枚举
+     */
+    private void checkEnum(EmergencyPlanReqDTO emergencyPlanReqDTO){
+        if (EmergencyPlanTypeEnum.getByCode(emergencyPlanReqDTO.getType())==null){
+            throw new EmergencyException(EmergencyResultCodes.PLAN_ENUM_TYPE_NOT_EXIST);
+        }
+        if (EmergencyPlanTypeEnum.getByCode(emergencyPlanReqDTO.getLevel())==null){
+            throw new EmergencyException(EmergencyResultCodes.PLAN_ENUM_LEVEL_NOT_EXIST);
+        }
+    }
+
 }

--
Gitblit v1.9.2