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/AccidentCountServiceImpl.java | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 54 insertions(+), 0 deletions(-) diff --git a/incident-manage/incident-manage-service/src/main/java/com/gkhy/safePlatform/incidentManage/service/impl/AccidentCountServiceImpl.java b/incident-manage/incident-manage-service/src/main/java/com/gkhy/safePlatform/incidentManage/service/impl/AccidentCountServiceImpl.java index 14a25f3..9349596 100644 --- a/incident-manage/incident-manage-service/src/main/java/com/gkhy/safePlatform/incidentManage/service/impl/AccidentCountServiceImpl.java +++ b/incident-manage/incident-manage-service/src/main/java/com/gkhy/safePlatform/incidentManage/service/impl/AccidentCountServiceImpl.java @@ -2,6 +2,7 @@ import com.gkhy.safePlatform.account.rpc.apimodel.AccountDepartmentService; import com.gkhy.safePlatform.account.rpc.apimodel.model.resp.DepInfoRPCRespDTO; +import com.gkhy.safePlatform.commons.enums.E; import com.gkhy.safePlatform.commons.enums.ResultCodes; import com.gkhy.safePlatform.commons.exception.BusinessException; import com.gkhy.safePlatform.commons.utils.BeanCopyUtils; @@ -9,6 +10,7 @@ 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.AccidentResultCodes; import com.gkhy.safePlatform.incidentManage.enums.DepartmentLevelEnum; @@ -30,6 +32,7 @@ import org.springframework.util.CollectionUtils; import java.math.BigDecimal; +import java.time.LocalDate; import java.util.*; import java.util.stream.Collectors; @@ -558,4 +561,55 @@ } return respDTOList; } + + /** + * 统计数据 + */ + @Override + public List<AccidentStatisticDTO> getCountByAccidentGrade(Integer year, Integer month) { + if(null == year && null != month){ + throw new BusinessException(ResultCodes.CLIENT_PARAM_ERROR,"年份不可为空"); + } + if(null == year && null == month) { + year = LocalDate.now().getYear(); + } + List<AccidentStatisticDTO> accidentStatisticDTOList = new ArrayList<>(); + List<AccidentStatisticCountDO> countByAccidentGrades = accidentReportInfoService.getCountByAccidentGrade(year, month); + for (AccidentReportGradeEnum gradeEnum : AccidentReportGradeEnum.values()) { + AccidentStatisticDTO accidentStatisticDTO = new AccidentStatisticDTO(); + accidentStatisticDTO.setAccidentGrade(gradeEnum.getValue()); + List<AccidentStatisticCountDO> collect = countByAccidentGrades.stream().filter(c -> c.getAccidentGrade().equals(gradeEnum.getCode())).collect(Collectors.toList()); + accidentStatisticDTO.setCount(collect.size()>0 ? collect.get(0).getCount() : 0); + accidentStatisticDTOList.add(accidentStatisticDTO); + } + return accidentStatisticDTOList; + } + + /** + * 统计数据 + */ + @Override + public AccidentCountByGradeRespDTO getSpiAccidentCountByAccidentGrade(Integer year, Integer month) { + + List<AccidentStatisticCountDO> countByAccidentGrades = accidentReportInfoService.getCountByAccidentGrade(year, month); + AccidentCountByGradeRespDTO accidentCountByGradeRespDTO = new AccidentCountByGradeRespDTO(); + int total = 0; + for (AccidentStatisticCountDO countByAccidentGrade : countByAccidentGrades) { + if(countByAccidentGrade.getAccidentGrade().equals(AccidentReportGradeEnum.GRADE_ONE.getCode())){ + accidentCountByGradeRespDTO.setAccidentOne(countByAccidentGrade.getCount()); + } + if(countByAccidentGrade.getAccidentGrade().equals(AccidentReportGradeEnum.GRADE_TWO.getCode())){ + accidentCountByGradeRespDTO.setAccidentTwo(countByAccidentGrade.getCount()); + } + if(countByAccidentGrade.getAccidentGrade().equals(AccidentReportGradeEnum.GRADE_THREE.getCode())){ + accidentCountByGradeRespDTO.setAccidentThree(countByAccidentGrade.getCount()); + } + if(countByAccidentGrade.getAccidentGrade().equals(AccidentReportGradeEnum.GRADE_FOUR.getCode())){ + accidentCountByGradeRespDTO.setAccidentFour(countByAccidentGrade.getCount()); + } + total += countByAccidentGrade.getCount(); + } + + return accidentCountByGradeRespDTO; + } } -- Gitblit v1.9.2