From c604f08ffc5264165a25d15b3eeef87c72ed8489 Mon Sep 17 00:00:00 2001
From: songhuangfeng123 <shf18767906695@163.com>
Date: 星期二, 05 七月 2022 18:05:34 +0800
Subject: [PATCH] 应急队伍详情

---
 emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencyTeamServiceImpl.java |  151 +++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 136 insertions(+), 15 deletions(-)

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 f553a86..5c5c0ef 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
@@ -4,25 +4,31 @@
 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.EmergencyTeamFileInfo;
-import com.gkhy.safePlatform.emergency.entity.EmergencyTeamFileInfoDO;
-import com.gkhy.safePlatform.emergency.entity.EmergencyTeamInfoPageDO;
+import com.gkhy.safePlatform.emergency.entity.*;
+import com.gkhy.safePlatform.emergency.excepiton.EmergencyException;
+import com.gkhy.safePlatform.emergency.enums.EmergencyResultCodes;
+import com.gkhy.safePlatform.emergency.model.dto.req.EmergencyTeamMemberReqDTO;
 import com.gkhy.safePlatform.emergency.model.dto.req.EmergencyTeamReqDTO;
+import com.gkhy.safePlatform.emergency.model.dto.resp.EmergencyTeamDetailRespDTO;
 import com.gkhy.safePlatform.emergency.model.dto.resp.EmergencyTeamFileRespDTO;
+import com.gkhy.safePlatform.emergency.model.dto.resp.EmergencyTeamMemberRespDTO;
 import com.gkhy.safePlatform.emergency.model.dto.resp.EmergencyTeamPageRespDTO;
 import com.gkhy.safePlatform.emergency.query.EmergencyTeamQuery;
 import com.gkhy.safePlatform.emergency.query.db.EmergencyTeamDBQuery;
 import com.gkhy.safePlatform.emergency.service.EmergencyTeamService;
 import com.gkhy.safePlatform.emergency.service.baseService.EmergencyTeamFileInfoService;
 import com.gkhy.safePlatform.emergency.service.baseService.EmergencyTeamInfoService;
+import com.gkhy.safePlatform.emergency.service.baseService.EmergencyTeamMemberInfoService;
 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.ArrayList;
+import java.util.Date;
 import java.util.List;
 
 @Service("emergencyTeamService")
@@ -33,6 +39,9 @@
 
     @Autowired
     private EmergencyTeamFileInfoService emergencyTeamFileInfoService;
+
+    @Autowired
+    private EmergencyTeamMemberInfoService emergencyTeamMemberInfoService;
 
     @Override
     public SearchResultVO<List<EmergencyTeamPageRespDTO>> selectEmergencyTeamList(PageQuery<EmergencyTeamQuery> query) {
@@ -46,15 +55,15 @@
         }
 
         List<EmergencyTeamPageRespDTO> respList = new ArrayList<>();
-        List<EmergencyTeamInfoPageDO> emergencyTeamInfoPageDOList = emergencyTeamInfoService.selectEmergencyTeamList(page,emergencyTeamDBQuery);
+        List<EmergencyTeamInfoPageDO> emergencyTeamInfoPageDOList = emergencyTeamInfoService.selectEmergencyTeamList(page, emergencyTeamDBQuery);
 
-        if (!CollectionUtils.isEmpty(emergencyTeamInfoPageDOList)){
-            for (int i = 0 ; i < emergencyTeamInfoPageDOList.size() ; i++){
-                List<EmergencyTeamFileInfoDO> emergencyTeamFileInfoDOList = emergencyTeamFileInfoService.selectByEmergencyTeamId(emergencyTeamInfoPageDOList.get(i).getId());
-                List<EmergencyTeamFileRespDTO> emergencyTeamFileRespDTOList =  BeanCopyUtils.copyBeanList(emergencyTeamFileInfoDOList, EmergencyTeamFileRespDTO.class);
+        if (!CollectionUtils.isEmpty(emergencyTeamInfoPageDOList)) {
+            for (EmergencyTeamInfoPageDO emergencyTeamInfoPageDO : emergencyTeamInfoPageDOList) {
+                List<EmergencyTeamFileInfoDO> emergencyTeamFileInfoDOList = emergencyTeamFileInfoService.selectByEmergencyTeamId(emergencyTeamInfoPageDO.getId());
+                List<EmergencyTeamFileRespDTO> emergencyTeamFileRespDTOList = BeanCopyUtils.copyBeanList(emergencyTeamFileInfoDOList, EmergencyTeamFileRespDTO.class);
 
                 EmergencyTeamPageRespDTO emergencyTeamPageRespDTO = new EmergencyTeamPageRespDTO();
-                BeanUtils.copyProperties(emergencyTeamInfoPageDOList.get(i),emergencyTeamPageRespDTO);
+                BeanUtils.copyProperties(emergencyTeamInfoPageDO, emergencyTeamPageRespDTO);
                 emergencyTeamPageRespDTO.setFileList(emergencyTeamFileRespDTOList);
                 respList.add(emergencyTeamPageRespDTO);
             }
@@ -67,14 +76,126 @@
                 page.getTotal(),
                 respList,
                 ResultCodes.OK
-                );
+        );
     }
 
     @Override
