From 025f7b76d54a9553ca0c36623a83d1054b3fdf91 Mon Sep 17 00:00:00 2001 From: liyj <15602261488@163.com> Date: Tue, 24 Sep 2024 16:28:59 +0800 Subject: [PATCH] 1、自行受理类型修改 --- dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java | 145 ++++++++++++++++++++++++----------------------- 1 files changed, 74 insertions(+), 71 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 9898560..936d173 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 @@ -4,15 +4,12 @@ import cn.huge.base.common.utils.*; import cn.huge.module.cases.domain.dto.*; -import cn.huge.module.cases.domain.json.CaseAreaDTO; -import cn.huge.module.cases.domain.po.CaseAgent; -import cn.huge.module.cases.domain.po.CaseInfoUnfold; -import cn.huge.module.cases.domain.po.CasePerson; +import cn.huge.module.cases.domain.dto.CaseAreaDTO; +import cn.huge.module.cases.domain.po.*; import cn.huge.module.client.api.impl.CustClientImpl; import cn.huge.module.client.api.impl.SysClientImpl; import cn.huge.module.client.api.impl.UtilsClientImpl; import cn.huge.module.cases.dao.mapper.CaseInfoMapper; -import cn.huge.module.cases.domain.po.CaseInfo; import cn.huge.module.constant.BaseConsts; import cn.huge.module.cust.dto.PaUserDTO; import cn.huge.module.mediate.constant.*; @@ -40,6 +37,8 @@ import java.io.File; import java.io.IOException; +import java.net.URL; +import java.nio.file.Files; import java.util.*; import java.util.stream.Collectors; @@ -85,6 +84,9 @@ @Autowired private CaseEvaluateService caseEvaluateService; + + @Autowired + private CaseAreaService caseAreaService; /** @@ -241,8 +243,6 @@ caseInfo.setDefendants(defendants.toString()); caseInfo.setDagents(dagents.toString()); caseInfo.setCaseRef(utilsClient.createCaseRef()); - caseInfo.setCanal(CaseBaseConstsEnum.CASE_CANAL_1.getIndex()); - caseInfo.setCanalName(CaseBaseConstsEnum.CASE_CANAL_1.getDes()); caseInfo.setVisitWay(CaseBaseConstsEnum.VISIT_WAY_1.getIndex()); caseInfo.setVisitWayName(CaseBaseConstsEnum.VISIT_WAY_1.getDes()); //todo case_title生成、经纬度转换 @@ -599,6 +599,12 @@ caseInfo.setInputUserId(loginUser.getId()); caseInfo.setInputUserName(loginUser.getTrueName()); caseInfo.setInputWay(CaseBaseConsts.INPUT_WAY_1); + if(ObjectUtils.isEmpty(registerSaveDTO.getPeopleNum())){ + caseInfo.setPeopleNum(0); + } + if(ObjectUtils.isEmpty(registerSaveDTO.getAmount())){ + caseInfo.setAmount(0.0); + } //默认添加省市 caseInfo.setQueProv("19"); caseInfo.setQueProvName("广东省"); @@ -931,18 +937,18 @@ public CaseStatisticsBaseDTO statistics(Map<String, Object> terms) throws IOException { //基础数据统计 CaseStatisticsBaseDTO caseStatisticsBaseDTO = mapper.statisticsBase(terms); - Integer baseTotalNum = dellNull(caseStatisticsBaseDTO.getResolveNum()) + dellNull(caseStatisticsBaseDTO.getUnResolveNum())+ dellNull(caseStatisticsBaseDTO.getResolveingNum()); - caseStatisticsBaseDTO.setResolveRate(BigDecimalUtil.integerDivideDelZero(caseStatisticsBaseDTO.getResolveNum()*100, baseTotalNum,1)); - caseStatisticsBaseDTO.setUnResolveRate(BigDecimalUtil.integerDivideDelZero(caseStatisticsBaseDTO.getUnResolveNum()*100, baseTotalNum,1)); - caseStatisticsBaseDTO.setResolveingRate(BigDecimalUtil.integerDivideDelZero(caseStatisticsBaseDTO.getResolveingNum()*100, baseTotalNum,1)); + Integer baseTotalNum = dellNull(caseStatisticsBaseDTO.getResolveNum()) + dellNull(caseStatisticsBaseDTO.getUnResolveNum()) + dellNull(caseStatisticsBaseDTO.getResolveingNum()); + caseStatisticsBaseDTO.setResolveRate(BigDecimalUtil.integerDivideDelZero(caseStatisticsBaseDTO.getResolveNum() * 100, baseTotalNum, 1)); + caseStatisticsBaseDTO.setUnResolveRate(BigDecimalUtil.integerDivideDelZero(caseStatisticsBaseDTO.getUnResolveNum() * 100, baseTotalNum, 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.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)); //区域数据统计 - terms.put("isArea","1"); + terms.put("isArea", "1"); List<CaseStatisticsAreaDTO> caseStatisticsAreaDTOS = mapper.statisticsArea(terms); - if(ObjectUtils.isEmpty(caseStatisticsAreaDTOS)){ + if (ObjectUtils.isEmpty(caseStatisticsAreaDTOS)) { caseStatisticsAreaDTOS = new ArrayList<>(); } CaseStatisticsAreaDTO allArea = new CaseStatisticsAreaDTO(); @@ -957,10 +963,10 @@ areaCodeList.add(caseStatisticsAreaDTO.getAreaCode()); } caseStatisticsAreaDTOS.add(allArea); - List<CaseAreaDTO> queArea = listAreaByType(terms.get("areaType"), terms.get("queArea")); - log.info("listAreaByType {}",JSON.toJSONString(queArea)); - for (CaseAreaDTO caseAreaDTO : queArea) { - if(!areaCodeList.contains(caseAreaDTO.getAreaCode())){ + List<CaseArea> queArea = listAreaByType(terms.get("areaType"), terms.get("queArea")); + log.info("listAreaByType {}", JSON.toJSONString(queArea)); + for (CaseArea caseAreaDTO : queArea) { + if (!areaCodeList.contains(caseAreaDTO.getAreaCode())) { CaseStatisticsAreaDTO areaChild = new CaseStatisticsAreaDTO(); areaChild.setAreaCode(caseAreaDTO.getAreaCode()); areaChild.setAreaName(caseAreaDTO.getAreaName()); @@ -972,14 +978,14 @@ } } - if(ObjectUtils.isNotEmpty(caseStatisticsAreaDTOS)){ + if (ObjectUtils.isNotEmpty(caseStatisticsAreaDTOS)) { sortArea(caseStatisticsAreaDTOS); } caseStatisticsBaseDTO.setAreaList(caseStatisticsAreaDTOS); terms.remove("isArea"); //纠纷类型统计 List<CaseStatisticsTypeDTO> caseStatisticsTypeDTOS = mapper.statisticsType(terms); - if(ObjectUtils.isNotEmpty(caseStatisticsTypeDTOS)){ + if (ObjectUtils.isNotEmpty(caseStatisticsTypeDTOS)) { sortType(caseStatisticsTypeDTOS); } Integer typeTotalNum = 0; @@ -988,35 +994,41 @@ List<CaseStatisticsTypeDTO> typeList = new ArrayList<>(); for (CaseStatisticsTypeDTO caseStatisticsTypeDTO : caseStatisticsTypeDTOS) { typeTotalNum = typeTotalNum + dellNull(caseStatisticsTypeDTO.getCaseNum()); - if(i > 5){ + if (i > 5) { otherCaseNum = otherCaseNum + dellNull(caseStatisticsTypeDTO.getCaseNum()); - }else{ + } else { typeList.add(caseStatisticsTypeDTO); } i++; } for (CaseStatisticsTypeDTO caseStatisticsTypeDTO : typeList) { - caseStatisticsTypeDTO.setCaseRate(BigDecimalUtil.integerDivideDelZero(caseStatisticsTypeDTO.getCaseNum()*100, typeTotalNum,1)); + caseStatisticsTypeDTO.setCaseRate(BigDecimalUtil.integerDivideDelZero(caseStatisticsTypeDTO.getCaseNum() * 100, typeTotalNum, 1)); } CaseStatisticsTypeDTO caseStatisticsTypeDTO = new CaseStatisticsTypeDTO(); caseStatisticsTypeDTO.setCaseTypeName("其他"); caseStatisticsTypeDTO.setCaseNum(otherCaseNum); - caseStatisticsTypeDTO.setCaseRate(BigDecimalUtil.integerDivideDelZero(caseStatisticsTypeDTO.getCaseNum()*100, typeTotalNum,1)); + caseStatisticsTypeDTO.setCaseRate(BigDecimalUtil.integerDivideDelZero(caseStatisticsTypeDTO.getCaseNum() * 100, typeTotalNum, 1)); typeList.add(caseStatisticsTypeDTO); caseStatisticsBaseDTO.setTypeList(typeList); //事项来源 - terms.put("canal",CaseBaseConstsEnum.CASE_CANAL_1.getIndex()); + terms.put("canal", CaseBaseConstsEnum.CASE_CANAL_1.getIndex()); CaseStatisticsSourceDTO oneSource = mapper.statisticsSource(terms); + if(ObjectUtils.isEmpty(oneSource)){ + oneSource = new CaseStatisticsSourceDTO(); + } oneSource.setCanalName(CaseBaseConstsEnum.CASE_CANAL_1.getDes()); - terms.put("canal",CaseBaseConstsEnum.CASE_CANAL_2.getIndex()); + terms.put("canal", CaseBaseConstsEnum.CASE_CANAL_2.getIndex()); CaseStatisticsSourceDTO twoSource = mapper.statisticsSource(terms); + if(ObjectUtils.isEmpty(twoSource)){ + twoSource = new CaseStatisticsSourceDTO(); + } twoSource.setCanalName(CaseBaseConstsEnum.CASE_CANAL_2.getDes()); Integer sourceTotalNum = dellNull(oneSource.getCaseNum()) + dellNull(oneSource.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)); + 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("自行排查"); @@ -1035,81 +1047,72 @@ Sort sort = Sort.by(Sort.Direction.DESC, "a.create_time"); PageRequest pageRequest = PageRequest.of(0, 5, sort); Page<CasePageDTO> casePageDTOS = pageQueryAll(pageRequest, terms); - if(ObjectUtils.isNotEmpty(casePageDTOS.getContent())){ + if (ObjectUtils.isNotEmpty(casePageDTOS.getContent())) { caseStatisticsBaseDTO.setCaseList(casePageDTOS.getContent()); - }else{ + } else { caseStatisticsBaseDTO.setCaseList(new ArrayList<>()); } return caseStatisticsBaseDTO; } - public List<CaseStatisticsTypeDTO> sortType(List<CaseStatisticsTypeDTO> caseStatisticsTypeDTOS){ - caseStatisticsTypeDTOS.sort((o1, o2)->{ + public List<CaseStatisticsTypeDTO> sortType(List<CaseStatisticsTypeDTO> caseStatisticsTypeDTOS) { + caseStatisticsTypeDTOS.sort((o1, o2) -> { Integer totalScore1 = o1.getCaseNum(); Integer totalScore2 = o2.getCaseNum(); - if(totalScore1 < totalScore2) { + if (totalScore1 < totalScore2) { return 1; - }else if (totalScore1.equals(totalScore2)){ + } else if (totalScore1.equals(totalScore2)) { return 0; - }else{ + } else { return -1; } }); return caseStatisticsTypeDTOS; } - public List<CaseStatisticsAreaDTO> sortArea(List<CaseStatisticsAreaDTO> caseStatisticsAreaDTOS){ - caseStatisticsAreaDTOS.sort((o1, o2)->{ + public List<CaseStatisticsAreaDTO> sortArea(List<CaseStatisticsAreaDTO> caseStatisticsAreaDTOS) { + caseStatisticsAreaDTOS.sort((o1, o2) -> { + log.info("xsd:{},{}",o1,o2); Integer totalScore1 = Integer.valueOf(o1.getAreaCode()); Integer totalScore2 = Integer.valueOf(o2.getAreaCode()); - if(totalScore1 > totalScore2) { + if (totalScore1 > totalScore2) { return 1; - }else if (totalScore1.equals(totalScore2)){ + } else if (totalScore1.equals(totalScore2)) { return 0; - }else{ + } else { return -1; } }); return caseStatisticsAreaDTOS; } - public Integer dellNull(Integer number){ - if(ObjectUtils.isEmpty(number)){ + public Integer dellNull(Integer number) { + if (ObjectUtils.isEmpty(number)) { return 0; } return number; } - /** - * 根据json文件获取区域信息 - * */ - public CaseAreaDTO getArea() throws IOException { - Class<?> clazz = CaseAreaDTO.class; - String path = clazz.getResource("").getPath(); - ObjectMapper mapper = new ObjectMapper(); - File file = new File(path+"Area.json"); - CaseAreaDTO obj = mapper.readValue(file, CaseAreaDTO.class); - return obj; - } /** * 根据不同的等级获取不同区域子集合 + * * @param areaType 1-市级 2-区 - * */ - public List<CaseAreaDTO> listAreaByType(Object areaType,Object areaCode) throws IOException { - log.info("listAreaByType {},{}",areaType,areaCode); - CaseAreaDTO area = getArea(); - log.info("listAreaByType area {}",JSON.toJSONString(area)); - if(ObjectUtils.isEmpty(areaType) || areaType.equals("") || areaType.equals("1")){ - return area.getChildren(); + */ + public List<CaseArea> listAreaByType(Object areaType, Object areaCode) throws IOException { + log.info("listAreaByType {},{}", areaType, areaCode); + if (ObjectUtils.isEmpty(areaType) || areaType.equals("") || areaType.equals("1")) { + QueryWrapper<CaseArea> caseAreaWrapper = new QueryWrapper<>(); + caseAreaWrapper.eq("parent_code","1601"); + List<CaseArea> list = caseAreaService.list(caseAreaWrapper); + return list; } - if(areaType.equals("2")){ - List<CaseAreaDTO> children = area.getChildren(); - for (CaseAreaDTO child : children) { - if(child.getAreaCode().equals(areaCode)){ - return child.getChildren(); - } - } + if (areaType.equals("2")) { + + QueryWrapper<CaseArea> caseAreaWrapper = new QueryWrapper<>(); + caseAreaWrapper.eq("parent_code",areaCode); + List<CaseArea> list = caseAreaService.list(caseAreaWrapper); + return list; } return new ArrayList<>(); } -- Gitblit v1.8.0