From 0ce7df5c83217a0561ef71e927444ae8f52c2a47 Mon Sep 17 00:00:00 2001
From: songhuangfeng123 <shf18767906695@163.com>
Date: 星期四, 07 七月 2022 17:45:07 +0800
Subject: [PATCH] 应急预案新增+详情

---
 emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencyPlanServiceImpl.java |  130 ++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 122 insertions(+), 8 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 f03e0d1..2a3b615 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
@@ -6,17 +6,22 @@
 import com.gkhy.safePlatform.commons.utils.BeanCopyUtils;
 import com.gkhy.safePlatform.commons.vo.ResultVO;
 import com.gkhy.safePlatform.commons.vo.SearchResultVO;
-import com.gkhy.safePlatform.emergency.entity.EmergencyPlanInfoPageDO;
+import com.gkhy.safePlatform.emergency.entity.*;
+import com.gkhy.safePlatform.emergency.enums.EmergencyPlanStatus;
+import com.gkhy.safePlatform.emergency.enums.EmergencyResultCodes;
+import com.gkhy.safePlatform.emergency.excepiton.EmergencyException;
 import com.gkhy.safePlatform.emergency.model.dto.req.EmergencyPlanReqDTO;
-import com.gkhy.safePlatform.emergency.model.dto.resp.EmergencyPlanPageRespDTO;
+import com.gkhy.safePlatform.emergency.model.dto.resp.*;
 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.baseService.EmergencyPlanInfoService;
+import com.gkhy.safePlatform.emergency.service.baseService.*;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
 
+import java.util.Date;
 import java.util.List;
 
 @Service("emergencyPlanService")
@@ -24,6 +29,18 @@
 
     @Autowired
     private EmergencyPlanInfoService emergencyPlanInfoService;
+
+    @Autowired
+    private EmergencyPlanAreaInfoService emergencyPlanAreaInfoService;
+
+    @Autowired
+    private EmergencyPlanDepartmentInfoService emergencyPlanDepartmentInfoService;
+
+    @Autowired
+    private EmergencyPlanTeamInfoService emergencyPlanTeamInfoService;
+
+    @Autowired
+    private EmergencyPlanFileInfoService emergencyPlanFileInfoService;
 
     @Override
     public SearchResultVO<List<EmergencyPlanPageRespDTO>> selectEmergencyPlanList(PageQuery<EmergencyPlanQuery> query) {
@@ -49,10 +66,107 @@
     }
 
     @Override
