From d015cc0b48ca51a2b93b6c60c91dc352a104b1e7 Mon Sep 17 00:00:00 2001
From: kongzy <kongzy>
Date: 星期一, 23 九月 2024 10:41:50 +0800
Subject: [PATCH] 删除密码加密

---
 incident-manage/incident-manage-service/src/main/java/com/gkhy/safePlatform/incidentManage/service/impl/AccidentReportServiceImpl.java |  183 +++++++++++++++++++++++++++++++--------------
 1 files changed, 126 insertions(+), 57 deletions(-)

diff --git a/incident-manage/incident-manage-service/src/main/java/com/gkhy/safePlatform/incidentManage/service/impl/AccidentReportServiceImpl.java b/incident-manage/incident-manage-service/src/main/java/com/gkhy/safePlatform/incidentManage/service/impl/AccidentReportServiceImpl.java
index 9bf932c..958088c 100644
--- a/incident-manage/incident-manage-service/src/main/java/com/gkhy/safePlatform/incidentManage/service/impl/AccidentReportServiceImpl.java
+++ b/incident-manage/incident-manage-service/src/main/java/com/gkhy/safePlatform/incidentManage/service/impl/AccidentReportServiceImpl.java
@@ -1,6 +1,8 @@
 package com.gkhy.safePlatform.incidentManage.service.impl;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.gkhy.safePlatform.account.rpc.apimodel.AccountDepartmentService;
+import com.gkhy.safePlatform.account.rpc.apimodel.model.resp.DepInfoRPCRespDTO;
 import com.gkhy.safePlatform.commons.enums.ResultCodes;
 import com.gkhy.safePlatform.commons.query.PageQuery;
 import com.gkhy.safePlatform.commons.utils.BeanCopyUtils;
@@ -8,26 +10,30 @@
 import com.gkhy.safePlatform.commons.vo.ResultVO;
 import com.gkhy.safePlatform.commons.vo.SearchResultVO;
 import com.gkhy.safePlatform.incidentManage.entity.*;
+import com.gkhy.safePlatform.incidentManage.enums.AccidentReportGradeEnum;
+import com.gkhy.safePlatform.incidentManage.enums.AccidentReportLevelEnum;
+import com.gkhy.safePlatform.incidentManage.enums.AccidentReportTypeEnum;
 import com.gkhy.safePlatform.incidentManage.enums.AccidentResultCodes;
 import com.gkhy.safePlatform.incidentManage.exception.AccidentException;
 import com.gkhy.safePlatform.incidentManage.model.dto.req.AccidentReportFileReqDTO;
 import com.gkhy.safePlatform.incidentManage.model.dto.req.AccidentReportReqDTO;
-import com.gkhy.safePlatform.incidentManage.model.dto.resp.AccidentReportDetailRespDTO;
-import com.gkhy.safePlatform.incidentManage.model.dto.resp.AccidentReportFileRespDTO;
-import com.gkhy.safePlatform.incidentManage.model.dto.resp.AccidentReportPageRespDTO;
+import com.gkhy.safePlatform.incidentManage.model.dto.resp.*;
 import com.gkhy.safePlatform.incidentManage.query.AccidentReportQuery;
 import com.gkhy.safePlatform.incidentManage.query.db.AccidentReportDBQuery;
 import com.gkhy.safePlatform.incidentManage.service.AccidentReportService;
+import com.gkhy.safePlatform.incidentManage.service.baseService.AccidentExpressFileInfoService;
+import com.gkhy.safePlatform.incidentManage.service.baseService.AccidentExpressInfoService;
 import com.gkhy.safePlatform.incidentManage.service.baseService.AccidentReportFileInfoService;
 import com.gkhy.safePlatform.incidentManage.service.baseService.AccidentReportInfoService;
+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.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.*;
 import java.util.stream.Collectors;
 
 @Service("accidentReportService")
@@ -38,6 +44,15 @@
 
     @Autowired
     private AccidentReportFileInfoService accidentReportFileInfoService;
+
+    @DubboReference(check = false)
+    private AccountDepartmentService accountDepartmentService;
+
+    @Autowired
+    private AccidentExpressInfoService accidentExpressInfoService;
+
+    @Autowired
+    private AccidentExpressFileInfoService accidentExpressFileInfoService;
 
 
     @Override
