From dd858aaff4fcfb6af99ab094fbf13fef5f4339a2 Mon Sep 17 00:00:00 2001 From: zhouxiantao <1026371446@qq.com> Date: Mon, 21 Oct 2024 10:44:49 +0800 Subject: [PATCH] fix:解纷态势-街道展示区域优化 --- dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java | 67 ++++++++++++++++++++++----------- 1 files changed, 44 insertions(+), 23 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 1537f16..9ad7cdd 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 @@ -968,20 +968,23 @@ break; } } - QueryWrapper<CasePerson> personWrapper1 = new QueryWrapper<>(); - personWrapper1.eq("case_id", casePageDTO.getId()); - List<CasePerson> casePersonList1 = personService.list(personWrapper1); //申请人集合 List<CasePersonWeDTO> plaintiffList = new ArrayList<>(); //被申请人集合 List<CasePersonWeDTO> defendantList = new ArrayList<>(); - for (CasePerson casePerson : casePersonList1) { - CasePersonWeDTO casePersonWechatDTO = new CasePersonWeDTO(); - BeanUtils.copyProperties(casePerson, casePersonWechatDTO); - if (CaseBaseConstsEnum.PERSON_TYPE_1.getIndex().equals(casePerson.getPerType())) { - plaintiffList.add(casePersonWechatDTO); - } else if (CaseBaseConstsEnum.PERSON_TYPE_2.getIndex().equals(casePerson.getPerType())) { - defendantList.add(casePersonWechatDTO); + //如果是导出调用,不查询extend信息 + if(ObjectUtils.isEmpty(terms.get("report"))){ + QueryWrapper<CasePerson> personWrapper1 = new QueryWrapper<>(); + personWrapper1.eq("case_id", casePageDTO.getId()); + List<CasePerson> casePersonList1 = personService.list(personWrapper1); + for (CasePerson casePerson : casePersonList1) { + CasePersonWeDTO casePersonWechatDTO = new CasePersonWeDTO(); + BeanUtils.copyProperties(casePerson, casePersonWechatDTO); + if (CaseBaseConstsEnum.PERSON_TYPE_1.getIndex().equals(casePerson.getPerType())) { + plaintiffList.add(casePersonWechatDTO); + } else if (CaseBaseConstsEnum.PERSON_TYPE_2.getIndex().equals(casePerson.getPerType())) { + defendantList.add(casePersonWechatDTO); + } } } casePageDTO.setDefendantList(defendantList); @@ -1000,12 +1003,25 @@ if(ObjectUtils.isNotEmpty(terms.get("canal"))){ canal = terms.get("canal"); } + terms.put("statistics", "1"); //根据用户筛选区域范围 CtUnitDTO ctUnitDTO = custClient.getUnitByUserId(userId); + String areaCode = null; + //目前没有村居数据,所以单位等级是4的也归集到3里面 + List<Integer> unitGrades = new ArrayList<>(); if(ctUnitDTO.getUnitGrade().equals(2)){ terms.put("queArea", ctUnitDTO.getArea()); + areaCode = ctUnitDTO.getArea(); + unitGrades.add(ctUnitDTO.getUnitGrade()); }else if(ctUnitDTO.getUnitGrade().equals(3) || ctUnitDTO.getUnitGrade().equals(4)){ terms.put("queRoad", ctUnitDTO.getRoad()); + areaCode = ctUnitDTO.getRoad(); + unitGrades.add(3); + unitGrades.add(4); + } + //目前没有村居,所以区和街道进来都是按街道展示 + if(ObjectUtils.isNotEmpty(terms.get("queRoad")) || ObjectUtils.isNotEmpty(terms.get("queArea"))){ + terms.put("areaType","2"); } //基础数据统计 CaseStatisticsBaseDTO caseStatisticsBaseDTO = mapper.statisticsBase(terms); @@ -1018,7 +1034,6 @@ caseStatisticsBaseDTO.setTwoLevelRate(BigDecimalUtil.integerDivideDelZero(caseStatisticsBaseDTO.getTwoLevelNum() * 100, levelTotalNum, 1)); caseStatisticsBaseDTO.setThreeLevelRate(BigDecimalUtil.integerDivideDelZero(caseStatisticsBaseDTO.getThreeLevelNum() * 100, levelTotalNum, 1)); //区域数据统计 - terms.put("isArea", "1"); List<CaseStatisticsAreaDTO> caseStatisticsAreaDTOS = mapper.statisticsArea(terms); if (ObjectUtils.isEmpty(caseStatisticsAreaDTOS)) { caseStatisticsAreaDTOS = new ArrayList<>(); @@ -1027,15 +1042,21 @@ allArea.setAreaName("本级"); allArea.setAreaCode("1"); List<String> areaCodeList = new ArrayList<>(); + List<CaseStatisticsAreaDTO> areaList = new ArrayList<>(); for (CaseStatisticsAreaDTO caseStatisticsAreaDTO : caseStatisticsAreaDTOS) { - 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())); - areaCodeList.add(caseStatisticsAreaDTO.getAreaCode()); + //本及:承办单位是本及和没有承办单位并且没有下级区域编码 + 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()); + } } - caseStatisticsAreaDTOS.add(allArea); - List<QueAreaDTO> queArea = listAreaByType(terms.get("queArea")); + areaList.add(allArea); + List<QueAreaDTO> queArea = listAreaByType(areaCode); log.info("listAreaByType {}", JSON.toJSONString(queArea)); for (QueAreaDTO caseAreaDTO : queArea) { if (!areaCodeList.contains(caseAreaDTO.getAreaCode())) { @@ -1046,15 +1067,14 @@ areaChild.setResolveNum(0); areaChild.setUnResolveNum(0); areaChild.setResolveingNum(0); - caseStatisticsAreaDTOS.add(areaChild); + areaList.add(areaChild); } } - if (ObjectUtils.isNotEmpty(caseStatisticsAreaDTOS)) { - sortArea(caseStatisticsAreaDTOS); + if (ObjectUtils.isNotEmpty(areaList)) { + sortArea(areaList); } - caseStatisticsBaseDTO.setAreaList(caseStatisticsAreaDTOS); - terms.remove("isArea"); + caseStatisticsBaseDTO.setAreaList(areaList); //纠纷类型统计 List<CaseStatisticsTypeDTO> caseStatisticsTypeDTOS = mapper.statisticsTypeFirst(terms); if (ObjectUtils.isNotEmpty(caseStatisticsTypeDTOS)) { @@ -1136,6 +1156,7 @@ } Sort sort = Sort.by(Sort.Direction.DESC, "a.create_time"); PageRequest pageRequest = PageRequest.of(0, 30, sort); + terms.remove("statistics"); Page<CasePageDTO> casePageDTOS = pageQueryAll(pageRequest, terms); if (ObjectUtils.isNotEmpty(casePageDTOS.getContent())) { caseStatisticsBaseDTO.setCaseList(casePageDTOS.getContent()); -- Gitblit v1.8.0