-    public ResultVO<String> add(Long valueOf, EmergencyTeamReqDTO emergencyTeamReqDTO) {
-        //新增应急预案
-        //新增应急预案使用部门表
-        //
-        return null;
+    public ResultVO addEmergencyTeam(Long uid, EmergencyTeamReqDTO emergencyTeamReqDTO) {
+
+        //必填项验证
+        checkRequired(emergencyTeamReqDTO);
+
+        Date nowDate = new Date();
+        //1.新增应急队伍
+        EmergencyTeamInfo emergencyTeamInfo = new EmergencyTeamInfo();
+        BeanUtils.copyProperties(emergencyTeamReqDTO, emergencyTeamInfo);
+        emergencyTeamInfo.setDelFlag(false);
+        emergencyTeamInfo.setCreateUid(uid);
+        emergencyTeamInfo.setGmtCreate(nowDate);
+        emergencyTeamInfoService.addEmergencyTeam(emergencyTeamInfo);
+        //2.新增应急队伍附件
+        List<EmergencyTeamFileInfo> fileInfoList = BeanCopyUtils.copyBeanList(emergencyTeamReqDTO.getFileList(), EmergencyTeamFileInfo.class);
+        fileInfoList.forEach(EmergencyTeamFileInfo -> {
+            EmergencyTeamFileInfo.setTeamId(emergencyTeamInfo.getId());
+            EmergencyTeamFileInfo.setDelFlag(false);
+            EmergencyTeamFileInfo.setCreateUid(uid);
+            EmergencyTeamFileInfo.setGmtCreate(nowDate);
+        });
+        emergencyTeamFileInfoService.addEmergencyTeamFile(fileInfoList);
+        //3.新增应急队伍人员
+        List<EmergencyTeamMemberInfo> memberInfoList = BeanCopyUtils.copyBeanList(emergencyTeamReqDTO.getMemberList(), EmergencyTeamMemberInfo.class);
+        memberInfoList.forEach(EmergencyTeamMemberInfo -> {
+            EmergencyTeamMemberInfo.setTeamId(emergencyTeamInfo.getId());
+            EmergencyTeamMemberInfo.setDelFlag(false);
+            EmergencyTeamMemberInfo.setCreateUid(uid);
+            EmergencyTeamMemberInfo.setGmtCreate(nowDate);
+        });
+        emergencyTeamMemberInfoService.addEmergencyTeamMember(memberInfoList);
+
+        return new ResultVO(ResultCodes.OK);
     }
+
+    @Override
+    public ResultVO<EmergencyTeamDetailRespDTO> getEmergencyTeamById(Long id) {
+        EmergencyTeamDetailRespDTO emergencyTeamDetailRespDTO = new EmergencyTeamDetailRespDTO();
+        EmergencyTeamInfoDetailDO emergencyTeamInfoDetailDO = emergencyTeamInfoService.selectEmergencyTeamById(id);
+        if (emergencyTeamInfoDetailDO==null){
+            throw new EmergencyException(EmergencyResultCodes.TEAM_NOT_EXIST);
+        }else{
+            BeanUtils.copyProperties(emergencyTeamInfoDetailDO,emergencyTeamDetailRespDTO);
+            //查找对应的附件
+            List<EmergencyTeamFileInfoDO> emergencyTeamFileInfoDOList = emergencyTeamFileInfoService.selectByEmergencyTeamId(id);
+            if (!CollectionUtils.isEmpty(emergencyTeamFileInfoDOList)){
+                List<EmergencyTeamFileRespDTO> emergencyTeamFileRespDTOList = BeanCopyUtils.copyBeanList(emergencyTeamFileInfoDOList , EmergencyTeamFileRespDTO.class);
+                emergencyTeamDetailRespDTO.setFileList(emergencyTeamFileRespDTOList);
+            }
+
+            //查找对应的人员
+            List<EmergencyTeamMemberInfoDO> emergencyTeamMemberInfoDOList = emergencyTeamMemberInfoService.selectByEmergencyTeamId(id);
+            if (!CollectionUtils.isEmpty(emergencyTeamMemberInfoDOList)){
+                List<EmergencyTeamMemberRespDTO> emergencyTeamMemberRespDTOList = BeanCopyUtils.copyBeanList(emergencyTeamMemberInfoDOList , EmergencyTeamMemberRespDTO.class);
+                emergencyTeamDetailRespDTO.setMemberList(emergencyTeamMemberRespDTOList);
+            }
+        }
+        return new ResultVO<>(ResultCodes.OK ,emergencyTeamDetailRespDTO);
+    }
+
+    /**
+     * 验证必填项
+     *
+     * @return
+     */
+    private void checkRequired(EmergencyTeamReqDTO emergencyTeamReqDTO) {
+        //名称
+        if (StringUtils.isBlank(emergencyTeamReqDTO.getTeamName())) {
+            throw new EmergencyException(EmergencyResultCodes.TEAM_NAME_NULL);
+        }
+        //级别
+        if (StringUtils.isBlank(emergencyTeamReqDTO.getTeamLevel())) {
+            throw new EmergencyException(EmergencyResultCodes.TEAM_LEVEL_NULL);
+        }
+        //负责人
+        if (emergencyTeamReqDTO.getPrincipalUid() == null || emergencyTeamReqDTO.getPrincipalUid() == 0) {
+            throw new EmergencyException(EmergencyResultCodes.TEAM_PRINCIPAL_NULL);
+        }
+        //负责人部门
+
+        if (emergencyTeamReqDTO.getPrincipalDepartmentId() == null || emergencyTeamReqDTO.getPrincipalDepartmentId() == 0) {
+            throw new EmergencyException(EmergencyResultCodes.TEAM_PRINCIPAL_DEPARTMENT_NULL);
+        }
+        //负责人手机
+        if (StringUtils.isBlank(emergencyTeamReqDTO.getPrincipalPhone())) {
+            throw new EmergencyException(EmergencyResultCodes.TEAM_PRINCIPAL_PHONE_NULL);
+        }
+        //固定电话
+        if (StringUtils.isBlank(emergencyTeamReqDTO.getTelephoneNumber())) {
+            throw new EmergencyException(EmergencyResultCodes.TEAM_TELEPHONE_NUMBER_NULL);
+        }
+        //人员列表如果不为空,则需要验证其中的必填项
+        if (!CollectionUtils.isEmpty(emergencyTeamReqDTO.getMemberList())){
+            for(EmergencyTeamMemberReqDTO emergencyTeamMemberReqDTO : emergencyTeamReqDTO.getMemberList()){
+                //工号
+                if (StringUtils.isBlank(emergencyTeamMemberReqDTO.getJobNumber())) {
+                    throw new EmergencyException(EmergencyResultCodes.TEAM_USER_JOB_NUMBER_NULL);
+                }
+                //名称
+                if (StringUtils.isBlank(emergencyTeamMemberReqDTO.getName())) {
+                    throw new EmergencyException(EmergencyResultCodes.TEAM_USER_NAME_NULL);
+                }
+                //性别
+                if (emergencyTeamMemberReqDTO.getGender()==null) {
+                    throw new EmergencyException(EmergencyResultCodes.TEAM_USER_GENDER_NULL);
+                }
+                //手机号码
+                if (StringUtils.isBlank(emergencyTeamMemberReqDTO.getPhone())) {
+                    throw new EmergencyException(EmergencyResultCodes.TEAM_USER_PHONE_NULL);
+                }
+                //职务
+                if (StringUtils.isBlank(emergencyTeamMemberReqDTO.getPosition())) {
+                    throw new EmergencyException(EmergencyResultCodes.TEAM_USER_POSITION_NULL);
+                }
+            }
+        }
+    }
+
 }

--
Gitblit v1.9.2