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/EmergencyDrillPlanServiceImpl.java |   60 ++++++++++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 50 insertions(+), 10 deletions(-)

diff --git a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencyDrillPlanServiceImpl.java b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencyDrillPlanServiceImpl.java
index 786b6bf..513b392 100644
--- a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencyDrillPlanServiceImpl.java
+++ b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencyDrillPlanServiceImpl.java
@@ -1,14 +1,15 @@
 package com.gkhy.safePlatform.emergency.service.impl;
 
+import com.alibaba.nacos.common.utils.StringUtils;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.gkhy.safePlatform.commons.enums.ResultCodes;
 import com.gkhy.safePlatform.commons.query.PageQuery;
 import com.gkhy.safePlatform.commons.utils.BeanCopyUtils;
-import com.gkhy.safePlatform.commons.utils.StringUtils;
 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.EmergencyDrillPlanStatus;
+import com.gkhy.safePlatform.emergency.enums.DrillPlanLevelEnum;
+import com.gkhy.safePlatform.emergency.enums.DrillPlanWayEnum;
 import com.gkhy.safePlatform.emergency.enums.EmergencyResultCodes;
 import com.gkhy.safePlatform.emergency.excepiton.EmergencyException;
 import com.gkhy.safePlatform.emergency.model.dto.req.*;
@@ -68,6 +69,11 @@
 
     @Override
     public ResultVO addEmergencyDrillPlan(Long uid, EmergencyDrillPlanReqDTO emergencyDrillPlanReqDTO) {
+        // 验证必填
+        checkRequired(emergencyDrillPlanReqDTO);
+        // 验证枚举
+        checkEnum(emergencyDrillPlanReqDTO);
+
         // 判断请求中是否存在应急预案id
         if (emergencyDrillPlanReqDTO.getPlanId() == null) {
             throw new EmergencyException(EmergencyResultCodes.PLAN_NULL);
@@ -84,7 +90,6 @@
                 emergencyDrillPlanInfo.setDelFlag(false);
                 emergencyDrillPlanInfo.setCreateUid(uid);
                 emergencyDrillPlanInfo.setGmtCreate(nowDate);
-                emergencyDrillPlanInfo.setStatus(EmergencyDrillPlanStatus.START.getStatus());
                 emergencyDrillPlanInfoService.addEmergencyDrillPlan(emergencyDrillPlanInfo);
                 // 新增急演练计划附件表
                 if (!CollectionUtils.isEmpty(emergencyDrillPlanReqDTO.getFileList())) {
@@ -140,7 +145,12 @@
             List<EmergencyDrillPlanUserInfoDO> emergencyDrillPlanUserInfoDOList = emergencyDrillPlanUserInfoService.selectEmergencyDrillPlanUserByDrillPlanId(id);
             if (!CollectionUtils.isEmpty(emergencyDrillPlanUserInfoDOList)) {
                 List<EmergencyDrillPlanUserRespDTO> emergencyUserUserRespDTOList = BeanCopyUtils.copyBeanList(emergencyDrillPlanUserInfoDOList, EmergencyDrillPlanUserRespDTO.class);
-                emergencyDrillPlanDetailRespDTO.setUserList(emergencyUserUserRespDTOList);
+
+                List<EmergencyDrillPlanUserRespDTO> userList = emergencyUserUserRespDTOList.stream().filter(user -> user.getType()==1).collect(Collectors.toList());
+                List<EmergencyDrillPlanUserRespDTO> chargeUserList = emergencyUserUserRespDTOList.stream().filter(user -> user.getType()==2).collect(Collectors.toList());
+
+                emergencyDrillPlanDetailRespDTO.setUserList(userList);
+                emergencyDrillPlanDetailRespDTO.setChargeUserList(chargeUserList);
             }
             // 查找对应的附件
             List<EmergencyDrillPlanFileInfoDO> emergencyDrillPlanFileInfoDOList = emergencyDrillPlanFileInfoService.selectEmergencyDrillPlanFileByDrillPlanId(id);
@@ -154,6 +164,12 @@
 
     @Override
     public ResultVO updateEmergencyDrillPlan(Long uid, EmergencyDrillPlanReqDTO emergencyDrillPlanReqDTO) {
+
+        // 验证必填
+        checkRequired(emergencyDrillPlanReqDTO);
+        // 验证枚举
+        checkEnum(emergencyDrillPlanReqDTO);
+
         Date nowDate = new Date();
         // 查询是否存在
         EmergencyDrillPlanInfoDetailDO emergencyDrillPlanInfoDetailDO = emergencyDrillPlanInfoService.selectEmergencyDrillPlanById(emergencyDrillPlanReqDTO.getId());
@@ -262,13 +278,13 @@
     }
 
     @Override
-    public ResultVO batchDeleteEmergencyDrillPlan(String ids) {
-        if (StringUtils.isBlank(ids)) {
+    public ResultVO batchDeleteEmergencyDrillPlan(Long[] ids) {
+
+        if (ids == null ||  ids.length==0){
             throw new EmergencyException(EmergencyResultCodes.DRILL_PLAN_NULL);
-        } else {
-            String[] idArr = ids.split(",");
-            for (String id : idArr) {
-                deleteEmergencyDrillPlan(Long.valueOf(id));
+        }else{
+            for (Long id : ids){
+                deleteEmergencyDrillPlan(id);
             }
             return new ResultVO(ResultCodes.OK);
         }
@@ -288,4 +304,28 @@
             emergencyDrillPlanUserInfoService.deleteEmergencyDrillPlanUserByDrillPlanId(DrillPlanId);
         }
     }
+
+
+    /**
+     * 验证必填项
+     * @return
+     */
+    private void checkRequired(EmergencyDrillPlanReqDTO emergencyDrillPlanReqDTO) {
+        //名称
+        if (StringUtils.isBlank(emergencyDrillPlanReqDTO.getDrillName())) {
+            throw new EmergencyException(EmergencyResultCodes.DRILL_PLAN_NAME_NULL);
+        }
+    }
+
+    /**
+     * 验证枚举
+     */
+    private void checkEnum(EmergencyDrillPlanReqDTO emergencyDrillPlanReqDTO){
+        if (DrillPlanWayEnum.getByCode(emergencyDrillPlanReqDTO.getDrillWay())==null){
+            throw new EmergencyException(EmergencyResultCodes.DRILL_PLAN_ENUM_WAY_NOT_EXIST);
+        }
+        if (DrillPlanLevelEnum.getByCode(emergencyDrillPlanReqDTO.getDrillLevel())==null){
+            throw new EmergencyException(EmergencyResultCodes.DRILL_PLAN_ENUM_LEVEL_NOT_EXIST);
+        }
+    }
 }

--
Gitblit v1.9.2