| | |
| | | } |
| | | |
| | | public CaseStatisticsBaseDTO statistics(Map<String, Object> terms) throws IOException { |
| | | Object canal = null; |
| | | if(ObjectUtils.isNotEmpty(terms.get("canal"))){ |
| | | canal = terms.get("canal"); |
| | | } |
| | | //基础数据统计 |
| | | CaseStatisticsBaseDTO caseStatisticsBaseDTO = mapper.statisticsBase(terms); |
| | | Integer baseTotalNum = dellNull(caseStatisticsBaseDTO.getResolveNum()) + dellNull(caseStatisticsBaseDTO.getUnResolveNum()) + dellNull(caseStatisticsBaseDTO.getResolveingNum()); |
| | |
| | | } |
| | | twoSource.setCanalName(CaseBaseConstsEnum.CASE_CANAL_2.getDes()); |
| | | |
| | | Integer sourceTotalNum = dellNull(oneSource.getCaseNum()) + dellNull(oneSource.getCaseNum()); |
| | | terms.put("canal", CaseBaseConstsEnum.CASE_CANAL_3.getIndex()); |
| | | CaseStatisticsSourceDTO threeSource = mapper.statisticsSource(terms); |
| | | if(ObjectUtils.isEmpty(threeSource)){ |
| | | threeSource = new CaseStatisticsSourceDTO(); |
| | | } |
| | | |
| | | terms.put("canal", CaseBaseConstsEnum.CASE_CANAL_4.getIndex()); |
| | | CaseStatisticsSourceDTO fourSource = mapper.statisticsSource(terms); |
| | | if(ObjectUtils.isEmpty(fourSource)){ |
| | | fourSource = new CaseStatisticsSourceDTO(); |
| | | } |
| | | |
| | | Integer sourceTotalNum = dellNull(oneSource.getCaseNum()) + dellNull(twoSource.getCaseNum()) + dellNull(threeSource.getCaseNum()) + dellNull(fourSource.getCaseNum()); |
| | | oneSource.setCaseRate(BigDecimalUtil.integerDivideDelZero(oneSource.getCaseNum() * 100, sourceTotalNum, 1)); |
| | | oneSource.setResolveRate(BigDecimalUtil.integerDivideDelZero(oneSource.getResolveNum() * 100, oneSource.getCaseNum(), 1)); |
| | | twoSource.setCaseRate(BigDecimalUtil.integerDivideDelZero(twoSource.getCaseNum() * 100, sourceTotalNum, 1)); |
| | | twoSource.setResolveRate(BigDecimalUtil.integerDivideDelZero(twoSource.getResolveNum() * 100, twoSource.getCaseNum(), 1)); |
| | | |
| | | CaseStatisticsSourceDTO threeSource = new CaseStatisticsSourceDTO(); |
| | | threeSource.setCanalName("自行排查"); |
| | | threeSource.setResolveRate("0"); |
| | | threeSource.setCaseRate("0"); |
| | | CaseStatisticsSourceDTO fourSource = new CaseStatisticsSourceDTO(); |
| | | fourSource.setCanalName("协同推送"); |
| | | fourSource.setResolveRate("0"); |
| | | fourSource.setCaseRate("0"); |
| | | |
| | | threeSource.setCanalName(CaseBaseConstsEnum.CASE_CANAL_3.getDes()); |
| | | threeSource.setCaseRate(BigDecimalUtil.integerDivideDelZero(threeSource.getCaseNum() * 100, sourceTotalNum, 1)); |
| | | threeSource.setResolveRate(BigDecimalUtil.integerDivideDelZero(threeSource.getResolveNum() * 100, threeSource.getCaseNum(), 1)); |
| | | |
| | | fourSource.setCanalName(CaseBaseConstsEnum.CASE_CANAL_4.getDes()); |
| | | fourSource.setCaseRate(BigDecimalUtil.integerDivideDelZero(fourSource.getCaseNum() * 100, sourceTotalNum, 1)); |
| | | fourSource.setResolveRate(BigDecimalUtil.integerDivideDelZero(fourSource.getResolveNum() * 100, fourSource.getCaseNum(), 1)); |
| | | |
| | | caseStatisticsBaseDTO.setOneSource(oneSource); |
| | | caseStatisticsBaseDTO.setTwoSource(twoSource); |
| | | caseStatisticsBaseDTO.setThreeSource(threeSource); |
| | | caseStatisticsBaseDTO.setFourSource(fourSource); |
| | | |
| | | //案件集合 |
| | | if(ObjectUtils.isEmpty(canal)){ |
| | | terms.remove("canal"); |
| | | }else{ |
| | | terms.put("canal", canal); |
| | | } |
| | | Sort sort = Sort.by(Sort.Direction.DESC, "a.create_time"); |
| | | PageRequest pageRequest = PageRequest.of(0, 5, sort); |
| | | Page<CasePageDTO> casePageDTOS = pageQueryAll(pageRequest, terms); |