From ed8f08873f9869ef04c1129f1b9206197c1a7c73 Mon Sep 17 00:00:00 2001
From: zhouxiantao <1026371446@qq.com>
Date: Fri, 18 Oct 2024 15:55:05 +0800
Subject: [PATCH] refactor:解纷态势-统计范围和本级统计重构
---
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java | 57 +++++++++++++++++++++++++++++++++++----------------------
1 files changed, 35 insertions(+), 22 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..c6aff30 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,17 @@
if(ObjectUtils.isNotEmpty(terms.get("canal"))){
canal = terms.get("canal");
}
+ terms.put("statistics", "1");
//根据用户筛选区域范围
CtUnitDTO ctUnitDTO = custClient.getUnitByUserId(userId);
if(ctUnitDTO.getUnitGrade().equals(2)){
terms.put("queArea", ctUnitDTO.getArea());
}else if(ctUnitDTO.getUnitGrade().equals(3) || ctUnitDTO.getUnitGrade().equals(4)){
terms.put("queRoad", ctUnitDTO.getRoad());
+ }
+ //目前没有村居,所以区和街道进来都是按街道展示
+ if(ObjectUtils.isNotEmpty(terms.get("queRoad")) || ObjectUtils.isNotEmpty(terms.get("queArea"))){
+ terms.put("areaType","2");
}
//基础数据统计
CaseStatisticsBaseDTO caseStatisticsBaseDTO = mapper.statisticsBase(terms);
@@ -1018,7 +1026,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,14 +1034,20 @@
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()) || ctUnitDTO.getUnitGrade().equals(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);
+ areaList.add(allArea);
List<QueAreaDTO> queArea = listAreaByType(terms.get("queArea"));
log.info("listAreaByType {}", JSON.toJSONString(queArea));
for (QueAreaDTO caseAreaDTO : queArea) {
@@ -1046,15 +1059,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 +1148,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