From d4c032bd81ac3320a2ef54a83fe24decc0e6b63c Mon Sep 17 00:00:00 2001
From: songhuangfeng123 <shf18767906695@163.com>
Date: 星期二, 02 八月 2022 19:06:10 +0800
Subject: [PATCH] 事故模块人员/部门传值

---
 incident-manage/incident-manage-service/src/main/java/com/gkhy/safePlatform/incidentManage/service/impl/AccidentExpressServiceImpl.java |  144 +++++++++++++++++++++++++++++++----------------
 1 files changed, 95 insertions(+), 49 deletions(-)

diff --git a/incident-manage/incident-manage-service/src/main/java/com/gkhy/safePlatform/incidentManage/service/impl/AccidentExpressServiceImpl.java b/incident-manage/incident-manage-service/src/main/java/com/gkhy/safePlatform/incidentManage/service/impl/AccidentExpressServiceImpl.java
index 418db46..3a88c08 100644
--- a/incident-manage/incident-manage-service/src/main/java/com/gkhy/safePlatform/incidentManage/service/impl/AccidentExpressServiceImpl.java
+++ b/incident-manage/incident-manage-service/src/main/java/com/gkhy/safePlatform/incidentManage/service/impl/AccidentExpressServiceImpl.java
@@ -1,6 +1,10 @@
 package com.gkhy.safePlatform.incidentManage.service.impl;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.gkhy.safePlatform.account.rpc.apimodel.AccountAuthService;
+import com.gkhy.safePlatform.account.rpc.apimodel.AccountDepartmentService;
+import com.gkhy.safePlatform.account.rpc.apimodel.model.resp.DepInfoRPCRespDTO;
+import com.gkhy.safePlatform.commons.co.ContextCacheUser;
 import com.gkhy.safePlatform.commons.enums.ResultCodes;
 import com.gkhy.safePlatform.commons.query.PageQuery;
 import com.gkhy.safePlatform.commons.utils.BeanCopyUtils;
@@ -10,24 +14,26 @@
 import com.gkhy.safePlatform.incidentManage.entity.*;
 import com.gkhy.safePlatform.incidentManage.enums.AccidentResultCodes;
 import com.gkhy.safePlatform.incidentManage.exception.AccidentException;
+import com.gkhy.safePlatform.incidentManage.model.dto.req.AccidentExpressCasualtyReqDTO;
 import com.gkhy.safePlatform.incidentManage.model.dto.req.AccidentExpressFileReqDTO;
 import com.gkhy.safePlatform.incidentManage.model.dto.req.AccidentExpressReqDTO;
+import com.gkhy.safePlatform.incidentManage.model.dto.resp.AccidentExpressCasualtyRespDTO;
 import com.gkhy.safePlatform.incidentManage.model.dto.resp.AccidentExpressDetailRespDTO;
 import com.gkhy.safePlatform.incidentManage.model.dto.resp.AccidentExpressFileRespDTO;
 import com.gkhy.safePlatform.incidentManage.model.dto.resp.AccidentExpressPageRespDTO;
 import com.gkhy.safePlatform.incidentManage.query.AccidentExpressQuery;
 import com.gkhy.safePlatform.incidentManage.query.db.AccidentExpressDBQuery;
 import com.gkhy.safePlatform.incidentManage.service.AccidentExpressService;
+import com.gkhy.safePlatform.incidentManage.service.baseService.AccidentExpressCasualtyInfoService;
 import com.gkhy.safePlatform.incidentManage.service.baseService.AccidentExpressFileInfoService;
 import com.gkhy.safePlatform.incidentManage.service.baseService.AccidentExpressInfoService;
+import org.apache.dubbo.config.annotation.DubboReference;
 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;
+import java.util.*;
 import java.util.stream.Collectors;
 
 @Service("accidentExpressService")
@@ -38,6 +44,12 @@
 
     @Autowired
     private AccidentExpressFileInfoService accidentExpressFileInfoService;
+
+    @Autowired
+    private AccidentExpressCasualtyInfoService accidentExpressCasualtyInfoService;
+
+    @DubboReference(check = false)
+    private AccountDepartmentService accountDepartmentService;
 
 
     @Override
@@ -51,14 +63,31 @@
             BeanUtils.copyProperties(query.getSearchParams(), accidentExpressDBQuery);
         }
 
-
         List<AccidentExpressInfoPageDO> accidentExpressInfoPageDOList = accidentExpressInfoService.selectAccidentExpressList(page, accidentExpressDBQuery);
         List<AccidentExpressPageRespDTO> respList = BeanCopyUtils.copyBeanList(accidentExpressInfoPageDOList, AccidentExpressPageRespDTO.class);
