From 6bde2de72d9e16a7fc1ee204149effb47d9676d9 Mon Sep 17 00:00:00 2001 From: xusd <330628789@qq.com> Date: Fri, 20 Jun 2025 17:31:33 +0800 Subject: [PATCH] fix:事项来源优化,定时器评价优化 --- dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java | 98 ++++++++++++++++++++++++++++++------------------ 1 files changed, 61 insertions(+), 37 deletions(-) diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java index 24207cd..109bdd0 100644 --- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java +++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java @@ -317,6 +317,10 @@ caseInfo.setCaseNo(utilsClient.createCaseNo(ctUnitDTO.getArea())); caseInfo.setVisitWay(CaseBaseConstsEnum.getVisitWayByCanal(caseInfo.getCanal()).getIndex()); caseInfo.setVisitWayName(CaseBaseConstsEnum.getVisitWayByCanal(caseInfo.getCanal()).getDes()); + if (caseInfo.getCanal().equals(CaseBaseConstsEnum.CASE_CANAL_3.getIndex())) { + caseInfo.setCanalSecond(CaseBaseConstsEnum.CASE_CANAL_SECOND_8.getIndex()); + caseInfo.setCanalSecondName(CaseBaseConstsEnum.CASE_CANAL_SECOND_8.getDes()); + } //默认小程序可见 if (ObjectUtils.isNotEmpty(caseInfo.getCanal())) { if (CaseBaseConstsEnum.CASE_CANAL_1.getIndex().equals(caseInfo.getCanal())) { @@ -1134,7 +1138,7 @@ } if (ObjectUtils.isNotEmpty(content)) { for (CasePageDTO casePageDTO : content) { - if (CaseBaseConstsEnum.CASE_CANAL_4.getIndex().equals(casePageDTO.getCanal())) { + if (StringUtils.isNotEmpty(casePageDTO.getCanalSecondName())) { casePageDTO.setCanalName(casePageDTO.getCanalName() + "-" + casePageDTO.getCanalSecondName()); } StringBuffer sb = new StringBuffer(); @@ -1307,6 +1311,31 @@ return new PageImpl<CasePageDTO>(content, page, total); } + /** + * 统计调解过程 + * 计算案件的调解过程相关统计数据,包括不予受理率、化解中率、化解成功率、化解不成功率等 + * + * @param terms 统计条件 + * @return 包含调解过程统计数据的DTO对象 + */ + public CaseStatisticsBaseDTO statisticsProcess(Map<String, Object> terms) { + CaseStatisticsBaseDTO caseStatisticsBaseDTO = mapper.statisticsBaseProcess(terms); + Integer baseTotalNum = dellNull(caseStatisticsBaseDTO.getRejectNum()) + dellNull(caseStatisticsBaseDTO.getProcessNum()) + dellNull(caseStatisticsBaseDTO.getFinishNum()) + dellNull(caseStatisticsBaseDTO.getFailNum()); + caseStatisticsBaseDTO.setRejectRate(BigDecimalUtil.integerDivideDelZero(caseStatisticsBaseDTO.getRejectNum() * 100, baseTotalNum, 1)); + caseStatisticsBaseDTO.setProcessRate(BigDecimalUtil.integerDivideDelZero(caseStatisticsBaseDTO.getProcessNum() * 100, baseTotalNum, 1)); + caseStatisticsBaseDTO.setFinishRate(BigDecimalUtil.integerDivideDelZero(caseStatisticsBaseDTO.getFinishNum() * 100, baseTotalNum, 1)); + caseStatisticsBaseDTO.setFailRate(BigDecimalUtil.integerDivideDelZero(caseStatisticsBaseDTO.getFailNum() * 100, baseTotalNum, 1)); + // 如果 baseTotalNum为0 设置 总数为0 + caseStatisticsBaseDTO.setTotalNum(baseTotalNum); + + Integer levelTotalNum = caseStatisticsBaseDTO.getOneLevelNum() + caseStatisticsBaseDTO.getTwoLevelNum() + caseStatisticsBaseDTO.getThreeLevelNum(); + caseStatisticsBaseDTO.setOneLevelRate(BigDecimalUtil.integerDivideDelZero(caseStatisticsBaseDTO.getOneLevelNum() * 100, levelTotalNum, 1)); + caseStatisticsBaseDTO.setTwoLevelRate(BigDecimalUtil.integerDivideDelZero(caseStatisticsBaseDTO.getTwoLevelNum() * 100, levelTotalNum, 1)); + caseStatisticsBaseDTO.setThreeLevelRate(BigDecimalUtil.integerDivideDelZero(caseStatisticsBaseDTO.getThreeLevelNum() * 100, levelTotalNum, 1)); + + return caseStatisticsBaseDTO; + } + /** * 纠纷态势 @@ -1391,16 +1420,8 @@ } //基础数据统计 terms.put("areaType", areaType); - CaseStatisticsBaseDTO caseStatisticsBaseDTO = mapper.statisticsBase(terms); - Integer baseTotalNum = dellNull(caseStatisticsBaseDTO.getResolveNum()) + dellNull(caseStatisticsBaseDTO.getUnResolveNum()) + dellNull(caseStatisticsBaseDTO.getResolveingNum()); - Integer resolveTotalNum = dellNull(caseStatisticsBaseDTO.getResolveNum()) + dellNull(caseStatisticsBaseDTO.getUnResolveNum()); - caseStatisticsBaseDTO.setResolveRate(BigDecimalUtil.integerDivideDelZero(caseStatisticsBaseDTO.getResolveNum() * 100, resolveTotalNum, 1)); - caseStatisticsBaseDTO.setUnResolveRate(BigDecimalUtil.integerDivideDelZero(caseStatisticsBaseDTO.getUnResolveNum() * 100, resolveTotalNum, 1)); - caseStatisticsBaseDTO.setResolveingRate(BigDecimalUtil.integerDivideDelZero(caseStatisticsBaseDTO.getResolveingNum() * 100, baseTotalNum, 1)); - Integer levelTotalNum = caseStatisticsBaseDTO.getOneLevelNum() + caseStatisticsBaseDTO.getTwoLevelNum() + caseStatisticsBaseDTO.getThreeLevelNum(); - caseStatisticsBaseDTO.setOneLevelRate(BigDecimalUtil.integerDivideDelZero(caseStatisticsBaseDTO.getOneLevelNum() * 100, levelTotalNum, 1)); - caseStatisticsBaseDTO.setTwoLevelRate(BigDecimalUtil.integerDivideDelZero(caseStatisticsBaseDTO.getTwoLevelNum() * 100, levelTotalNum, 1)); - caseStatisticsBaseDTO.setThreeLevelRate(BigDecimalUtil.integerDivideDelZero(caseStatisticsBaseDTO.getThreeLevelNum() * 100, levelTotalNum, 1)); + // 调用统计调解过程的方法 + CaseStatisticsBaseDTO caseStatisticsBaseDTO = statisticsProcess(terms); //区域数据统计 List<CaseStatisticsAreaDTO> caseStatisticsAreaDTOS = new ArrayList<>(); if (!isLast) { @@ -2200,19 +2221,21 @@ terms.put(key, originalTypeTerms.get(key)); } + // 调用统计调解过程的方法 + CaseStatisticsBaseDTO processStats = statisticsProcess(terms); + + // 将调解过程统计数据合并到统计结果中 + statistics.setTotalNum(processStats.getTotalNum()); + statistics.setRejectNum(processStats.getRejectNum()); + statistics.setProcessNum(processStats.getProcessNum()); + statistics.setFinishNum(processStats.getFinishNum()); + statistics.setFailNum(processStats.getFailNum()); + statistics.setRejectRate(processStats.getRejectRate()); + statistics.setProcessRate(processStats.getProcessRate()); + statistics.setFinishRate(processStats.getFinishRate()); + statistics.setFailRate(processStats.getFailRate()); // 重新获取纠纷类型统计(基于完整的选择类型条件) List<CaseStatisticsTypeDTO> caseStatisticsTypeDTOS = mapper.statisticsTypeFirst(terms); - - // 如果基于选择类型的查询结果为空,则使用全量数据进行纠纷类型统计 - if (ObjectUtils.isEmpty(caseStatisticsTypeDTOS)) { - // 临时移除所有类型筛选条件,获取全量纠纷类型统计 - terms.remove("canal"); - terms.remove("canalSecond"); - terms.remove("canalList"); - terms.remove("canalSecondNot"); - terms.remove("canalSecondAll"); - caseStatisticsTypeDTOS = mapper.statisticsTypeFirst(terms); - } if (ObjectUtils.isNotEmpty(caseStatisticsTypeDTOS)) { sortType(caseStatisticsTypeDTOS); @@ -2526,9 +2549,9 @@ } else { terms.put("queryType", 3); } - log.info("xsd:{}",terms); + log.info("xsd:{}", terms); CtUnitDTO ctUnitDTO = mapper.getUnitByGridCode(terms); - log.info("xsd:ctUnitDTO{}",ctUnitDTO); + log.info("xsd:ctUnitDTO{}", ctUnitDTO); if (ObjectUtils.isNotEmpty(ctUnitDTO)) { if (StringUtils.isNotBlank(ctUnitDTO.getCity()) && StringUtils.isNotBlank(ctUnitDTO.getCityName())) { registerSaveDTO.setQueCity(ctUnitDTO.getCity()); @@ -2616,18 +2639,19 @@ // 获取调解案号 caseInfo.setCaseNo(utilsClient.createCaseNo(ctUnitDTO.getArea())); - caseInfo.setVisitWay(CaseBaseConstsEnum.VISIT_WAY_3.getIndex()); - caseInfo.setVisitWayName(CaseBaseConstsEnum.VISIT_WAY_3.getDes()); - caseInfo.setCanal(CaseBaseConstsEnum.CASE_CANAL_4.getIndex()); - caseInfo.setCanalName(CaseBaseConstsEnum.CASE_CANAL_4.getDes()); - - caseInfo.setCaseLevel(3); - //获取一级类型 - SyCause syCause = sysClient.getParentCaseTypeById(caseInfo.getCaseType()); - if (ObjectUtils.isNotEmpty(syCause)) { - caseInfo.setCaseTypeFirst(syCause.getId()); - caseInfo.setCaseTypeFirstName(syCause.getName()); + caseInfo.setVisitWay(CaseBaseConstsEnum.VISIT_WAY_4.getIndex()); + caseInfo.setVisitWayName(CaseBaseConstsEnum.VISIT_WAY_4.getDes()); + if (StringUtils.isEmpty(caseInfo.getCanal())) { + caseInfo.setCanal(CaseBaseConstsEnum.CASE_CANAL_4.getIndex()); + caseInfo.setCanalName(CaseBaseConstsEnum.CASE_CANAL_4.getDes()); } + caseInfo.setCaseLevel(3); +// //获取一级类型 +// SyCause syCause = sysClient.getParentCaseTypeById(caseInfo.getCaseType()); +// if (ObjectUtils.isNotEmpty(syCause)) { +// caseInfo.setCaseTypeFirst(syCause.getId()); +// caseInfo.setCaseTypeFirstName(syCause.getName()); +// } //默认小程序可见 if (ObjectUtils.isNotEmpty(caseInfo.getCanal())) { if (CaseBaseConstsEnum.CASE_CANAL_1.getIndex().equals(caseInfo.getCanal())) { @@ -2636,9 +2660,9 @@ } //todo case_title生成、经纬度转换 caseInfo.setInputWay(CaseBaseConsts.INPUT_WAY_1); - if(registerSaveDTO.getCreateTime()!=null){ + if (registerSaveDTO.getCreateTime() != null) { caseInfo.setCreateTime(registerSaveDTO.getCreateTime()); - }else { + } else { caseInfo.setCreateTime(nowDate); } -- Gitblit v1.8.0