From c490640493f04e2ed0fc5c4c8fbc92ebdd4d5380 Mon Sep 17 00:00:00 2001 From: xusd <330628789@qq.com> Date: Tue, 24 Jun 2025 21:06:48 +0800 Subject: [PATCH] Merge branch 'gzdyh_prod' --- dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java | 612 ++++++++++++++++++++++-------------------------------- 1 files changed, 251 insertions(+), 361 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 bd84d87..aa55dba 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 @@ -311,13 +311,19 @@ generateQrCodeRequestVo.setBusinessSource("02"); generateQrCodeRequestVo.setGenerateUnifiedCode(true); generateQrCodeRequestVo.setInfoSource("03"); - String area = this.formatGridCode(ctUnitDTO.getArea()); + log.info("xsdgridCode:{}",registerSaveDTO.getQueArea()); + String area = this.formatGridCode(registerSaveDTO.getQueArea()); + log.info("xsdgridCode:{}",area); generateQrCodeRequestVo.setGridCode(area); caseInfo.setCaseRef(sysClient.getCaseRefByGenerateQrCode(generateQrCodeRequestVo)); // 获取调解案号 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())) { @@ -1135,7 +1141,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(); @@ -1308,10 +1314,10 @@ return new PageImpl<CasePageDTO>(content, page, total); } - /** + /** * 统计调解过程 * 计算案件的调解过程相关统计数据,包括不予受理率、化解中率、化解成功率、化解不成功率等 - * + * * @param terms 统计条件 * @return 包含调解过程统计数据的DTO对象 */ @@ -1324,15 +1330,15 @@ 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; } - + /** * 纠纷态势 @@ -1498,29 +1504,8 @@ } areaTotal = areaTotal + caseStatisticsAreaDTO.getCaseNum(); - //本及:承办单位是本及和没有承办单位并且没有下级区域编码 -// if(ObjectUtils.isEmpty(caseStatisticsAreaDTO.getAreaCode()) || unitGrades.contains(caseStatisticsAreaDTO.getUnitGrade())){ -// allArea.setCaseNum(dellNull(caseStatisticsAreaDTO.getCaseNum()) + dellNull(allArea.getCaseNum())); -// allArea.setResolveNum(dellNull(caseStatisticsAreaDTO.getResolveNum()) + dellNull(allArea.getResolveNum())); -// allArea.setUnResolveNum(dellNull(caseStatisticsAreaDTO.getUnResolveNum()) + dellNull(allArea.getUnResolveNum())); -// allArea.setResolveingNum(dellNull(caseStatisticsAreaDTO.getResolveingNum()) + dellNull(allArea.getResolveingNum())); -// }else{ -// areaList.add(caseStatisticsAreaDTO); -// areaCodeList.add(caseStatisticsAreaDTO.getAreaCode()); -// } } areaList.add(allArea); -// if ("1".equals(areaType)) { -// Map<String, String> area = getArea(); -// for (String areaName : area.keySet()) { -// if (!areaNames.contains(areaName)) { -// CaseStatisticsAreaDTO areaChild = new CaseStatisticsAreaDTO(); -// areaChild.setAreaCode(area.get(areaName)); -// areaChild.setAreaName(areaName); -// areaList.add(areaChild); -// } -// } -// } List<QueAreaDTO> queArea = listAreaByType(areaCode); log.info("listAreaByType {}", JSON.toJSONString(queArea)); @@ -1559,12 +1544,6 @@ } else { otherCaseNum = otherCaseNum + dellNull(caseStatisticsTypeDTO.getCaseNum()); } -// if (i > 5) { -// otherCaseNum = otherCaseNum + dellNull(caseStatisticsTypeDTO.getCaseNum()); -// } else { -// typeList.add(caseStatisticsTypeDTO); -// } - } for (CaseStatisticsTypeDTO caseStatisticsTypeDTO : typeList) { caseStatisticsTypeDTO.setCaseRate(BigDecimalUtil.integerDivideDelZero(caseStatisticsTypeDTO.getCaseNum() * 100, typeTotalNum, 1)); @@ -2292,34 +2271,220 @@ return caseOverviewDetailDTOs; } - public CaseStatisticsBaseDTO ledger(Map<String, Object> terms, String userId) throws IOException { - // 备份原始的类型筛选条件,用于后续恢复 - Map<String, Object> originalTypeTerms = new HashMap<>(); - if (terms.containsKey("canal")) { - originalTypeTerms.put("canal", terms.get("canal")); + public CaseStatisticsBaseDTO ledger(Map<String, Object> terms, String userId,String ledgerType) throws IOException { + terms.put("statistics", "1"); + + CtUnitDTO ctUnitDTO = null; + if (ObjectUtils.isNotEmpty(userId)) { + ctUnitDTO = custClient.getUnitByUserId(userId); } - if (terms.containsKey("canalSecond")) { - originalTypeTerms.put("canalSecond", terms.get("canalSecond")); - } - if (terms.containsKey("canalList")) { - originalTypeTerms.put("canalList", terms.get("canalList")); - } - if (terms.containsKey("canalSecondNot")) { - originalTypeTerms.put("canalSecondNot", terms.get("canalSecondNot")); - } - if (terms.containsKey("canalSecondAll")) { - originalTypeTerms.put("canalSecondAll", terms.get("canalSecondAll")); + String areaCode = null; + //目前没有村居数据,所以单位等级是4的也归集到3里面 + if (ObjectUtils.isNotEmpty(ctUnitDTO)) { + if (ctUnitDTO.getUnitGrade().equals(1)) { + terms.put("queCity", ctUnitDTO.getCity()); + } else if (ctUnitDTO.getUnitGrade().equals(2)) { + terms.put("queArea", ctUnitDTO.getArea()); + } else if (ctUnitDTO.getUnitGrade().equals(3)) { + terms.put("queRoad", ctUnitDTO.getRoad()); + } else if (ctUnitDTO.getUnitGrade().equals(4)) { + terms.put("queVillage", ctUnitDTO.getVillage()); + } } - // 临时移除类型筛选条件,以便 statistics 获取全量数据 - terms.remove("canal"); - terms.remove("canalSecond"); - terms.remove("canalList"); - terms.remove("canalSecondNot"); - terms.remove("canalSecondAll"); + //目前没有村居,所以区和街道进来都是按街道展示 + String areaType = null; + String childAreaType = null; + List<Integer> unitGrades = new ArrayList<>(); + List<Integer> childUnitGrades = new ArrayList<>(); + String childUnitGradeStr = null; + String unitGradeStr = null; + Boolean isLast = false; + if (ObjectUtils.isNotEmpty(terms.get("queVillage"))) { + terms.remove("queArea"); + terms.remove("queCity"); + terms.remove("queRoad"); + areaType = "4"; + childAreaType = "5"; + areaCode = terms.get("queVillage") + ""; + unitGrades.add(4); + childUnitGrades.add(5); + childUnitGradeStr = "5"; + unitGradeStr = "4"; + isLast = true; + } else if (ObjectUtils.isNotEmpty(terms.get("queRoad"))) { + terms.remove("queArea"); + terms.remove("queCity"); + areaType = "3"; + childAreaType = "4"; + areaCode = terms.get("queRoad") + ""; + unitGrades.add(3); + childUnitGrades.add(4); + childUnitGradeStr = "4"; + unitGradeStr = "3"; + } else if (ObjectUtils.isNotEmpty(terms.get("queArea"))) { + terms.remove("queCity"); + areaType = "2"; + childAreaType = "3"; + areaCode = terms.get("queArea") + ""; + unitGrades.add(2); + childUnitGrades.add(3); + childUnitGrades.add(4); + childUnitGradeStr = "3,4"; + unitGradeStr = "2"; + } else { + areaType = "1"; + childAreaType = "2"; + unitGrades.add(1); + childUnitGrades.add(2); + childUnitGrades.add(3); + childUnitGrades.add(4); + if (ObjectUtils.isNotEmpty(ctUnitDTO)) { + areaCode = ctUnitDTO.getCity(); + } else { + areaCode = "440100"; + } + childUnitGradeStr = "2,3,4"; + unitGradeStr = "1"; + } + //基础数据统计 + terms.put("areaType", areaType); + // 调用统计调解过程的方法 + CaseStatisticsBaseDTO caseStatisticsBaseDTO = new CaseStatisticsBaseDTO(); + List<String> areaCodeList = new ArrayList<>(); + List<CaseStatisticsAreaDTO> areaList = new ArrayList<>(); + //本系统或者全部的时候才去查询数据 + if(ObjectUtils.isEmpty(ledgerType) || "1".equals(ledgerType)){ + caseStatisticsBaseDTO = statisticsProcess(terms); + + //区域数据统计 + List<CaseStatisticsAreaDTO> caseStatisticsAreaDTOS = new ArrayList<>(); + if (!isLast) { + terms.put("areaType", childAreaType); + terms.put("unitGrades", childUnitGrades); + caseStatisticsAreaDTOS = mapper.statisticsArea(terms); + if (ObjectUtils.isEmpty(caseStatisticsAreaDTOS)) { + caseStatisticsAreaDTOS = new ArrayList<>(); + } else { + for (CaseStatisticsAreaDTO caseStatisticsAreaDTO : caseStatisticsAreaDTOS) { + caseStatisticsAreaDTO.setAreaType(childAreaType); + caseStatisticsAreaDTO.setUnitGrades(childUnitGradeStr); + if ("4".equals(childAreaType)) { + caseStatisticsAreaDTO.setQueVillage(caseStatisticsAreaDTO.getAreaCode()); + } else if ("3".equals(childAreaType)) { + caseStatisticsAreaDTO.setQueRoad(caseStatisticsAreaDTO.getAreaCode()); + } else if ("2".equals(childAreaType)) { + caseStatisticsAreaDTO.setQueArea(caseStatisticsAreaDTO.getAreaCode()); + } + } + } + } + + //本级区数据 + terms.put("areaType", areaType); + terms.put("unitGrades", unitGrades); + List<CaseStatisticsAreaDTO> allAreas = mapper.statisticsArea(terms); + CaseStatisticsAreaDTO allArea = new CaseStatisticsAreaDTO(); + if (ObjectUtils.isNotEmpty(allAreas)) { + allArea = allAreas.get(0); + } + terms.remove("unitGrades"); + allArea.setAreaName("本级"); + allArea.setAreaCode("0"); + allArea.setAreaType(areaType); + allArea.setUnitGrades(unitGradeStr); + if (ObjectUtils.isNotEmpty(terms.get("queVillage"))) { + allArea.setQueVillage(terms.get("queVillage") + ""); + } + if (ObjectUtils.isNotEmpty(terms.get("queRoad"))) { + allArea.setQueRoad(terms.get("queRoad") + ""); + } + if (ObjectUtils.isNotEmpty(terms.get("queArea"))) { + allArea.setQueArea(terms.get("queArea") + ""); + } + if (ObjectUtils.isNotEmpty(terms.get("queCity"))) { + allArea.setQueCity(terms.get("queCity") + ""); + } + + List<String> areaNames = new ArrayList<>();//为兼容白云区数据 + Integer areaTotal = allArea.getCaseNum(); + for (CaseStatisticsAreaDTO caseStatisticsAreaDTO : caseStatisticsAreaDTOS) { + areaNames.add(caseStatisticsAreaDTO.getAreaName()); + if (ObjectUtils.isEmpty(caseStatisticsAreaDTO.getAreaCode())) { + allArea.setCaseNum(dellNull(caseStatisticsAreaDTO.getCaseNum()) + dellNull(allArea.getCaseNum())); + allArea.setResolveNum(dellNull(caseStatisticsAreaDTO.getResolveNum()) + dellNull(allArea.getResolveNum())); + allArea.setUnResolveNum(dellNull(caseStatisticsAreaDTO.getUnResolveNum()) + dellNull(allArea.getUnResolveNum())); + allArea.setResolveingNum(dellNull(caseStatisticsAreaDTO.getResolveingNum()) + dellNull(allArea.getResolveingNum())); + allArea.setRejectNum(dellNull(caseStatisticsAreaDTO.getRejectNum()) + dellNull(allArea.getRejectNum())); + } else { + areaList.add(caseStatisticsAreaDTO); + areaCodeList.add(caseStatisticsAreaDTO.getAreaCode()); + } + areaTotal = areaTotal + caseStatisticsAreaDTO.getCaseNum(); + + } + areaList.add(allArea); + + //纠纷类型统计 + List<CaseStatisticsTypeDTO> caseStatisticsTypeDTOS = mapper.statisticsTypeFirst(terms); + if (ObjectUtils.isNotEmpty(caseStatisticsTypeDTOS)) { + sortType(caseStatisticsTypeDTOS); + } + Integer typeTotalNum = 0; + Integer otherCaseNum = 0; + int i = 1; + List<CaseStatisticsTypeDTO> typeList = new ArrayList<>(); + for (CaseStatisticsTypeDTO caseStatisticsTypeDTO : caseStatisticsTypeDTOS) { + typeTotalNum = typeTotalNum + dellNull(caseStatisticsTypeDTO.getCaseNum()); + if (i < 6 && !"其他".equals(caseStatisticsTypeDTO.getCaseTypeName())) { + typeList.add(caseStatisticsTypeDTO); + i++; + } else { + otherCaseNum = otherCaseNum + dellNull(caseStatisticsTypeDTO.getCaseNum()); + } + } + for (CaseStatisticsTypeDTO caseStatisticsTypeDTO : typeList) { + caseStatisticsTypeDTO.setCaseRate(BigDecimalUtil.integerDivideDelZero(caseStatisticsTypeDTO.getCaseNum() * 100, typeTotalNum, 1)); + } + if (otherCaseNum > 0) { + CaseStatisticsTypeDTO caseStatisticsTypeDTO = new CaseStatisticsTypeDTO(); + caseStatisticsTypeDTO.setCaseTypeName("其他"); + caseStatisticsTypeDTO.setCaseNum(otherCaseNum); + caseStatisticsTypeDTO.setCaseRate(BigDecimalUtil.integerDivideDelZero(caseStatisticsTypeDTO.getCaseNum() * 100, typeTotalNum, 1)); + typeList.add(caseStatisticsTypeDTO); + caseStatisticsBaseDTO.setTypeList(typeList); + } + } + + List<QueAreaDTO> queArea = listAreaByType(areaCode); + log.info("listAreaByType {}", JSON.toJSONString(queArea)); + for (QueAreaDTO caseAreaDTO : queArea) { + if (!areaCodeList.contains(caseAreaDTO.getAreaCode())) { + CaseStatisticsAreaDTO areaChild = new CaseStatisticsAreaDTO(); + areaChild.setAreaCode(caseAreaDTO.getAreaCode()); + areaChild.setAreaName(caseAreaDTO.getAreaName()); + areaChild.setCaseNum(0); + areaChild.setResolveNum(0); + areaChild.setUnResolveNum(0); + areaChild.setResolveingNum(0); + areaList.add(areaChild); + } + } + + if (ObjectUtils.isNotEmpty(areaList)) { + sortArea(areaList); + } + + caseStatisticsBaseDTO.setAreaList(areaList); + + + return caseStatisticsBaseDTO; + } + + public CaseStatisticsBaseDTO ledgerCount(Map<String, Object> terms, String userId) throws IOException { // 获取全量基础统计数据 - CaseStatisticsBaseDTO statistics = statistics(terms, userId); + CaseStatisticsBaseDTO statistics = new CaseStatisticsBaseDTO(); terms.put("statistics", "1"); //根据用户筛选区域范围 @@ -2356,316 +2521,40 @@ terms.remove("canalSecond"); terms.remove("canal"); terms.put("areaType", areaType); - terms.put("canalList", Arrays.asList("22_00001-1", "22_00001-2", "22_00001-3")); CaseStatisticsBaseDTO caseStatisticsBaseDTO1 = mapper.statisticsBase(terms); statistics.setSysNum(caseStatisticsBaseDTO1.getTotalNum()); - terms.remove("canalList"); - terms.put("canal", "22_00001-4"); - terms.put("canalSecond", "22_00003-3"); - CaseStatisticsBaseDTO caseStatisticsBaseDTO2 = mapper.statisticsBase(terms); - statistics.setOttffNum(caseStatisticsBaseDTO2.getTotalNum()); - terms.put("canalSecond", "22_00003-4"); - CaseStatisticsBaseDTO caseStatisticsBaseDTO3 = mapper.statisticsBase(terms); - statistics.setRmtjNum(caseStatisticsBaseDTO3.getTotalNum()); - terms.put("canalSecond", "22_00003-6"); - CaseStatisticsBaseDTO caseStatisticsBaseDTO4 = mapper.statisticsBase(terms); - statistics.setXfNum(caseStatisticsBaseDTO4.getTotalNum()); - terms.put("canalSecond", "22_00003-5"); - CaseStatisticsBaseDTO caseStatisticsBaseDTO5 = mapper.statisticsBase(terms); - statistics.setLdzcNum(caseStatisticsBaseDTO5.getTotalNum()); - terms.put("canalSecond", "22_00003-1"); - CaseStatisticsBaseDTO caseStatisticsBaseDTO6 = mapper.statisticsBase(terms); - statistics.setFjwjfNum(caseStatisticsBaseDTO6.getTotalNum()); - // 重新计算纠纷类型统计,基于用户选择的类型 - terms.remove("canalSecond"); - terms.remove("canal"); - terms.remove("canalList"); - terms.remove("canalSecondNot"); - terms.remove("canalSecondAll"); - - // 恢复所有原始类型筛选条件进行纠纷类型统计 - for (String key : originalTypeTerms.keySet()) { - 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.isNotEmpty(caseStatisticsTypeDTOS)) { - sortType(caseStatisticsTypeDTOS); - } - Integer typeTotalNum = 0; - Integer otherCaseNum = 0; - int i = 1; - List<CaseStatisticsTypeDTO> typeList = new ArrayList<>(); - for (CaseStatisticsTypeDTO caseStatisticsTypeDTO : caseStatisticsTypeDTOS) { - typeTotalNum = typeTotalNum + dellNull(caseStatisticsTypeDTO.getCaseNum()); - if (i < 6 && !"其他".equals(caseStatisticsTypeDTO.getCaseTypeName())) { - typeList.add(caseStatisticsTypeDTO); - i++; - } else { - otherCaseNum = otherCaseNum + dellNull(caseStatisticsTypeDTO.getCaseNum()); - } - } - for (CaseStatisticsTypeDTO caseStatisticsTypeDTO : typeList) { - caseStatisticsTypeDTO.setCaseRate(BigDecimalUtil.integerDivideDelZero(caseStatisticsTypeDTO.getCaseNum() * 100, typeTotalNum, 1)); - } - if (otherCaseNum > 0) { - CaseStatisticsTypeDTO caseStatisticsTypeDTO = new CaseStatisticsTypeDTO(); - caseStatisticsTypeDTO.setCaseTypeName("其他"); - caseStatisticsTypeDTO.setCaseNum(otherCaseNum); - caseStatisticsTypeDTO.setCaseRate(BigDecimalUtil.integerDivideDelZero(caseStatisticsTypeDTO.getCaseNum() * 100, typeTotalNum, 1)); - typeList.add(caseStatisticsTypeDTO); - } - statistics.setTypeList(typeList); +// terms.remove("canalList"); +// terms.put("canal", "22_00001-4"); +// terms.put("canalSecond", "22_00003-3"); +// CaseStatisticsBaseDTO caseStatisticsBaseDTO2 = mapper.statisticsBase(terms); +// statistics.setOttffNum(caseStatisticsBaseDTO2.getTotalNum()); +// terms.put("canalSecond", "22_00003-4"); +// CaseStatisticsBaseDTO caseStatisticsBaseDTO3 = mapper.statisticsBase(terms); +// statistics.setRmtjNum(caseStatisticsBaseDTO3.getTotalNum()); +// terms.put("canalSecond", "22_00003-6"); +// CaseStatisticsBaseDTO caseStatisticsBaseDTO4 = mapper.statisticsBase(terms); +// statistics.setXfNum(caseStatisticsBaseDTO4.getTotalNum()); +// terms.put("canalSecond", "22_00003-5"); +// CaseStatisticsBaseDTO caseStatisticsBaseDTO5 = mapper.statisticsBase(terms); +// statistics.setLdzcNum(caseStatisticsBaseDTO5.getTotalNum()); +// terms.put("canalSecond", "22_00003-1"); +// CaseStatisticsBaseDTO caseStatisticsBaseDTO6 = mapper.statisticsBase(terms); +// statistics.setTzfjwjfNum(caseStatisticsBaseDTO6.getTotalNum()); // 根据原始类型筛选条件计算总数和比率 // 注意:比率计算应该始终基于所有类型的总数,而不是选择的特定类型数量 - Integer allNum = statistics.getSysNum() + statistics.getOttffNum() + statistics.getRmtjNum() + statistics.getXfNum() + statistics.getLdzcNum() + statistics.getFjwjfNum(); + Integer allNum = statistics.getSysNum() + statistics.getOttffNum() + statistics.getRmtjNum() + statistics.getXfNum() + statistics.getLdzcNum() + statistics.getTzfjwjfNum(); statistics.setSysRate(BigDecimalUtil.integerDivideDelZero(statistics.getSysNum() * 100, allNum, 1)); statistics.setOttffRate(BigDecimalUtil.integerDivideDelZero(statistics.getOttffNum() * 100, allNum, 1)); statistics.setRmtjRate(BigDecimalUtil.integerDivideDelZero(statistics.getRmtjNum() * 100, allNum, 1)); statistics.setXfRate(BigDecimalUtil.integerDivideDelZero(statistics.getXfNum() * 100, allNum, 1)); statistics.setLdzcRate(BigDecimalUtil.integerDivideDelZero(statistics.getLdzcNum() * 100, allNum, 1)); - statistics.setFjwjfRate(BigDecimalUtil.integerDivideDelZero(statistics.getFjwjfNum() * 100, allNum, 1)); + statistics.setTzfjwjfRate(BigDecimalUtil.integerDivideDelZero(statistics.getTzfjwjfNum() * 100, allNum, 1)); statistics.setAllNum(allNum); - - // 重新计算地区统计(areaList),基于用户选择的类型 - // 清除之前的筛选条件 - terms.remove("canal"); - terms.remove("canalSecond"); - terms.remove("canalList"); - terms.remove("canalSecondNot"); - terms.remove("canalSecondAll"); - - // 恢复所有原始类型筛选条件进行地区统计 - for (String key : originalTypeTerms.keySet()) { - terms.put(key, originalTypeTerms.get(key)); - } - - // 从原有逻辑中获取区域相关变量 - String childAreaType = null; - List<Integer> childUnitGrades = new ArrayList<>(); - String childUnitGradeStr = null; - String unitGradeStr = null; - Boolean isLast = false; - List<Integer> unitGrades = new ArrayList<>(); - - if (ObjectUtils.isNotEmpty(terms.get("queVillage"))) { - childAreaType = "5"; - childUnitGrades.add(5); - childUnitGradeStr = "5"; - unitGradeStr = "4"; - unitGrades.add(4); - isLast = true; - } else if (ObjectUtils.isNotEmpty(terms.get("queRoad"))) { - childAreaType = "4"; - childUnitGrades.add(4); - childUnitGradeStr = "4"; - unitGradeStr = "3"; - unitGrades.add(3); - } else if (ObjectUtils.isNotEmpty(terms.get("queArea"))) { - childAreaType = "3"; - childUnitGrades.add(3); - childUnitGrades.add(4); - childUnitGradeStr = "3,4"; - unitGradeStr = "2"; - unitGrades.add(2); - } else { - childAreaType = "2"; - childUnitGrades.add(2); - childUnitGrades.add(3); - childUnitGrades.add(4); - childUnitGradeStr = "2,3,4"; - unitGradeStr = "1"; - unitGrades.add(1); - } - - // 重新计算地区统计 - List<CaseStatisticsAreaDTO> areaStatistics = new ArrayList<>(); - if (!isLast) { - terms.put("areaType", childAreaType); - terms.put("unitGrades", childUnitGrades); - areaStatistics = mapper.statisticsArea(terms); - if (ObjectUtils.isEmpty(areaStatistics)) { - areaStatistics = new ArrayList<>(); - } else { - for (CaseStatisticsAreaDTO areaDTO : areaStatistics) { - areaDTO.setAreaType(childAreaType); - areaDTO.setUnitGrades(childUnitGradeStr); - if ("4".equals(childAreaType)) { - areaDTO.setQueVillage(areaDTO.getAreaCode()); - } else if ("3".equals(childAreaType)) { - areaDTO.setQueRoad(areaDTO.getAreaCode()); - } else if ("2".equals(childAreaType)) { - areaDTO.setQueArea(areaDTO.getAreaCode()); - } - } - } - } - - // 本级区数据 - terms.put("areaType", areaType); - terms.put("unitGrades", unitGrades); - List<CaseStatisticsAreaDTO> allAreas = mapper.statisticsArea(terms); - CaseStatisticsAreaDTO allArea = new CaseStatisticsAreaDTO(); - if (ObjectUtils.isNotEmpty(allAreas)) { - allArea = allAreas.get(0); - } - terms.remove("unitGrades"); - allArea.setAreaName("本级"); - allArea.setAreaCode("0"); - allArea.setAreaType(areaType); - allArea.setUnitGrades(unitGradeStr); - if (ObjectUtils.isNotEmpty(terms.get("queVillage"))) { - allArea.setQueVillage(terms.get("queVillage") + ""); - } - if (ObjectUtils.isNotEmpty(terms.get("queRoad"))) { - allArea.setQueRoad(terms.get("queRoad") + ""); - } - if (ObjectUtils.isNotEmpty(terms.get("queArea"))) { - allArea.setQueArea(terms.get("queArea") + ""); - } - if (ObjectUtils.isNotEmpty(terms.get("queCity"))) { - allArea.setQueCity(terms.get("queCity") + ""); - } - - List<String> areaCodeList = new ArrayList<>(); - List<CaseStatisticsAreaDTO> areaList = new ArrayList<>(); - for (CaseStatisticsAreaDTO areaDTO : areaStatistics) { - if (ObjectUtils.isEmpty(areaDTO.getAreaCode())) { - allArea.setCaseNum(dellNull(areaDTO.getCaseNum()) + dellNull(allArea.getCaseNum())); - allArea.setResolveNum(dellNull(areaDTO.getResolveNum()) + dellNull(allArea.getResolveNum())); - allArea.setUnResolveNum(dellNull(areaDTO.getUnResolveNum()) + dellNull(allArea.getUnResolveNum())); - allArea.setResolveingNum(dellNull(areaDTO.getResolveingNum()) + dellNull(allArea.getResolveingNum())); - allArea.setRejectNum(dellNull(areaDTO.getRejectNum()) + dellNull(allArea.getRejectNum())); - } else { - areaList.add(areaDTO); - areaCodeList.add(areaDTO.getAreaCode()); - } - } - areaList.add(allArea); - - // 添加没有数据的区域(数量为0) - String areaCode = null; - if (ObjectUtils.isNotEmpty(terms.get("queVillage"))) { - areaCode = terms.get("queVillage") + ""; - } else if (ObjectUtils.isNotEmpty(terms.get("queRoad"))) { - areaCode = terms.get("queRoad") + ""; - } else if (ObjectUtils.isNotEmpty(terms.get("queArea"))) { - areaCode = terms.get("queArea") + ""; - } else { - areaCode = terms.get("queCity") != null ? terms.get("queCity") + "" : "440100"; - } - - List<QueAreaDTO> queArea = listAreaByType(areaCode); - for (QueAreaDTO caseAreaDTO : queArea) { - if (!areaCodeList.contains(caseAreaDTO.getAreaCode())) { - CaseStatisticsAreaDTO areaChild = new CaseStatisticsAreaDTO(); - areaChild.setAreaCode(caseAreaDTO.getAreaCode()); - areaChild.setAreaName(caseAreaDTO.getAreaName()); - areaChild.setCaseNum(0); - areaChild.setResolveNum(0); - areaChild.setUnResolveNum(0); - areaChild.setResolveingNum(0); - areaList.add(areaChild); - } - } - - if (ObjectUtils.isNotEmpty(areaList)) { - sortArea(areaList); - } - - // 更新statistics中的areaList - statistics.setAreaList(areaList); - return statistics; } - - // public CaseStatisticsBaseDTO ledger(Map<String, Object> terms, String userId) throws IOException { - // CaseStatisticsBaseDTO statistics = statistics(terms, userId); - // - // terms.put("statistics", "1"); - // //根据用户筛选区域范围 - // CtUnitDTO ctUnitDTO = custClient.getUnitByUserId(userId); - // //目前没有村居数据,所以单位等级是4的也归集到3里面 - // String areaType = null; - // terms.remove("unitGrade"); - // terms.remove("canal"); - // if (ctUnitDTO.getUnitGrade().equals(1)) { - // terms.put("queCity", ctUnitDTO.getCity()); - // } else if (ctUnitDTO.getUnitGrade().equals(2)) { - // terms.put("queArea", ctUnitDTO.getArea()); - // } else if (ctUnitDTO.getUnitGrade().equals(3)) { - // terms.put("queRoad", ctUnitDTO.getRoad()); - // } else if (ctUnitDTO.getUnitGrade().equals(4)) { - // terms.put("queVillage", ctUnitDTO.getRoad()); - // } - // if (ObjectUtils.isNotEmpty(terms.get("queVillage"))) { - // terms.remove("queArea"); - // terms.remove("queCity"); - // terms.remove("queRoad"); - // areaType = "4"; - // } else if (ObjectUtils.isNotEmpty(terms.get("queRoad"))) { - // terms.remove("queArea"); - // terms.remove("queCity"); - // areaType = "3"; - // } else if (ObjectUtils.isNotEmpty(terms.get("queArea"))) { - // terms.remove("queCity"); - // areaType = "2"; - // } else { - // areaType = "1"; - // } - // //基础数据统计 - // terms.remove("canalSecond"); - // terms.remove("canal"); - // terms.put("areaType", areaType); - // terms.put("canalList", Arrays.asList("22_00001-1", "22_00001-2", "22_00001-3")); - // CaseStatisticsBaseDTO caseStatisticsBaseDTO1 = mapper.statisticsBase(terms); - // statistics.setSysNum(caseStatisticsBaseDTO1.getTotalNum()); - // terms.remove("canalList"); - // terms.put("canal", "22_00001-4"); - // terms.put("canalSecond", "22_00003-3"); - // CaseStatisticsBaseDTO caseStatisticsBaseDTO2 = mapper.statisticsBase(terms); - // statistics.setOttffNum(caseStatisticsBaseDTO2.getTotalNum()); - // terms.put("canalSecond", "22_00003-4"); - // CaseStatisticsBaseDTO caseStatisticsBaseDTO3 = mapper.statisticsBase(terms); - // statistics.setRmtjNum(caseStatisticsBaseDTO3.getTotalNum()); - // terms.put("canalSecond", "22_00003-6"); - // CaseStatisticsBaseDTO caseStatisticsBaseDTO4 = mapper.statisticsBase(terms); - // statistics.setXfNum(caseStatisticsBaseDTO4.getTotalNum()); - // terms.put("canalSecond", "22_00003-5"); - // CaseStatisticsBaseDTO caseStatisticsBaseDTO5 = mapper.statisticsBase(terms); - // statistics.setLdzcNum(caseStatisticsBaseDTO5.getTotalNum()); - // terms.put("canalSecond", "22_00003-1"); - // CaseStatisticsBaseDTO caseStatisticsBaseDTO6 = mapper.statisticsBase(terms); - // statistics.setFjwjfNum(caseStatisticsBaseDTO6.getTotalNum()); - // - // Integer allNum = statistics.getSysNum() + statistics.getOttffNum() + statistics.getRmtjNum() + statistics.getXfNum() + statistics.getLdzcNum() + statistics.getFjwjfNum(); - // statistics.setSysRate(BigDecimalUtil.integerDivideDelZero(statistics.getSysNum() * 100, allNum, 1)); - // statistics.setOttffRate(BigDecimalUtil.integerDivideDelZero(statistics.getOttffNum() * 100, allNum, 1)); - // statistics.setRmtjRate(BigDecimalUtil.integerDivideDelZero(statistics.getRmtjNum() * 100, allNum, 1)); - // statistics.setXfRate(BigDecimalUtil.integerDivideDelZero(statistics.getXfNum() * 100, allNum, 1)); - // statistics.setLdzcRate(BigDecimalUtil.integerDivideDelZero(statistics.getLdzcNum() * 100, allNum, 1)); - // statistics.setFjwjfRate(BigDecimalUtil.integerDivideDelZero(statistics.getFjwjfNum() * 100, allNum, 1)); - // statistics.setAllNum(allNum); - // return statistics; - // } /** * 按系列案编号查询 @@ -2717,9 +2606,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()); @@ -2807,11 +2696,12 @@ // 获取调解案号 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.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()); @@ -2827,9 +2717,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