+
+        Map<Long, String> depPool = new HashMap<>();
+
+        respList.forEach(AccidentExpressPageRespDTO ->{
+            // 设置部门名称
+            if (!depPool.containsKey(AccidentExpressPageRespDTO.getAccidentDepartmentId())) {
+                ResultVO<DepInfoRPCRespDTO> rpcResult = accountDepartmentService.getDepInfoByDepId(AccidentExpressPageRespDTO.getAccidentDepartmentId());
+                if (rpcResult != null && rpcResult.getCode().equals(ResultCodes.OK.getCode())) {
+                    if (rpcResult.getData() != null) {
+                        DepInfoRPCRespDTO dep = (DepInfoRPCRespDTO) rpcResult.getData();
+
+                        depPool.put(dep.getDepId(), dep.getDepName());
+                    }
+                }}
+
+            String depName = depPool.get(AccidentExpressPageRespDTO.getAccidentDepartmentId());
+            AccidentExpressPageRespDTO.setDeptName(depName);
+        });
 
         return new SearchResultVO<>(
                 true,
                 pageIndex,
-                pageSize,
+                pageSize,page.getPages(),
                 page.getTotal(),
                 respList,
                 ResultCodes.OK
@@ -66,7 +95,9 @@
     }
 
     @Override
-    public ResultVO addAccidentExpress(Long uid, AccidentExpressReqDTO accidentExpressReqDTO) {
+    public ResultVO addAccidentExpress(ContextCacheUser contextCacheUser, AccidentExpressReqDTO accidentExpressReqDTO) {
+        Long uid = contextCacheUser.getUid();
+        String uName = contextCacheUser.getRealName();
         //必填项验证
         checkRequired(accidentExpressReqDTO);
 
@@ -76,6 +107,7 @@
         BeanUtils.copyProperties(accidentExpressReqDTO, accidentExpressInfo);
         accidentExpressInfo.setDelFlag(false);
         accidentExpressInfo.setCreateUid(uid);
+        accidentExpressInfo.setCreateName(uName);
         accidentExpressInfo.setGmtCreate(nowDate);
         accidentExpressInfoService.addAccidentExpress(accidentExpressInfo);
         //2.新增应急队伍附件
@@ -203,6 +235,33 @@
         }
     }
 
+    @Override
+    public ResultVO selectAccidentExpressCasualtyList(Long accidentExpressId) {
+        List<AccidentExpressCasualtyInfoDO> accidentExpressCasualtyInfoDOList = accidentExpressCasualtyInfoService.selectByAccidentExpressId(accidentExpressId);
+        List<AccidentExpressCasualtyRespDTO> respList =BeanCopyUtils.copyBeanList(accidentExpressCasualtyInfoDOList, AccidentExpressCasualtyRespDTO.class);
+        return new ResultVO<>(ResultCodes.OK,respList);
+    }
+
+    @Override
+    public ResultVO addAccidentExpressCasualty(Long uid, AccidentExpressCasualtyReqDTO accidentExpressCasualtyReqDTO) {
+        if (accidentExpressCasualtyReqDTO.getAccidentExpressId()==null){
+            throw new AccidentException(AccidentResultCodes.ACCIDENT_EXPRESS_NULL);
+        }else{
+            AccidentExpressCasualtyInfo accidentExpressCasualtyInfo = new AccidentExpressCasualtyInfo();
+            BeanUtils.copyProperties(accidentExpressCasualtyReqDTO,accidentExpressCasualtyInfo);
+            accidentExpressCasualtyInfo.setDelFlag(false);
+            accidentExpressCasualtyInfo.setGmtCreate(new Date());
+            accidentExpressCasualtyInfo.setCreateUid(uid);
+            accidentExpressCasualtyInfoService.addAccidentExpressCasualty(accidentExpressCasualtyInfo);
+            return new ResultVO(ResultCodes.OK);
+        }
+    }
+
+    @Override
+    public ResultVO delAccidentExpressCasualty(Long accidentExpressId) {
+        accidentExpressCasualtyInfoService.deleteAccidentExpressCasualtyById(accidentExpressId);
+        return new ResultVO(ResultCodes.OK);
+    }
 
 
 
