From 0414ddb0b2b3a7199ae6181a770f97ac140dbd73 Mon Sep 17 00:00:00 2001 From: zhangf <1603559716@qq.com> Date: 星期三, 08 五月 2024 16:46:22 +0800 Subject: [PATCH] spi统计 --- incident-manage/incident-manage-service/src/main/java/com/gkhy/safePlatform/incidentManage/service/impl/AccidentReportServiceImpl.java | 87 +++++++++++++++++++++++++++++++------------ 1 files changed, 62 insertions(+), 25 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 3bab61d..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 @@ -10,16 +10,18 @@ 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; @@ -29,6 +31,8 @@ import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; +import java.text.ParseException; +import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; @@ -46,6 +50,9 @@ @Autowired private AccidentExpressInfoService accidentExpressInfoService; + + @Autowired + private AccidentExpressFileInfoService accidentExpressFileInfoService; @Override @@ -97,6 +104,8 @@ public ResultVO addAccidentReport(Long uid, AccidentReportReqDTO accidentReportReqDTO) { //必填项验证 checkRequired(accidentReportReqDTO); + // 验证枚举 + checkEnum(accidentReportReqDTO); Date nowDate = new Date(); //1.新增事故报告 @@ -105,7 +114,6 @@ accidentReportInfo.setDelFlag(false); accidentReportInfo.setCreateUid(uid); accidentReportInfo.setGmtCreate(nowDate); - accidentReportInfo.setStatus(false); accidentReportInfoService.addAccidentReport(accidentReportInfo); //2.新增事故报告附件 if (!CollectionUtils.isEmpty(accidentReportReqDTO.getFileList())) { @@ -136,18 +144,29 @@ throw new AccidentException(AccidentResultCodes.ACCIDENT_REPORT_NOT_EXIST); } else { BeanUtils.copyProperties(AccidentReportInfoDetailDO, AccidentReportDetailRespDTO); - //查找对应的附件 + //查找事故报告对应的附件 List<AccidentReportFileInfoDO> AccidentReportFileInfoDOList = accidentReportFileInfoService.selectByAccidentReportId(id); if (!CollectionUtils.isEmpty(AccidentReportFileInfoDOList)) { List<AccidentReportFileRespDTO> accidentReportFileRespDTOList = BeanCopyUtils.copyBeanList(AccidentReportFileInfoDOList, AccidentReportFileRespDTO.class); AccidentReportDetailRespDTO.setFileList(accidentReportFileRespDTOList); } + // 查找事故快报对应的附件 + 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()); @@ -208,17 +227,18 @@ @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)); + + for (Long id : ids) { + deleteAccidentReport(id); } return new ResultVO(ResultCodes.OK); } } + private void deleteAccidentReport(Long id) { //查询是否存在 @@ -238,64 +258,81 @@ * * @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()); + 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