| | |
| | | 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.AccidentExpressEnum; |
| | | import com.gkhy.safePlatform.incidentManage.enums.AccidentResultCodes; |
| | | import com.gkhy.safePlatform.incidentManage.exception.AccidentException; |
| | | import com.gkhy.safePlatform.incidentManage.model.dto.req.AccidentExpressCasualtyReqDTO; |
| | |
| | | |
| | | Map<Long, String> depPool = new HashMap<>(); |
| | | |
| | | respList.forEach(AccidentExpressPageRespDTO ->{ |
| | | respList.forEach(AccidentExpressPageRespDTO -> { |
| | | // 设置部门名称 |
| | | if (!depPool.containsKey(AccidentExpressPageRespDTO.getAccidentDepartmentId())) { |
| | | ResultVO<DepInfoRPCRespDTO> rpcResult = accountDepartmentService.getDepInfoByDepId(AccidentExpressPageRespDTO.getAccidentDepartmentId()); |
| | |
| | | |
| | | depPool.put(dep.getDepId(), dep.getDepName()); |
| | | } |
| | | }} |
| | | } |
| | | } |
| | | |
| | | String depName = depPool.get(AccidentExpressPageRespDTO.getAccidentDepartmentId()); |
| | | AccidentExpressPageRespDTO.setDeptName(depName); |
| | |
| | | return new SearchResultVO<>( |
| | | true, |
| | | pageIndex, |
| | | pageSize,page.getPages(), |
| | | pageSize, page.getPages(), |
| | | page.getTotal(), |
| | | respList, |
| | | ResultCodes.OK |
| | |
| | | //必填项验证 |
| | | checkRequired(accidentExpressReqDTO); |
| | | |
| | | //枚举验证 |
| | | checkEnum(accidentExpressReqDTO); |
| | | |
| | | Date nowDate = new Date(); |
| | | //1.新增事故快报 |
| | | AccidentExpressInfo accidentExpressInfo = new AccidentExpressInfo(); |
| | |
| | | accidentExpressInfo.setGmtCreate(nowDate); |
| | | accidentExpressInfoService.addAccidentExpress(accidentExpressInfo); |
| | | //2.新增事故快报附件 |
| | | if (!CollectionUtils.isEmpty(accidentExpressReqDTO.getFileList())){ |
| | | addAccidentExpressFile(accidentExpressInfo.getId(),uid,nowDate,accidentExpressReqDTO.getFileList()); |
| | | if (!CollectionUtils.isEmpty(accidentExpressReqDTO.getFileList())) { |
| | | addAccidentExpressFile(accidentExpressInfo.getId(), uid, nowDate, accidentExpressReqDTO.getFileList()); |
| | | } |
| | | |
| | | AccidentExpressDetailRespDTO accidentExpressDetailRespDTO = new AccidentExpressDetailRespDTO(); |
| | | BeanUtils.copyProperties(accidentExpressInfo,accidentExpressDetailRespDTO); |
| | | return new ResultVO<>(ResultCodes.OK,accidentExpressDetailRespDTO); |
| | | BeanUtils.copyProperties(accidentExpressInfo, accidentExpressDetailRespDTO); |
| | | return new ResultVO<>(ResultCodes.OK, accidentExpressDetailRespDTO); |
| | | } |
| | | |
| | | private void addAccidentExpressFile(Long accidentExpressId ,Long uid , Date nowDate , List<AccidentExpressFileReqDTO> AccidentExpressFileReqDTOList){ |
| | | private void addAccidentExpressFile(Long accidentExpressId, Long uid, Date nowDate, List<AccidentExpressFileReqDTO> AccidentExpressFileReqDTOList) { |
| | | List<AccidentExpressFileInfo> fileInfoList = BeanCopyUtils.copyBeanList(AccidentExpressFileReqDTOList, AccidentExpressFileInfo.class); |
| | | fileInfoList.forEach(AccidentExpressFileInfo -> { |
| | | AccidentExpressFileInfo.setAccidentExpressId(accidentExpressId); |
| | |
| | | AccidentExpressFileInfo.setCreateUid(uid); |
| | | AccidentExpressFileInfo.setGmtCreate(nowDate); |
| | | }); |
| | | for (AccidentExpressFileInfo AccidentExpressFileInfo :fileInfoList){ |
| | | for (AccidentExpressFileInfo AccidentExpressFileInfo : fileInfoList) { |
| | | accidentExpressFileInfoService.addAccidentExpressFile(AccidentExpressFileInfo); |
| | | } |
| | | } |
| | |
| | | AccidentExpressDetailRespDTO AccidentExpressDetailRespDTO = new AccidentExpressDetailRespDTO(); |
| | | //查询是否存在 |
| | | AccidentExpressInfoDetailDO AccidentExpressInfoDetailDO = accidentExpressInfoService.selectAccidentExpressById(id); |
| | | if (AccidentExpressInfoDetailDO==null){ |
| | | if (AccidentExpressInfoDetailDO == null) { |
| | | throw new AccidentException(AccidentResultCodes.ACCIDENT_EXPRESS_NOT_EXIST); |
| | | }else{ |
| | | BeanUtils.copyProperties(AccidentExpressInfoDetailDO,AccidentExpressDetailRespDTO); |
| | | } else { |
| | | BeanUtils.copyProperties(AccidentExpressInfoDetailDO, AccidentExpressDetailRespDTO); |
| | | //查找对应的附件 |
| | | List<AccidentExpressFileInfoDO> AccidentExpressFileInfoDOList = accidentExpressFileInfoService.selectByAccidentExpressId(id); |
| | | if (!CollectionUtils.isEmpty(AccidentExpressFileInfoDOList)){ |
| | | List<AccidentExpressFileRespDTO> accidentExpressFileRespDTOList = BeanCopyUtils.copyBeanList(AccidentExpressFileInfoDOList , AccidentExpressFileRespDTO.class); |
| | | if (!CollectionUtils.isEmpty(AccidentExpressFileInfoDOList)) { |
| | | List<AccidentExpressFileRespDTO> accidentExpressFileRespDTOList = BeanCopyUtils.copyBeanList(AccidentExpressFileInfoDOList, AccidentExpressFileRespDTO.class); |
| | | AccidentExpressDetailRespDTO.setFileList(accidentExpressFileRespDTOList); |
| | | } |
| | | return new ResultVO<>(ResultCodes.OK ,AccidentExpressDetailRespDTO); |
| | | return new ResultVO<>(ResultCodes.OK, AccidentExpressDetailRespDTO); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public ResultVO updateAccidentExpress(Long uid, AccidentExpressReqDTO accidentExpressReqDTO) { |
| | | |
| | | //必填项验证 |
| | | checkRequired(accidentExpressReqDTO); |
| | | //枚举验证 |
| | | checkEnum(accidentExpressReqDTO); |
| | | |
| | | Date nowDate = new Date(); |
| | | //查询是否存在 |
| | | AccidentExpressInfoDetailDO AccidentExpressInfoDetailDO = accidentExpressInfoService.selectAccidentExpressById(accidentExpressReqDTO.getId()); |
| | | if (AccidentExpressInfoDetailDO==null){ |
| | | if (AccidentExpressInfoDetailDO == null) { |
| | | throw new AccidentException(AccidentResultCodes.ACCIDENT_EXPRESS_NOT_EXIST); |
| | | }else{ |
| | | } else { |
| | | AccidentExpressInfo accidentExpressInfo = new AccidentExpressInfo(); |
| | | BeanUtils.copyProperties(accidentExpressReqDTO,accidentExpressInfo); |
| | | BeanUtils.copyProperties(accidentExpressReqDTO, accidentExpressInfo); |
| | | accidentExpressInfo.setUpdateUid(uid); |
| | | accidentExpressInfo.setGmtModitify(nowDate); |
| | | accidentExpressInfoService.updateAccidentExpress(accidentExpressInfo); |
| | | //修改事故快报附件 |
| | | updateAccidentExpressFile(uid,accidentExpressReqDTO.getId(),nowDate,accidentExpressReqDTO.getFileList()); |
| | | updateAccidentExpressFile(uid, accidentExpressReqDTO.getId(), nowDate, accidentExpressReqDTO.getFileList()); |
| | | return new ResultVO(ResultCodes.OK); |
| | | } |
| | | } |
| | | |
| | | private void updateAccidentExpressFile(Long uid ,Long accidentExpressId ,Date nowDate,List<AccidentExpressFileReqDTO> AccidentExpressFileReqDTOList){ |
| | | private void updateAccidentExpressFile(Long uid, Long accidentExpressId, Date nowDate, List<AccidentExpressFileReqDTO> accidentExpressFileReqDTOList) { |
| | | |
| | | List<AccidentExpressFileInfoDO> accidentExpressFileInfoDOList = accidentExpressFileInfoService.selectByAccidentExpressId(accidentExpressId); |
| | | List<Long> oldIdsList = accidentExpressFileInfoDOList.stream().map(AccidentExpressFileInfoDO::getId).collect(Collectors.toList()); |
| | |
| | | List<AccidentExpressFileInfo> addList = new ArrayList<>(); |
| | | //删除的附件集合(id) |
| | | List<Long> deleteList = new ArrayList<>(); |
| | | for (AccidentExpressFileReqDTO AccidentExpressFileReqDTO : AccidentExpressFileReqDTOList){ |
| | | //如果不存在id则表示页面新增的附件 |
| | | if (AccidentExpressFileReqDTO.getId() == null){ |
| | | AccidentExpressFileInfo AccidentExpressFileInfo = new AccidentExpressFileInfo(); |
| | | BeanUtils.copyProperties(AccidentExpressFileReqDTO,AccidentExpressFileInfo); |
| | | AccidentExpressFileInfo.setDelFlag(false); |
| | | AccidentExpressFileInfo.setGmtCreate(nowDate); |
| | | AccidentExpressFileInfo.setCreateUid(uid); |
| | | AccidentExpressFileInfo.setAccidentExpressId(accidentExpressId); |
| | | addList.add(AccidentExpressFileInfo); |
| | | } |
| | | //如果存在id则判断页面是否删除 |
| | | else{ |
| | | newIdsList.add(AccidentExpressFileReqDTO.getId()); |
| | | if(accidentExpressFileReqDTOList != null && !accidentExpressFileInfoDOList.isEmpty()){ |
| | | for (AccidentExpressFileReqDTO accidentExpressFileReqDTO : accidentExpressFileReqDTOList) { |
| | | //如果不存在id则表示页面新增的附件 |
| | | if (accidentExpressFileReqDTO.getId() == null) { |
| | | AccidentExpressFileInfo accidentExpressFileInfo = new AccidentExpressFileInfo(); |
| | | BeanUtils.copyProperties(accidentExpressFileReqDTO, accidentExpressFileInfo); |
| | | accidentExpressFileInfo.setDelFlag(false); |
| | | accidentExpressFileInfo.setGmtCreate(nowDate); |
| | | accidentExpressFileInfo.setCreateUid(uid); |
| | | accidentExpressFileInfo.setAccidentExpressId(accidentExpressId); |
| | | addList.add(accidentExpressFileInfo); |
| | | } |
| | | //如果存在id则判断页面是否删除 |
| | | else { |
| | | newIdsList.add(accidentExpressFileReqDTO.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 (AccidentExpressFileInfo AccidentExpressFileInfo : addList){ |
| | | if (!CollectionUtils.isEmpty(addList)) { |
| | | for (AccidentExpressFileInfo AccidentExpressFileInfo : addList) { |
| | | accidentExpressFileInfoService.addAccidentExpressFile(AccidentExpressFileInfo); |
| | | } |
| | | } |
| | | if (!CollectionUtils.isEmpty(deleteList)){ |
| | | if (!CollectionUtils.isEmpty(deleteList)) { |
| | | accidentExpressFileInfoService.deleteAccidentExpressFileByIds(deleteList); |
| | | } |
| | | } |
| | |
| | | |
| | | @Override |
| | | public ResultVO batchDeleteAccidentExpress(Long[] ids) { |
| | | if (ids == null || ids.length==0){ |
| | | if (ids == null || ids.length == 0) { |
| | | throw new AccidentException(AccidentResultCodes.ACCIDENT_EXPRESS_NULL); |
| | | }else{ |
| | | for (Long id : ids){ |
| | | } else { |
| | | for (Long id : ids) { |
| | | deleteAccidentExpress(id); |
| | | } |
| | | return new ResultVO(ResultCodes.OK); |
| | |
| | | private void deleteAccidentExpress(Long id) { |
| | | //查询是否存在 |
| | | AccidentExpressInfoDetailDO AccidentExpressInfoDetailDO = accidentExpressInfoService.selectAccidentExpressById(id); |
| | | if (AccidentExpressInfoDetailDO==null){ |
| | | if (AccidentExpressInfoDetailDO == null) { |
| | | throw new AccidentException(AccidentResultCodes.ACCIDENT_EXPRESS_NOT_EXIST); |
| | | }else{ |
| | | } else { |
| | | accidentExpressInfoService.deleteAccidentExpressById(id); |
| | | //删除附件 |
| | | accidentExpressFileInfoService.deleteAccidentExpressFileByAccidentExpressId(id); |
| | |
| | | @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); |
| | | 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){ |
| | | if (accidentExpressCasualtyReqDTO.getAccidentExpressId() == null) { |
| | | throw new AccidentException(AccidentResultCodes.ACCIDENT_EXPRESS_NULL); |
| | | }else{ |
| | | } else { |
| | | AccidentExpressCasualtyInfo accidentExpressCasualtyInfo = new AccidentExpressCasualtyInfo(); |
| | | BeanUtils.copyProperties(accidentExpressCasualtyReqDTO,accidentExpressCasualtyInfo); |
| | | BeanUtils.copyProperties(accidentExpressCasualtyReqDTO, accidentExpressCasualtyInfo); |
| | | accidentExpressCasualtyInfo.setDelFlag(false); |
| | | accidentExpressCasualtyInfo.setGmtCreate(new Date()); |
| | | accidentExpressCasualtyInfo.setCreateUid(uid); |
| | |
| | | } |
| | | |
| | | @Override |
| | | public ResultVO delAccidentExpressCasualty(Long accidentExpressId) { |
| | | accidentExpressCasualtyInfoService.deleteAccidentExpressCasualtyById(accidentExpressId); |
| | | public ResultVO delAccidentExpressCasualty(Long id) { |
| | | accidentExpressCasualtyInfoService.deleteAccidentExpressCasualtyById(id); |
| | | return new ResultVO(ResultCodes.OK); |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | * 验证必填项 |
| | | * |
| | | * @return |
| | | */ |
| | | private void checkRequired(AccidentExpressReqDTO AccidentExpressReqDTO) { |
| | | private void checkRequired(AccidentExpressReqDTO accidentExpressReqDTO) { |
| | | //名称 |
| | | if (StringUtils.isBlank(AccidentExpressReqDTO.getAccidentName())) { |
| | | if (StringUtils.isBlank(accidentExpressReqDTO.getAccidentName())) { |
| | | throw new AccidentException(AccidentResultCodes.EXPRESS_NAME_NULL); |
| | | } |
| | | //部门 |
| | | if (AccidentExpressReqDTO.getAccidentDepartmentId()==null) { |
| | | if (accidentExpressReqDTO.getAccidentDepartmentId() == null) { |
| | | throw new AccidentException(AccidentResultCodes.EXPRESS_DEPARTMENT_NULL); |
| | | } |
| | | //发生时间 |
| | | if (AccidentExpressReqDTO.getOccurrenceTime() == null ) { |
| | | if (accidentExpressReqDTO.getOccurrenceTime() == null) { |
| | | throw new AccidentException(AccidentResultCodes.EXPRESS_TIME_NULL); |
| | | } |
| | | //发生地点 |
| | | if (StringUtils.isBlank(AccidentExpressReqDTO.getOccurrencePlace())) { |
| | | if (StringUtils.isBlank(accidentExpressReqDTO.getOccurrencePlace())) { |
| | | throw new AccidentException(AccidentResultCodes.EXPRESS_PLACE_NULL); |
| | | } |
| | | //事故原因 |
| | | if (StringUtils.isBlank(AccidentExpressReqDTO.getAccidentCause())) { |
| | | if (accidentExpressReqDTO.getAccidentCause() == null) { |
| | | throw new AccidentException(AccidentResultCodes.EXPRESS_CAUSE_NULL); |
| | | } |
| | | //是否有伤亡 |
| | | if (AccidentExpressReqDTO.getCasualties()==null) { |
| | | if (accidentExpressReqDTO.getCasualties() == null) { |
| | | throw new AccidentException(AccidentResultCodes.EXPRESS_CASUALTIES_NULL); |
| | | } |
| | | //简要经过 |
| | | if (StringUtils.isBlank(AccidentExpressReqDTO.getAccidentBriefProcess())) { |
| | | if (StringUtils.isBlank(accidentExpressReqDTO.getAccidentBriefProcess())) { |
| | | throw new AccidentException(AccidentResultCodes.EXPRESS_BRIEF_PROCESS_NULL); |
| | | } |
| | | //初步分析 |
| | | if (StringUtils.isBlank(AccidentExpressReqDTO.getAccidentCausesPreliminaryAnalysis())) { |
| | | if (StringUtils.isBlank(accidentExpressReqDTO.getAccidentCausesPreliminaryAnalysis())) { |
| | | throw new AccidentException(AccidentResultCodes.EXPRESS_CASE_PRELIMINARY_ANALYSIS_NULL); |
| | | } |
| | | //应急防范措施 |
| | | if (StringUtils.isBlank(AccidentExpressReqDTO.getEmergencyPrecautions())) { |
| | | if (StringUtils.isBlank(accidentExpressReqDTO.getEmergencyPrecautions())) { |
| | | throw new AccidentException(AccidentResultCodes.EXPRESS_EMERGENCY_PRECAUTIONS_NULL); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * |
| | | * 枚举验证 |
| | | * |
| | | */ |
| | | private void checkEnum(AccidentExpressReqDTO accidentExpressReqDTO){ |
| | | if (AccidentExpressEnum.getByCode(accidentExpressReqDTO.getAccidentCause())==null){ |
| | | throw new AccidentException(AccidentResultCodes.EXPRESS_ENUMS_CAUSE_NOT_EXIST); |
| | | } |
| | | } |
| | | |
| | | } |