@@ -211,55 +270,42 @@
      * @return
      */
     private void checkRequired(AccidentExpressReqDTO AccidentExpressReqDTO) {
-       /* //名称
-        if (StringUtils.isBlank(AccidentExpressReqDTO.getTeamName())) {
-            throw new EmergencyException(EmergencyResultCodes.TEAM_NAME_NULL);
+        //名称
+        if (StringUtils.isBlank(AccidentExpressReqDTO.getAccidentName())) {
+            throw new AccidentException(AccidentResultCodes.EXPRESS_NAME_NULL);
         }
-        //级别
-        if (StringUtils.isBlank(AccidentExpressReqDTO.getTeamLevel())) {
-            throw new EmergencyException(EmergencyResultCodes.TEAM_LEVEL_NULL);
+        //部门
+        if (AccidentExpressReqDTO.getAccidentDepartmentId()==null) {
+            throw new AccidentException(AccidentResultCodes.EXPRESS_DEPARTMENT_NULL);
         }
-        //负责人
-        if (AccidentExpressReqDTO.getPrincipalUid() == null || AccidentExpressReqDTO.getPrincipalUid() == 0) {
-            throw new EmergencyException(EmergencyResultCodes.TEAM_PRINCIPAL_NULL);
+        //发生时间
+        if (AccidentExpressReqDTO.getOccurrenceTime() == null ) {
+            throw new AccidentException(AccidentResultCodes.EXPRESS_TIME_NULL);
         }
-        //负责人部门
-        if (AccidentExpressReqDTO.getPrincipalDepartmentId() == null || AccidentExpressReqDTO.getPrincipalDepartmentId() == 0) {
-            throw new EmergencyException(EmergencyResultCodes.TEAM_PRINCIPAL_DEPARTMENT_NULL);
+        //发生地点
+        if (StringUtils.isBlank(AccidentExpressReqDTO.getOccurrencePlace())) {
+            throw new AccidentException(AccidentResultCodes.EXPRESS_PLACE_NULL);
         }
-        //负责人手机
-        if (StringUtils.isBlank(AccidentExpressReqDTO.getPrincipalPhone())) {
-            throw new EmergencyException(EmergencyResultCodes.TEAM_PRINCIPAL_PHONE_NULL);
+        //事故原因
+        if (StringUtils.isBlank(AccidentExpressReqDTO.getAccidentCause())) {
+            throw new AccidentException(AccidentResultCodes.EXPRESS_CAUSE_NULL);
         }
-        //固定电话
-        if (StringUtils.isBlank(AccidentExpressReqDTO.getTelephoneNumber())) {
-            throw new EmergencyException(EmergencyResultCodes.TEAM_TELEPHONE_NUMBER_NULL);
+        //是否有伤亡
+        if (AccidentExpressReqDTO.getCasualties()==null) {
+            throw new AccidentException(AccidentResultCodes.EXPRESS_CASUALTIES_NULL);
         }
-        //人员列表如果不为空,则需要验证其中的必填项
-        if (!CollectionUtils.isEmpty(AccidentExpressReqDTO.getMemberList())){
-            for(AccidentExpressMemberReqDTO AccidentExpressMemberReqDTO : AccidentExpressReqDTO.getMemberList()){
-                //工号
-                if (StringUtils.isBlank(AccidentExpressMemberReqDTO.getJobNumber())) {
-                    throw new EmergencyException(EmergencyResultCodes.TEAM_USER_JOB_NUMBER_NULL);
-                }
-                //名称
-                if (StringUtils.isBlank(AccidentExpressMemberReqDTO.getName())) {
-                    throw new EmergencyException(EmergencyResultCodes.TEAM_USER_NAME_NULL);
-                }
-                //性别
-                if (AccidentExpressMemberReqDTO.getGender()==null) {
-                    throw new EmergencyException(EmergencyResultCodes.TEAM_USER_GENDER_NULL);
-                }
-                //手机号码
-                if (StringUtils.isBlank(AccidentExpressMemberReqDTO.getPhone())) {
-                    throw new EmergencyException(EmergencyResultCodes.TEAM_USER_PHONE_NULL);
-                }
-                //职务
-                if (StringUtils.isBlank(AccidentExpressMemberReqDTO.getPosition())) {
-                    throw new EmergencyException(EmergencyResultCodes.TEAM_USER_POSITION_NULL);
-                }
-            }
-        }*/
+        //简要经过
+        if (StringUtils.isBlank(AccidentExpressReqDTO.getAccidentBriefProcess())) {
+            throw new AccidentException(AccidentResultCodes.EXPRESS_BRIEF_PROCESS_NULL);
+        }
+        //初步分析
+        if (StringUtils.isBlank(AccidentExpressReqDTO.getAccidentCausesPreliminaryAnalysis())) {
+            throw new AccidentException(AccidentResultCodes.EXPRESS_CASE_PRELIMINARY_ANALYSIS_NULL);
+        }
+        //应急防范措施
+        if (StringUtils.isBlank(AccidentExpressReqDTO.getEmergencyPrecautions())) {
+            throw new AccidentException(AccidentResultCodes.EXPRESS_EMERGENCY_PRECAUTIONS_NULL);
+        }
     }
 
 }

--
Gitblit v1.9.2