From 0414ddb0b2b3a7199ae6181a770f97ac140dbd73 Mon Sep 17 00:00:00 2001
From: zhangf <1603559716@qq.com>
Date: Wed, 08 May 2024 16:46:22 +0800
Subject: [PATCH] spi统计
---
incident-manage/incident-manage-service/src/main/java/com/gkhy/safePlatform/incidentManage/service/impl/AccidentReportServiceImpl.java | 101 +++++++++++++++++++++++++++-----------------------
1 files changed, 54 insertions(+), 47 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 c32bc28..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,30 +10,29 @@
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.AccidentReportCountRespDTO;
-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.AccidentReportRPCQuery;
import com.gkhy.safePlatform.incidentManage.query.db.AccidentReportDBQuery;
-import com.gkhy.safePlatform.incidentManage.query.db.AccidentReportRPCDBQuery;
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 com.gkhy.safePlatform.incidentManage.utils.TimeUtils;
import org.apache.dubbo.config.annotation.DubboReference;
-import org.checkerframework.checker.units.qual.A;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
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;
@@ -51,6 +50,9 @@
@Autowired
private AccidentExpressInfoService accidentExpressInfoService;
+
+ @Autowired
+ private AccidentExpressFileInfoService accidentExpressFileInfoService;
@Override
@@ -102,6 +104,8 @@
public ResultVO addAccidentReport(Long uid, AccidentReportReqDTO accidentReportReqDTO) {
//必填项验证
checkRequired(accidentReportReqDTO);
+ // 验证枚举
+ checkEnum(accidentReportReqDTO);
Date nowDate = new Date();
//1.新增事故报告
@@ -140,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());
@@ -213,11 +228,11 @@
@Override
public ResultVO batchDeleteAccidentReport(Long[] ids) {
- if (ids == null || ids.length==0){
+ if (ids == null || ids.length == 0) {
throw new AccidentException(AccidentResultCodes.ACCIDENT_REPORT_NULL);
} else {
- for (Long id : ids){
+ for (Long id : ids) {
deleteAccidentReport(id);
}
return new ResultVO(ResultCodes.OK);
@@ -243,89 +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);
}
}
- @Override
- public ResultVO<List<AccidentReportCountRespDTO>> countAccidentReport(AccidentReportRPCQuery query) {
-
- List<AccidentReportCount> list = new ArrayList<>();
- AccidentReportRPCDBQuery dbQuery = new AccidentReportRPCDBQuery();
- if (query.getType()==1){
- // 月
- int year = query.getYear();
- int month = query.getMonth();
- dbQuery.setStartTime(TimeUtils.getMonthFirst(year,month));
- dbQuery.setEndTime(TimeUtils.getMonthLast(year,month));
- list = accidentReportInfoService.selectByTimeAndType(dbQuery);
+ /**
+ * 枚举验证
+ */
+ private void checkEnum(AccidentReportReqDTO accidentExpressReqDTO) {
+ if (AccidentReportTypeEnum.getByCode(accidentExpressReqDTO.getAccidentType()) == null) {
+ throw new AccidentException(AccidentResultCodes.REPORT_ENUMS_TYPE_NOT_EXIST);
}
- if (query.getType()==2){
- // 年
- int year = query.getYear();
- dbQuery.setStartTime(TimeUtils.getYearFirst(year));
- dbQuery.setEndTime(TimeUtils.getYearLast(year));
- list = accidentReportInfoService.selectByTimeAndType(dbQuery);
+ if (AccidentReportGradeEnum.getByCode(accidentExpressReqDTO.getAccidentGrade()) == null) {
+ throw new AccidentException(AccidentResultCodes.REPORT_ENUMS_GRADE_NOT_EXIST);
}
-
- List<AccidentReportCountRespDTO> accidentReportCountRespDTOList = BeanCopyUtils.copyBeanList(list,AccidentReportCountRespDTO.class);
- return new ResultVO<>(ResultCodes.OK,accidentReportCountRespDTOList);
+ if (AccidentReportLevelEnum.getByCode(accidentExpressReqDTO.getAccidentLevel()) == null) {
+ throw new AccidentException(AccidentResultCodes.REPORT_ENUMS_LEVEL_NOT_EXIST);
+ }
}
+
+
}
--
Gitblit v1.9.2