From b11d1d772ec69b4846f520d3dfc346b8a1ae53a3 Mon Sep 17 00:00:00 2001 From: liyj <15602261488@163.com> Date: Sat, 21 Sep 2024 10:52:52 +0800 Subject: [PATCH] 添加sys生成id的方法 --- dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java | 382 ++++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 298 insertions(+), 84 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 d9128a0..2778806 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,6 +4,7 @@ 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; @@ -24,10 +25,12 @@ import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.fasterxml.jackson.databind.ObjectMapper; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Sort; import org.springframework.stereotype.Service; import lombok.extern.slf4j.Slf4j; import org.springframework.data.domain.Page; @@ -35,6 +38,8 @@ import org.springframework.data.domain.PageRequest; import org.springframework.transaction.annotation.Transactional; +import java.io.File; +import java.io.IOException; import java.util.*; import java.util.stream.Collectors; @@ -92,6 +97,20 @@ }catch (Exception e){ log.error("[CaseInfoService.updateCaseInfo]调用失败,异常信息:"+e, e); throw new ServiceException("CaseInfoService.updateCaseInfo", e); + } + } + + /** + * 批量更新对象 + * @param entity 对象 + * @param caseIdList + */ + public void updateCaseInfoList(CaseInfo entity, List<String> caseIdList){ + try{ + mapper.updateCaseInfoList(entity, caseIdList); + }catch (Exception e){ + log.error("[CaseInfoService.updateCaseInfoList]调用失败,异常信息:"+e, e); + throw new ServiceException("CaseInfoService.updateCaseInfoList", e); } } @@ -213,6 +232,11 @@ caseInfo.setInputWay(CaseBaseConsts.INPUT_WAY_1); caseInfo.setCreateTime(nowDate); caseInfo.setDeleteStatus(BaseConsts.DELETE_STATUS_0); + //默认添加省市 + caseInfo.setQueProv("19"); + caseInfo.setQueProvName("广东省"); + caseInfo.setQueCity("1601"); + caseInfo.setQueCityName("广州市"); // 删除草稿案件 if(1 == registerSaveDTO.getIsDraft() ){ draftInfoService.removeDraftInfo(registerSaveDTO.getId()); @@ -229,7 +253,7 @@ // 判断是否自行受理 if(1 == registerSaveDTO.getIsSelfAccept()){ // 自行受理流程 - caseTaskService.webStartFlowZXSL(caseInfo, loginUser); + return caseTaskService.webStartFlowZXSL(caseInfo, loginUser); }else { // 自动调度流程 caseTaskService.webStartFlowLFDJ(caseInfo); @@ -527,42 +551,47 @@ * @return String 纠纷编号 */ public String caseRegisterWechat(RegisterSaveDTO registerSaveDTO, String userId){ - try { - // 获取当前登录用户 - PaUserDTO loginUser = custClient.paclientGetUser(userId); - if(ObjectUtils.isEmpty(registerSaveDTO.getCustId())){ - registerSaveDTO.setCustId(loginUser.getCustId()); - } + // 获取当前登录用户 + PaUserDTO loginUser = custClient.paclientGetUser(userId); + if(ObjectUtils.isEmpty(registerSaveDTO.getCustId())){ + registerSaveDTO.setCustId(loginUser.getCustId()); + } - Date nowDate = DateUtils.getNowDate(); - registerSaveDTO.setUpdateTime(nowDate); + Date nowDate = DateUtils.getNowDate(); + registerSaveDTO.setUpdateTime(nowDate); - CaseInfo caseInfo = new CaseInfo(); - CaseInfoUnfold caseInfoUnfold = new CaseInfoUnfold(); - BeanUtils.copyProperties(registerSaveDTO, caseInfo); - if(ObjectUtils.isEmpty(caseInfo.getId())){ - caseInfo.setId(utilsClient.getNewTimeCaseId()); - } + CaseInfo caseInfo = new CaseInfo(); + CaseInfoUnfold caseInfoUnfold = new CaseInfoUnfold(); + BeanUtils.copyProperties(registerSaveDTO, caseInfo); + if(ObjectUtils.isEmpty(caseInfo.getId())){ + caseInfo.setId(utilsClient.getNewTimeCaseId()); + } // caseInfo.setInputUnitId(loginUser.getUnitId()); // caseInfo.setInputUnitName(loginUser.getUnitName()); - caseInfo.setInputUserId(loginUser.getId()); - caseInfo.setInputUserName(loginUser.getTrueName()); - caseInfo.setInputWay(CaseBaseConsts.INPUT_WAY_1); - caseInfo.setCreateTime(nowDate); - caseInfo.setUpdateTime(nowDate); - caseInfo.setVisitTime(nowDate); - caseInfo.setDeleteStatus(BaseConsts.DELETE_STATUS_0); - //坐标转换 - if(ObjectUtils.isNotEmpty(caseInfo.getLat()) && ObjectUtils.isNotEmpty(caseInfo.getLng())){ - PointXY pointXY = MapUtils.gcj02tobd09(Double.valueOf(caseInfo.getLng()), Double.valueOf(caseInfo.getLat())); - caseInfo.setLat(pointXY.getLat()+""); - caseInfo.setLng(pointXY.getLon()+""); - } - //todo case_title生成 - caseInfo.setCaseRef(utilsClient.createCaseRef()); + caseInfo.setInputUserId(loginUser.getId()); + caseInfo.setInputUserName(loginUser.getTrueName()); + caseInfo.setInputWay(CaseBaseConsts.INPUT_WAY_1); + //默认添加省市 + caseInfo.setQueProv("19"); + caseInfo.setQueProvName("广东省"); + caseInfo.setQueCity("1601"); + caseInfo.setQueCityName("广州市"); - // 为了演示先兼容小程序没属地问题,写死属地 - if (ObjectUtils.isEmpty(caseInfo.getQueProv())) { + caseInfo.setCreateTime(nowDate); + caseInfo.setUpdateTime(nowDate); + caseInfo.setVisitTime(nowDate); + caseInfo.setDeleteStatus(BaseConsts.DELETE_STATUS_0); + //坐标转换 + if(ObjectUtils.isNotEmpty(caseInfo.getLat()) && ObjectUtils.isNotEmpty(caseInfo.getLng())){ + PointXY pointXY = MapUtils.gcj02tobd09(Double.valueOf(caseInfo.getLng()), Double.valueOf(caseInfo.getLat())); + caseInfo.setLat(pointXY.getLat()+""); + caseInfo.setLng(pointXY.getLon()+""); + } + //todo case_title生成 + caseInfo.setCaseRef(utilsClient.createCaseRef()); + + // 为了演示先兼容小程序没属地问题,写死属地 + if (ObjectUtils.isEmpty(caseInfo.getQueProv())) { // caseInfo.setQueProv("19"); // caseInfo.setQueProvName("广东"); // caseInfo.setQueCity("1601"); @@ -572,62 +601,58 @@ // caseInfo.setQueRoad("62857"); // caseInfo.setQueRoadName("新市街道"); - // 根据经纬度查询问题属地 - QueAddrBaseDTO queAddrBaseDTO = sysClient.getQueAddrByBaiduiLngLat(caseInfo.getLng(), caseInfo.getLat()); - caseInfo.setQueProv(queAddrBaseDTO.getQueProv()); - caseInfo.setQueProvName(queAddrBaseDTO.getQueProvName()); - caseInfo.setQueCity(queAddrBaseDTO.getQueCity()); - caseInfo.setQueCityName(queAddrBaseDTO.getQueCityName()); - caseInfo.setQueArea(queAddrBaseDTO.getQueArea()); - caseInfo.setQueAreaName(queAddrBaseDTO.getQueAreaName()); - caseInfo.setQueRoad(queAddrBaseDTO.getQueRoad()); - caseInfo.setQueRoadName(queAddrBaseDTO.getQueRoadName()); - } - caseInfoUnfold.setId(caseInfo.getId()); - caseInfoUnfold.setCreateTime(nowDate); - caseInfoUnfold.setUpdateTime(nowDate); + // 根据经纬度查询问题属地 + QueAddrBaseDTO queAddrBaseDTO = sysClient.getQueAddrByBaiduiLngLat(caseInfo.getLng(), caseInfo.getLat()); + caseInfo.setQueProv(queAddrBaseDTO.getQueProv()); + caseInfo.setQueProvName(queAddrBaseDTO.getQueProvName()); + caseInfo.setQueCity(queAddrBaseDTO.getQueCity()); + caseInfo.setQueCityName(queAddrBaseDTO.getQueCityName()); + caseInfo.setQueArea(queAddrBaseDTO.getQueArea()); + caseInfo.setQueAreaName(queAddrBaseDTO.getQueAreaName()); + caseInfo.setQueRoad(queAddrBaseDTO.getQueRoad()); + caseInfo.setQueRoadName(queAddrBaseDTO.getQueRoadName()); + } + caseInfoUnfold.setId(caseInfo.getId()); + caseInfoUnfold.setCreateTime(nowDate); + caseInfoUnfold.setUpdateTime(nowDate); - StringBuffer plaintiffs = new StringBuffer(); - StringBuffer defendants = new StringBuffer(); - StringBuffer pagents = new StringBuffer(); - StringBuffer dagents = new StringBuffer(); - // 常规登记-保存当事人 - int peopleNum = this.saveCasePersonWechat(registerSaveDTO, plaintiffs, pagents, defendants, dagents,loginUser); - caseInfo.setVisitPeopleNum(peopleNum); - caseInfo.setPlaintiffs(plaintiffs.toString()); - caseInfo.setPagents(pagents.toString()); - caseInfo.setDefendants(defendants.toString()); - caseInfo.setDagents(dagents.toString()); + StringBuffer plaintiffs = new StringBuffer(); + StringBuffer defendants = new StringBuffer(); + StringBuffer pagents = new StringBuffer(); + StringBuffer dagents = new StringBuffer(); + // 常规登记-保存当事人 + int peopleNum = this.saveCasePersonWechat(registerSaveDTO, plaintiffs, pagents, defendants, dagents,loginUser); + caseInfo.setVisitPeopleNum(peopleNum); + caseInfo.setPlaintiffs(plaintiffs.toString()); + caseInfo.setPagents(pagents.toString()); + caseInfo.setDefendants(defendants.toString()); + caseInfo.setDagents(dagents.toString()); - //todo case_title生成 + //todo case_title生成 // caseInfo.setCaseTitle(this.createCaseTitle(plaintiffs.toString(), defendants.toString(), caseInfo.getCaseTypeName())); - caseInfo.setInfoProcess(CaseInfoProcessBaseConstsEnum.CASE_INFO_PROCESS_1.getIndex()); - caseInfo.setInfoProcessName(CaseInfoProcessBaseConstsEnum.CASE_INFO_PROCESS_1.getDes()); - caseInfo.setProcess(CaseProcessBaseConstsEnum.CASE_PROCESS_1.getIndex()); - caseInfo.setProcessName(CaseProcessBaseConstsEnum.CASE_PROCESS_1.getDes()); - caseInfo.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_1.getIndex()); - caseInfo.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_1.getDes()); - caseInfo.setCaseLevel(3); - caseInfo.setCanal(CaseBaseConstsEnum.CASE_CANAL_2.getIndex()); - caseInfo.setCanalName(CaseBaseConstsEnum.CASE_CANAL_2.getDes()); + caseInfo.setInfoProcess(CaseInfoProcessBaseConstsEnum.CASE_INFO_PROCESS_1.getIndex()); + caseInfo.setInfoProcessName(CaseInfoProcessBaseConstsEnum.CASE_INFO_PROCESS_1.getDes()); + caseInfo.setProcess(CaseProcessBaseConstsEnum.CASE_PROCESS_1.getIndex()); + caseInfo.setProcessName(CaseProcessBaseConstsEnum.CASE_PROCESS_1.getDes()); + caseInfo.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_1.getIndex()); + caseInfo.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_1.getDes()); + caseInfo.setCaseLevel(3); + caseInfo.setCanal(CaseBaseConstsEnum.CASE_CANAL_2.getIndex()); + caseInfo.setCanalName(CaseBaseConstsEnum.CASE_CANAL_2.getDes()); - caseInfo.setCaseRef(utilsClient.createCaseRef()); - caseInfo.setVisitWay(CaseBaseConstsEnum.VISIT_WAY_2.getIndex()); - caseInfo.setVisitWayName(CaseBaseConstsEnum.VISIT_WAY_2.getDes()); - // 临时加上一级纠纷类型 - caseInfo.setCaseTypeFirst("24_01-2"); - caseInfo.setCaseTypeFirstName("劳动社保"); - this.saveOrUpdate(caseInfo); + caseInfo.setCaseRef(utilsClient.createCaseRef()); + caseInfo.setVisitWay(CaseBaseConstsEnum.VISIT_WAY_2.getIndex()); + caseInfo.setVisitWayName(CaseBaseConstsEnum.VISIT_WAY_2.getDes()); + // 临时加上一级纠纷类型 + caseInfo.setCaseTypeFirst("24_01-2"); + caseInfo.setCaseTypeFirstName("劳动社保"); + this.saveOrUpdate(caseInfo); - caseInfoUnfoldService.saveOrUpdate(caseInfoUnfold); - // 启动工作流-自动调度流程 - caseTaskService.webStartFlowLFDJ(caseInfo); - return registerSaveDTO.getId(); - }catch (Exception e){ - log.error("service方法[CaseInfoService.caseRegisterWechat]调用异常:"+e, e); - throw new ServiceException("CaseInfoService.caseRegisterWechat", e); - } + caseInfoUnfoldService.saveOrUpdate(caseInfoUnfold); + // 启动工作流-自动调度流程 + caseTaskService.webStartFlowLFDJ(caseInfo); + return registerSaveDTO.getId(); } /** @@ -795,8 +820,11 @@ if(ObjectUtils.isNotEmpty(caseInfoUnfold)){ caseInfoWeChatDTO.setMediResult(caseInfoUnfold.getMediResult()); caseInfoWeChatDTO.setMediResultName(caseInfoUnfold.getMediResultName()); - caseInfoWeChatDTO.setMediateDeptId(caseInfoUnfold.getMediateDeptId()); - caseInfoWeChatDTO.setMediateDeptName(caseInfoUnfold.getMediateDeptName()); + caseInfoWeChatDTO.setMediateDeptId(caseInfoUnfold.getMediateUnitId()); + caseInfoWeChatDTO.setMediateDeptName(caseInfoUnfold.getMediateUnitName()); + caseInfoWeChatDTO.setAgreeType(caseInfoUnfold.getAgreeType()); + caseInfoWeChatDTO.setAgreeTypeName(caseInfoUnfold.getAgreeTypeName()); + caseInfoWeChatDTO.setAgreeContent(caseInfoUnfold.getAgreeContent()); } QueryWrapper<CasePerson> personWrapper1 = new QueryWrapper<>(); @@ -868,4 +896,190 @@ } return new PageImpl<CasePageDTO>(content, page, total); } + + 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 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)); + //区域数据统计 + terms.put("isArea","1"); + List<CaseStatisticsAreaDTO> caseStatisticsAreaDTOS = mapper.statisticsArea(terms); + if(ObjectUtils.isEmpty(caseStatisticsAreaDTOS)){ + caseStatisticsAreaDTOS = new ArrayList<>(); + } + CaseStatisticsAreaDTO allArea = new CaseStatisticsAreaDTO(); + allArea.setAreaName("本级"); + allArea.setAreaCode("1"); + List<String> areaCodeList = 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()); + } + 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())){ + CaseStatisticsAreaDTO areaChild = new CaseStatisticsAreaDTO(); + areaChild.setAreaCode(caseAreaDTO.getAreaCode()); + areaChild.setAreaName(caseAreaDTO.getAreaName()); + areaChild.setCaseNum(0); + areaChild.setResolveNum(0); + areaChild.setUnResolveNum(0); + areaChild.setResolveingNum(0); + caseStatisticsAreaDTOS.add(areaChild); + } + } + + if(ObjectUtils.isNotEmpty(caseStatisticsAreaDTOS)){ + sortArea(caseStatisticsAreaDTOS); + } + caseStatisticsBaseDTO.setAreaList(caseStatisticsAreaDTOS); + terms.remove("isArea"); + //纠纷类型统计 + List<CaseStatisticsTypeDTO> caseStatisticsTypeDTOS = mapper.statisticsType(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 > 5){ + otherCaseNum = otherCaseNum + dellNull(caseStatisticsTypeDTO.getCaseNum()); + }else{ + typeList.add(caseStatisticsTypeDTO); + } + i++; + } + for (CaseStatisticsTypeDTO caseStatisticsTypeDTO : typeList) { + 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)); + typeList.add(caseStatisticsTypeDTO); + caseStatisticsBaseDTO.setTypeList(typeList); + //事项来源 + terms.put("canal",CaseBaseConstsEnum.CASE_CANAL_1.getIndex()); + CaseStatisticsSourceDTO oneSource = mapper.statisticsSource(terms); + oneSource.setCanalName(CaseBaseConstsEnum.CASE_CANAL_1.getDes()); + terms.put("canal",CaseBaseConstsEnum.CASE_CANAL_2.getIndex()); + CaseStatisticsSourceDTO twoSource = mapper.statisticsSource(terms); + 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)); + + CaseStatisticsSourceDTO threeSource = new CaseStatisticsSourceDTO(); + threeSource.setCanalName("自行排查"); + threeSource.setResolveRate("0"); + threeSource.setCaseRate("0"); + CaseStatisticsSourceDTO fourSource = new CaseStatisticsSourceDTO(); + fourSource.setCanalName("协同推送"); + fourSource.setResolveRate("0"); + fourSource.setCaseRate("0"); + caseStatisticsBaseDTO.setOneSource(oneSource); + caseStatisticsBaseDTO.setTwoSource(twoSource); + caseStatisticsBaseDTO.setThreeSource(threeSource); + caseStatisticsBaseDTO.setFourSource(fourSource); + + //案件集合 + 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())){ + caseStatisticsBaseDTO.setCaseList(casePageDTOS.getContent()); + }else{ + caseStatisticsBaseDTO.setCaseList(new ArrayList<>()); + } + return caseStatisticsBaseDTO; + } + + public List<CaseStatisticsTypeDTO> sortType(List<CaseStatisticsTypeDTO> caseStatisticsTypeDTOS){ + caseStatisticsTypeDTOS.sort((o1, o2)->{ + Integer totalScore1 = o1.getCaseNum(); + Integer totalScore2 = o2.getCaseNum(); + if(totalScore1 < totalScore2) { + return 1; + }else if (totalScore1.equals(totalScore2)){ + return 0; + }else{ + return -1; + } + }); + return caseStatisticsTypeDTOS; + } + + public List<CaseStatisticsAreaDTO> sortArea(List<CaseStatisticsAreaDTO> caseStatisticsAreaDTOS){ + caseStatisticsAreaDTOS.sort((o1, o2)->{ + Integer totalScore1 = Integer.valueOf(o1.getAreaCode()); + Integer totalScore2 = Integer.valueOf(o2.getAreaCode()); + if(totalScore1 > totalScore2) { + return 1; + }else if (totalScore1.equals(totalScore2)){ + return 0; + }else{ + return -1; + } + }); + return caseStatisticsAreaDTOS; + } + + 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(); + } + if(areaType.equals("2")){ + List<CaseAreaDTO> children = area.getChildren(); + for (CaseAreaDTO child : children) { + if(child.getAreaCode().equals(areaCode)){ + return child.getChildren(); + } + } + } + return new ArrayList<>(); + } } -- Gitblit v1.8.0