-    public ResultVO<String> add(Long valueOf, EmergencyPlanReqDTO emergencyPlanReqDTO) {
-        //新增应急预案
-        //新增应急预案使用部门表
-        //
-        return null;
+    public ResultVO addEmergencyPlan(Long uid, EmergencyPlanReqDTO emergencyPlanReqDTO) {
+        Date nowDate = new Date();
+        // 新增应急预案
+        EmergencyPlanInfo emergencyPlanInfo = new EmergencyPlanInfo();
+        BeanUtils.copyProperties(emergencyPlanReqDTO,emergencyPlanInfo);
+        emergencyPlanInfo.setDelFlag(false);
+        emergencyPlanInfo.setCreateUid(uid);
+        emergencyPlanInfo.setGmtCreate(nowDate);
+        emergencyPlanInfo.setStatus(EmergencyPlanStatus.START.getStatus());
+        emergencyPlanInfoService.addEmergencyPlan(emergencyPlanInfo);
+        // 新增应急预案区域表
+        if (!CollectionUtils.isEmpty(emergencyPlanReqDTO.getAreaList())){
+            List<EmergencyPlanAreaInfo> emergencyPlanAreaInfoList = BeanCopyUtils.copyBeanList(emergencyPlanReqDTO.getAreaList(),EmergencyPlanAreaInfo.class);
+            emergencyPlanAreaInfoList.forEach(EmergencyPlanAreaInfo->{
+                EmergencyPlanAreaInfo.setDelFlag(false);
+                EmergencyPlanAreaInfo.setCreateUid(uid);
+                EmergencyPlanAreaInfo.setGmtCreate(nowDate);
+                EmergencyPlanAreaInfo.setPlanId(emergencyPlanInfo.getId());
+            });
+            for (EmergencyPlanAreaInfo emergencyPlanAreaInfo : emergencyPlanAreaInfoList){
+                emergencyPlanAreaInfoService.addEmergencyPlanArea(emergencyPlanAreaInfo);
+            }
+        }
+        // 新增应急预案适用部门表
+        if (!CollectionUtils.isEmpty(emergencyPlanReqDTO.getDeptList())){
+            List<EmergencyPlanDepartmentInfo> emergencyPlanDepartmentInfoList = BeanCopyUtils.copyBeanList(emergencyPlanReqDTO.getDeptList(),EmergencyPlanDepartmentInfo.class);
+            emergencyPlanDepartmentInfoList.forEach(EmergencyPlanDepartmentInfo->{
+                EmergencyPlanDepartmentInfo.setDelFlag(false);
+                EmergencyPlanDepartmentInfo.setCreateUid(uid);
+                EmergencyPlanDepartmentInfo.setGmtCreate(nowDate);
+                EmergencyPlanDepartmentInfo.setPlanId(emergencyPlanInfo.getId());
+            });
+            for (EmergencyPlanDepartmentInfo emergencyPlanDepartmentInfo : emergencyPlanDepartmentInfoList){
+                emergencyPlanDepartmentInfoService.addEmergencyPlanDepartment(emergencyPlanDepartmentInfo);
+            }
+        }
+        // 新增应急预案附件表
+        if (!CollectionUtils.isEmpty(emergencyPlanReqDTO.getFileList())){
+            List<EmergencyPlanFileInfo> emergencyPlanFileInfoList = BeanCopyUtils.copyBeanList(emergencyPlanReqDTO.getFileList(),EmergencyPlanFileInfo.class);
+            emergencyPlanFileInfoList.forEach(EmergencyPlanFileInfo->{
+                EmergencyPlanFileInfo.setDelFlag(false);
+                EmergencyPlanFileInfo.setCreateUid(uid);
+                EmergencyPlanFileInfo.setGmtCreate(nowDate);
+                EmergencyPlanFileInfo.setPlanId(emergencyPlanInfo.getId());
+            });
+            for (EmergencyPlanFileInfo emergencyPlanFileInfo : emergencyPlanFileInfoList){
+                emergencyPlanFileInfoService.addEmergencyPlanFile(emergencyPlanFileInfo);
+            }
+        }
+        // 新增应急预案应急队伍表
+        if (!CollectionUtils.isEmpty(emergencyPlanReqDTO.getTeamList())){
+            List<EmergencyPlanTeamInfo> emergencyPlanTeamInfoList = BeanCopyUtils.copyBeanList(emergencyPlanReqDTO.getTeamList(),EmergencyPlanTeamInfo.class);
+            emergencyPlanTeamInfoList.forEach(EmergencyPlanTeamInfo->{
+                EmergencyPlanTeamInfo.setDelFlag(false);
+                EmergencyPlanTeamInfo.setCreateUid(uid);
+                EmergencyPlanTeamInfo.setGmtCreate(nowDate);
+                EmergencyPlanTeamInfo.setPlanId(emergencyPlanInfo.getId());
+            });
+            for (EmergencyPlanTeamInfo emergencyPlanTeamInfo : emergencyPlanTeamInfoList){
+                emergencyPlanTeamInfoService.addEmergencyPlanTeam(emergencyPlanTeamInfo);
+            }
+        }
+
+        return new ResultVO<>(ResultCodes.OK);
+    }
+
+    @Override
+    public ResultVO<EmergencyPlanDetailRespDTO> getEmergencyPlanById(Long id) {
+        EmergencyPlanDetailRespDTO emergencyPlanDetailRespDTO = new EmergencyPlanDetailRespDTO();
+        // 查询是否存在
+        EmergencyPlanInfoDetailDO emergencyPlanInfoDetailDO = emergencyPlanInfoService.selectEmergencyPlanById(id);
+        if (emergencyPlanInfoDetailDO==null){
+            throw new EmergencyException(EmergencyResultCodes.PLAN_NOT_EXIST);
+        }else{
+            BeanUtils.copyProperties(emergencyPlanInfoDetailDO,emergencyPlanDetailRespDTO);
+
+            // 查找对应的区域
+            List<EmergencyPlanAreaInfoDO> emergencyPlanAreaInfoDOList = emergencyPlanAreaInfoService.selectEmergencyPlanAreaByPlanId(id);
+            if (!CollectionUtils.isEmpty(emergencyPlanAreaInfoDOList)){
+                List<EmergencyPlanAreaRespDTO> emergencyTeamFileRespDTOList = BeanCopyUtils.copyBeanList(emergencyPlanAreaInfoDOList , EmergencyPlanAreaRespDTO.class);
+                emergencyPlanDetailRespDTO.setAreaList(emergencyTeamFileRespDTOList);
+            }
+            // 查找对应的适用部门
+            List<EmergencyPlanDepartmentInfoDO> emergencyPlanDepartmentInfoDOList = emergencyPlanDepartmentInfoService.selectEmergencyPlanDepartmentByPlanId(id);
+            if (!CollectionUtils.isEmpty(emergencyPlanDepartmentInfoDOList)){
+                List<EmergencyPlanDepartmentRespDTO> emergencyTeamDepartmentRespDTOList = BeanCopyUtils.copyBeanList(emergencyPlanDepartmentInfoDOList , EmergencyPlanDepartmentRespDTO.class);
+                emergencyPlanDetailRespDTO.setDeptList(emergencyTeamDepartmentRespDTOList);
+            }
+            // 查找对应的应急队伍
+            List<EmergencyPlanTeamInfoDO> emergencyPlanTeamInfoDOList = emergencyPlanTeamInfoService.selectEmergencyPlanTeamByPlanId(id);
+            if (!CollectionUtils.isEmpty(emergencyPlanTeamInfoDOList)){
+                List<EmergencyPlanTeamRespDTO> emergencyTeamTeamRespDTOList = BeanCopyUtils.copyBeanList(emergencyPlanTeamInfoDOList , EmergencyPlanTeamRespDTO.class);
+                emergencyPlanDetailRespDTO.setTeamList(emergencyTeamTeamRespDTOList);
+            }
+            // 查找对应的附件
+            List<EmergencyPlanFileInfoDO> emergencyPlanFileInfoDOList = emergencyPlanFileInfoService.selectEmergencyPlanFileByPlanId(id);
+            if (!CollectionUtils.isEmpty(emergencyPlanFileInfoDOList)){
+                List<EmergencyPlanFileRespDTO> emergencyTeamFileRespDTOList = BeanCopyUtils.copyBeanList(emergencyPlanFileInfoDOList , EmergencyPlanFileRespDTO.class);
+                emergencyPlanDetailRespDTO.setFileList(emergencyTeamFileRespDTOList);
+            }
+            return new ResultVO<>(ResultCodes.OK,emergencyPlanDetailRespDTO);
+        }
     }
 }

--
Gitblit v1.9.2