@@ -55,10 +70,30 @@
         List<AccidentReportInfoPageDO> accidentReportInfoPageDOList = accidentReportInfoService.selectAccidentReportList(page, accidentReportDBQuery);
         List<AccidentReportPageRespDTO> respList = BeanCopyUtils.copyBeanList(accidentReportInfoPageDOList, AccidentReportPageRespDTO.class);
 
+        Map<Long, String> depPool = new HashMap<>();
+
+        respList.forEach(AccidentReportPageRespDTO -> {
+            // 设置部门名称
+            if (!depPool.containsKey(AccidentReportPageRespDTO.getAccidentDepartmentId())) {
+                ResultVO<DepInfoRPCRespDTO> rpcResult = accountDepartmentService.getDepInfoByDepId(AccidentReportPageRespDTO.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(AccidentReportPageRespDTO.getAccidentDepartmentId());
+            AccidentReportPageRespDTO.setDeptName(depName);
+        });
+
+
         return new SearchResultVO<>(
                 true,
                 pageIndex,
-                pageSize,page.getPages(),
+                pageSize, page.getPages(),
                 page.getTotal(),
                 respList,
                 ResultCodes.OK
@@ -69,6 +104,8 @@
     public ResultVO addAccidentReport(Long uid, AccidentReportReqDTO accidentReportReqDTO) {
         //必填项验证
         checkRequired(accidentReportReqDTO);
+        // 验证枚举
+        checkEnum(accidentReportReqDTO);
 
         Date nowDate = new Date();
         //1.新增事故报告
@@ -77,16 +114,15 @@
         accidentReportInfo.setDelFlag(false);
         accidentReportInfo.setCreateUid(uid);
         accidentReportInfo.setGmtCreate(nowDate);
-        accidentReportInfo.setStatus(false);
         accidentReportInfoService.addAccidentReport(accidentReportInfo);
         //2.新增事故报告附件
-        if (!CollectionUtils.isEmpty(accidentReportReqDTO.getFileList())){
-            addAccidentReportFile(accidentReportInfo.getId(),uid,nowDate,accidentReportReqDTO.getFileList());
+        if (!CollectionUtils.isEmpty(accidentReportReqDTO.getFileList())) {
+            addAccidentReportFile(accidentReportInfo.getId(), uid, nowDate, accidentReportReqDTO.getFileList());
         }
         return new ResultVO(ResultCodes.OK);
     }
 
-    private void  addAccidentReportFile(Long accidentReportId ,Long uid , Date nowDate , List<AccidentReportFileReqDTO> AccidentReportFileReqDTOList){
+    private void addAccidentReportFile(Long accidentReportId, Long uid, Date nowDate, List<AccidentReportFileReqDTO> AccidentReportFileReqDTOList) {
         List<AccidentReportFileInfo> fileInfoList = BeanCopyUtils.copyBeanList(AccidentReportFileReqDTOList, AccidentReportFileInfo.class);
         fileInfoList.forEach(AccidentReportFileInfo -> {
             AccidentReportFileInfo.setAccidentReportId(accidentReportId);
@@ -94,7 +130,7 @@
             AccidentReportFileInfo.setCreateUid(uid);
             AccidentReportFileInfo.setGmtCreate(nowDate);
         });
-        for (AccidentReportFileInfo AccidentReportFileInfo :fileInfoList){
+        for (AccidentReportFileInfo AccidentReportFileInfo : fileInfoList) {
             accidentReportFileInfoService.addAccidentReportFile(AccidentReportFileInfo);
         }
     }
@@ -104,40 +140,51 @@
         AccidentReportDetailRespDTO AccidentReportDetailRespDTO = new AccidentReportDetailRespDTO();
         //查询是否存在
         AccidentReportInfoDetailDO AccidentReportInfoDetailDO = accidentReportInfoService.selectAccidentReportById(id);
-        if (AccidentReportInfoDetailDO==null){
+        if (AccidentReportInfoDetailDO == null) {
             throw new AccidentException(AccidentResultCodes.ACCIDENT_REPORT_NOT_EXIST);
-        }else{
-            BeanUtils.copyProperties(AccidentReportInfoDetailDO,AccidentReportDetailRespDTO);
-            //查找对应的附件
+        } else {
+            BeanUtils.copyProperties(AccidentReportInfoDetailDO, AccidentReportDetailRespDTO);
+            //查找事故报告对应的附件
             List<AccidentReportFileInfoDO> AccidentReportFileInfoDOList = accidentReportFileInfoService.selectByAccidentReportId(id);
-            if (!CollectionUtils.isEmpty(AccidentReportFileInfoDOList)){
-                List<AccidentReportFileRespDTO> accidentReportFileRespDTOList = BeanCopyUtils.copyBeanList(AccidentReportFileInfoDOList , AccidentReportFileRespDTO.class);
+            if (!CollectionUtils.isEmpty(AccidentReportFileInfoDOList)) {
+                List<AccidentReportFileRespDTO> accidentReportFileRespDTOList = BeanCopyUtils.copyBeanList(AccidentReportFileInfoDOList, AccidentReportFileRespDTO.class);
                 AccidentReportDetailRespDTO.setFileList(accidentReportFileRespDTOList);
             }
-            return new ResultVO<>(ResultCodes.OK ,AccidentReportDetailRespDTO);
+            //  查找事故快报对应的附件
+            List<AccidentExpressFileInfoDO> AccidentExpressFileInfoDOList = accidentExpressFileInfoService.selectByAccidentExpressId(AccidentReportDetailRespDTO.getAccidentExpressId());
+            if (!CollectionUtils.isEmpty(AccidentExpressFileInfoDOList)) {
+                List<AccidentExpressFileRespDTO> accidentExpressFileRespDTOList = BeanCopyUtils.copyBeanList(AccidentExpressFileInfoDOList, AccidentExpressFileRespDTO.class);
+                AccidentReportDetailRespDTO.setExpressFileList(accidentExpressFileRespDTOList);
+            }
+
+
+            return new ResultVO<>(ResultCodes.OK, AccidentReportDetailRespDTO);
         }
     }
 
     @Override
     public ResultVO updateAccidentReport(Long uid, AccidentReportReqDTO accidentReportReqDTO) {
+        // 验证枚举
+        checkEnum(accidentReportReqDTO);
+
         Date nowDate = new Date();
         //查询是否存在
         AccidentReportInfoDetailDO AccidentReportInfoDetailDO = accidentReportInfoService.selectAccidentReportById(accidentReportReqDTO.getId());
-        if (AccidentReportInfoDetailDO==null){
+        if (AccidentReportInfoDetailDO == null) {
             throw new AccidentException(AccidentResultCodes.ACCIDENT_REPORT_NOT_EXIST);
-        }else{
+        } else {
             AccidentReportInfo accidentReportInfo = new AccidentReportInfo();
-            BeanUtils.copyProperties(accidentReportReqDTO,accidentReportInfo);
+            BeanUtils.copyProperties(accidentReportReqDTO, accidentReportInfo);
             accidentReportInfo.setUpdateUid(uid);
             accidentReportInfo.setGmtModitify(nowDate);
             accidentReportInfoService.updateAccidentReport(accidentReportInfo);
             //修改事故报告附件
-            updateAccidentReportFile(uid,accidentReportReqDTO.getId(),nowDate,accidentReportReqDTO.getFileList());
+            updateAccidentReportFile(uid, accidentReportReqDTO.getId(), nowDate, accidentReportReqDTO.getFileList());
             return new ResultVO(ResultCodes.OK);
         }
     }
 
-    private void updateAccidentReportFile(Long uid ,Long accidentReportId ,Date nowDate,List<AccidentReportFileReqDTO> AccidentReportFileReqDTOList){
+    private void updateAccidentReportFile(Long uid, Long accidentReportId, Date nowDate, List<AccidentReportFileReqDTO> AccidentReportFileReqDTOList) {
 
         List<AccidentReportFileInfoDO> accidentReportFileInfoDOList = accidentReportFileInfoService.selectByAccidentReportId(accidentReportId);
         List<Long> oldIdsList = accidentReportFileInfoDOList.stream().map(AccidentReportFileInfoDO::getId).collect(Collectors.toList());
@@ -147,11 +194,11 @@
         List<AccidentReportFileInfo> addList = new ArrayList<>();
         //删除的附件集合(id)
         List<Long> deleteList = new ArrayList<>();
-        for (AccidentReportFileReqDTO AccidentReportFileReqDTO : AccidentReportFileReqDTOList){
+        for (AccidentReportFileReqDTO AccidentReportFileReqDTO : AccidentReportFileReqDTOList) {
             //如果不存在id则表示页面新增的附件
-            if (AccidentReportFileReqDTO.getId() == null){
+            if (AccidentReportFileReqDTO.getId() == null) {
                 AccidentReportFileInfo AccidentReportFileInfo = new AccidentReportFileInfo();
-                BeanUtils.copyProperties(AccidentReportFileReqDTO,AccidentReportFileInfo);
+                BeanUtils.copyProperties(AccidentReportFileReqDTO, AccidentReportFileInfo);
                 AccidentReportFileInfo.setDelFlag(false);
                 AccidentReportFileInfo.setGmtCreate(nowDate);
                 AccidentReportFileInfo.setCreateUid(uid);
@@ -159,45 +206,46 @@
                 addList.add(AccidentReportFileInfo);
             }
             //如果存在id则判断页面是否删除
-            else{
+            else {
                 newIdsList.add(AccidentReportFileReqDTO.getId());
             }
         }
-        for (Long oldId : oldIdsList){
-            if (!newIdsList.contains(oldId)){
+        for (Long oldId : oldIdsList) {
+            if (!newIdsList.contains(oldId)) {
                 deleteList.add(oldId);
             }
         }
-        if (!CollectionUtils.isEmpty(addList)){
-            for (AccidentReportFileInfo AccidentReportFileInfo : addList){
+        if (!CollectionUtils.isEmpty(addList)) {
+            for (AccidentReportFileInfo AccidentReportFileInfo : addList) {
                 accidentReportFileInfoService.addAccidentReportFile(AccidentReportFileInfo);
             }
         }
-        if (!CollectionUtils.isEmpty(deleteList)){
+        if (!CollectionUtils.isEmpty(deleteList)) {
             accidentReportFileInfoService.deleteAccidentReportFileByIds(deleteList);
         }
     }
 
 
     @Override
-    public ResultVO batchDeleteAccidentReport(String ids) {
-        if (StringUtils.isBlank(ids)){
+    public ResultVO batchDeleteAccidentReport(Long[] ids) {
+        if (ids == null || ids.length == 0) {
             throw new AccidentException(AccidentResultCodes.ACCIDENT_REPORT_NULL);
-        }else{
-            String[] idArr = ids.split(",");
-            for (String id : idArr) {
-                deleteAccidentReport(Long.valueOf(id));
+        } else {
+
+            for (Long id : ids) {
+                deleteAccidentReport(id);
             }
             return new ResultVO(ResultCodes.OK);
         }
     }
 
+
     private void deleteAccidentReport(Long id) {
         //查询是否存在
         AccidentReportInfoDetailDO AccidentReportInfoDetailDO = accidentReportInfoService.selectAccidentReportById(id);
-        if (AccidentReportInfoDetailDO==null){
+        if (AccidentReportInfoDetailDO == null) {
             throw new AccidentException(AccidentResultCodes.ACCIDENT_REPORT_NOT_EXIST);
-        }else{
+        } else {
             accidentReportInfoService.deleteAccidentReportById(id);
             //删除附件
             accidentReportFileInfoService.deleteAccidentReportFileByAccidentReportId(id);
@@ -205,65 +253,86 @@
     }
 
 
-
-
     /**
      * 验证必填项
+     *
      * @return
      */
-    private void checkRequired(AccidentReportReqDTO AccidentReportReqDTO) {
+    private void checkRequired(AccidentReportReqDTO accidentReportReqDTO) {
         //事故快报
-        if (AccidentReportReqDTO.getAccidentExpressId() == null ) {
+        if (accidentReportReqDTO.getAccidentExpressId() == null) {
             throw new AccidentException(AccidentResultCodes.ACCIDENT_EXPRESS_NULL);
         }
+        AccidentExpressInfoDetailDO accidentExpressInfo = accidentExpressInfoService.selectAccidentExpressById(accidentReportReqDTO.getAccidentExpressId());
+        if (accidentExpressInfo == null) {
+            throw new AccidentException(AccidentResultCodes.ACCIDENT_EXPRESS_NOT_EXIST);
+        }
+
         //事故类型
-        if (StringUtils.isBlank(AccidentReportReqDTO.getAccidentType())) {
+        if (accidentReportReqDTO.getAccidentType() == null) {
             throw new AccidentException(AccidentResultCodes.REPORT_TYPE_NULL);
         }
         //事故等级
-        if (StringUtils.isBlank(AccidentReportReqDTO.getAccidentGrade())) {
+        if (accidentReportReqDTO.getAccidentGrade() == null) {
             throw new AccidentException(AccidentResultCodes.REPORT_GRADE_NULL);
         }
         //经济损失
-        if (AccidentReportReqDTO.getEconomicLoss() == null ) {
+        if (accidentReportReqDTO.getEconomicLoss() == null) {
             throw new AccidentException(AccidentResultCodes.REPORT_ECONOMIC_LOSS_NULL);
         }
         //要求报告完成期限
-        if (AccidentReportReqDTO.getReportDeadline() == null ) {
+        if (accidentReportReqDTO.getReportDeadline() == null) {
             throw new AccidentException(AccidentResultCodes.REPORT_REPORT_DEADLINE_NULL);
         }
         //事故级别
-        if (StringUtils.isBlank(AccidentReportReqDTO.getAccidentLevel())) {
+        if (accidentReportReqDTO.getAccidentLevel() == null) {
             throw new AccidentException(AccidentResultCodes.REPORT_LEVEL_NULL);
         }
         //原因综合分析(直接)
-        if (StringUtils.isBlank(AccidentReportReqDTO.getComprehensiveAnalysisDirect())) {
+        if (StringUtils.isBlank(accidentReportReqDTO.getComprehensiveAnalysisDirect())) {
             throw new AccidentException(AccidentResultCodes.REPORT_COMPREHENSIVE_ANALYSIS_DIRECT_NULL);
         }
         //原因综合分析(直接)
-        if (StringUtils.isBlank(AccidentReportReqDTO.getComprehensiveAnalysisDirect())) {
+        if (StringUtils.isBlank(accidentReportReqDTO.getComprehensiveAnalysisDirect())) {
             throw new AccidentException(AccidentResultCodes.REPORT_COMPREHENSIVE_ANALYSIS_DIRECT_NULL);
         }
         //原因综合分析(间接)
-        if (StringUtils.isBlank(AccidentReportReqDTO.getComprehensiveAnalysisIndirect())) {
+        if (StringUtils.isBlank(accidentReportReqDTO.getComprehensiveAnalysisIndirect())) {
             throw new AccidentException(AccidentResultCodes.REPORT_COMPREHENSIVE_ANALYSIS_INDIRECT_NULL);
         }
         //整改措施
-        if (StringUtils.isBlank(AccidentReportReqDTO.getRectificationMeasures())) {
+        if (StringUtils.isBlank(accidentReportReqDTO.getRectificationMeasures())) {
             throw new AccidentException(AccidentResultCodes.REPORT_RECTIFICATION_MEASURES_NULL);
         }
         //事故处理
-        if (StringUtils.isBlank(AccidentReportReqDTO.getAccidentHandling())) {
+        if (StringUtils.isBlank(accidentReportReqDTO.getAccidentHandling())) {
             throw new AccidentException(AccidentResultCodes.REPORT_ACCIDENT_HANDLING_NULL);
         }
         //填写人
-        if (AccidentReportReqDTO.getFillInUserUid() == null ) {
+        if (accidentReportReqDTO.getFillInUserUid() == null) {
             throw new AccidentException(AccidentResultCodes.REPORT_FILL_IN_USER_UID_NULL);
         }
         //填写日期
-        if (AccidentReportReqDTO.getFillInTime() == null ) {
+        if (accidentReportReqDTO.getFillInTime() == null) {
             throw new AccidentException(AccidentResultCodes.REPORT_FILL_IN_TIME_NULL);
         }
     }
 
+    /**
+     * 枚举验证
+     */
+    private void checkEnum(AccidentReportReqDTO accidentExpressReqDTO) {
+        if (AccidentReportTypeEnum.getByCode(accidentExpressReqDTO.getAccidentType()) == null) {
+            throw new AccidentException(AccidentResultCodes.REPORT_ENUMS_TYPE_NOT_EXIST);
+        }
+        if (AccidentReportGradeEnum.getByCode(accidentExpressReqDTO.getAccidentGrade()) == null) {
+            throw new AccidentException(AccidentResultCodes.REPORT_ENUMS_GRADE_NOT_EXIST);
+        }
+        if (AccidentReportLevelEnum.getByCode(accidentExpressReqDTO.getAccidentLevel()) == null) {
+            throw new AccidentException(AccidentResultCodes.REPORT_ENUMS_LEVEL_NOT_EXIST);
+        }
+    }
+
+
+
 }

--
Gitblit v1.9.2