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/AccidentReportServiceImpl.java | 110 +++++++++++++++++++++++++++++++++++------------------- 1 files changed, 71 insertions(+), 39 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..3bab61d 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; @@ -18,16 +20,16 @@ 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.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.util.*; import java.util.stream.Collectors; @Service("accidentReportService") @@ -38,6 +40,12 @@ @Autowired private AccidentReportFileInfoService accidentReportFileInfoService; + + @DubboReference(check = false) + private AccountDepartmentService accountDepartmentService; + + @Autowired + private AccidentExpressInfoService accidentExpressInfoService; @Override @@ -55,10 +63,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 @@ -80,13 +108,13 @@ 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 +122,7 @@ AccidentReportFileInfo.setCreateUid(uid); AccidentReportFileInfo.setGmtCreate(nowDate); }); - for (AccidentReportFileInfo AccidentReportFileInfo :fileInfoList){ + for (AccidentReportFileInfo AccidentReportFileInfo : fileInfoList) { accidentReportFileInfoService.addAccidentReportFile(AccidentReportFileInfo); } } @@ -104,17 +132,17 @@ 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); + return new ResultVO<>(ResultCodes.OK, AccidentReportDetailRespDTO); } } @@ -123,21 +151,21 @@ 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 +175,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,21 +187,21 @@ 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); } } @@ -181,9 +209,9 @@ @Override public ResultVO batchDeleteAccidentReport(String ids) { - if (StringUtils.isBlank(ids)){ + if (StringUtils.isBlank(ids)) { throw new AccidentException(AccidentResultCodes.ACCIDENT_REPORT_NULL); - }else{ + } else { String[] idArr = ids.split(","); for (String id : idArr) { deleteAccidentReport(Long.valueOf(id)); @@ -195,9 +223,9 @@ 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,17 +233,21 @@ } - - /** * 验证必填项 + * * @return */ 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())) { throw new AccidentException(AccidentResultCodes.REPORT_TYPE_NULL); @@ -225,11 +257,11 @@ 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); } //事故级别 @@ -257,11 +289,11 @@ 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); } } -- Gitblit v1.9.2