广州市综治平台后端
xusd
2 days ago e9de6064cc94d6bc63685c5e62046ff810b96dab
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java
@@ -1,5 +1,6 @@
package cn.huge.module.cases.service;
import cn.huge.base.common.bo.R;
import cn.huge.base.common.exception.ServiceException;
import cn.huge.base.common.utils.*;
import cn.huge.module.casebook.consts.ByCaseTypeEnum;
@@ -16,6 +17,7 @@
import cn.huge.module.cases.domain.po.*;
import cn.huge.module.cases.domain.vo.CaseVo;
import cn.huge.module.cases.domain.vo.GenerateQrCodeRequestVo;
import cn.huge.module.cases.utils.StatisticsTimeUtils;
import cn.huge.module.client.api.impl.CustClientImpl;
import cn.huge.module.client.api.impl.SysClientImpl;
import cn.huge.module.client.api.impl.UtilsClientImpl;
@@ -118,6 +120,8 @@
    private CaseWindupApplyService caseWindupApplyService;
    @Autowired
    private CasePersonService casePersonService;
    @Autowired
    private ThGridCitizenEventService thGridCitizenEventService;
    /**
@@ -310,11 +314,13 @@
            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.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())) {
@@ -604,6 +610,10 @@
                caseInfoDTO.setIsRisk(caseInfoUnfold.getIsRisk());
                caseInfoDTO.setTcqk(caseInfoUnfold.getTcqk());
            }
            ThGridCitizenEvent thGridCitizenEvent = thGridCitizenEventService.getByCaseId(caseId);
            if (thGridCitizenEvent != null) {
                caseInfoDTO.setCityCode(thGridCitizenEvent.getCitizenEventCode());
            }
        } else {
            CasebookInfo casebookInfo = casebookInfoService.getById(caseId);
            if (ObjectUtils.isNotEmpty(casebookInfo)) {
@@ -821,7 +831,7 @@
        generateQrCodeRequestVo.setGridCode(area);
        caseInfo.setCaseRef(sysClient.getCaseRefByGenerateQrCode(generateQrCodeRequestVo));
        // 生产调解案号
        caseInfo.setCaseNo(utilsClient.createCaseNo(caseInfo.getQueArea()));
//        caseInfo.setCaseNo(utilsClient.createCaseNo(caseInfo.getQueArea()));
        log.info("xsdcaseInfo:{}", caseInfo);
        caseInfoUnfold.setId(caseInfo.getId());
        caseInfoUnfold.setCreateTime(nowDate);
@@ -1422,6 +1432,19 @@
        terms.put("areaType", areaType);
        // 调用统计调解过程的方法
        CaseStatisticsBaseDTO caseStatisticsBaseDTO = statisticsProcess(terms);
        //当日新增
        Map<String, Object> toDayTerms = new HashMap<>();
        toDayTerms.putAll(terms);
        String toDayStr = DateUtils.DateToString(DateUtils.getNowDate(), DateUtils.YYYY_MM_DD);
        toDayTerms.put("createStart", toDayStr + " 00:00:00");
        toDayTerms.put("createEnd", toDayStr + " 23:59:59");
        CaseStatisticsBaseDTO toDayBaseDTO = mapper.statisticsBase(toDayTerms);
        caseStatisticsBaseDTO.setToDayTotalNum(toDayBaseDTO.getTotalNum());
        caseStatisticsBaseDTO.setToDayProcessNum(toDayBaseDTO.getProcessNum());
        caseStatisticsBaseDTO.setToDayRejectNum(toDayBaseDTO.getRejectNum());
        caseStatisticsBaseDTO.setToDayFinishNum(toDayBaseDTO.getFinishNum());
        //区域数据统计
        List<CaseStatisticsAreaDTO> caseStatisticsAreaDTOS = new ArrayList<>();
        if (!isLast) {
@@ -1517,30 +1540,23 @@
            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);
        }
        }
        for (CaseStatisticsTypeDTO caseStatisticsTypeDTO : caseStatisticsTypeDTOS) {
            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);
//        }
        caseStatisticsBaseDTO.setTypeList(caseStatisticsTypeDTOS);
        //事项来源
        terms.put("canal", CaseBaseConstsEnum.CASE_CANAL_1.getIndex());
        CaseStatisticsSourceDTO oneSource = mapper.statisticsSource(terms);
@@ -1667,6 +1683,164 @@
            }
        });
        return caseStatisticsTypeDTOS;
    }
    /**
     * 工作统计
     */
    public CaseWorkStatisticsBaseDTO workStatistics(Map<String, Object> terms, String userId) throws IOException {
        CaseWorkStatisticsBaseDTO caseWorkStatisticsBaseDTO = new CaseWorkStatisticsBaseDTO();
        terms.put("statistics", "1");
        //根据用户筛选区域范围
        CtUnitDTO ctUnitDTO = custClient.getUnitByUserId(userId);
        //目前没有村居数据,所以单位等级是4的也归集到3里面
        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());
        }
        terms.put("workUserId", userId);
        String areaType = "1";
        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";
        }
        terms.put("areaType", areaType);
        CaseStatisticsBaseDTO caseStatisticsBaseDTO = mapper.statisticsBase(terms);
        Integer baseTotalNum = dellNull(caseStatisticsBaseDTO.getResolveNum()) + dellNull(caseStatisticsBaseDTO.getUnResolveNum()) + dellNull(caseStatisticsBaseDTO.getResolveingNum());
        Integer resolveTotalNum = dellNull(caseStatisticsBaseDTO.getResolveNum()) + dellNull(caseStatisticsBaseDTO.getUnResolveNum());
        caseStatisticsBaseDTO.setResolveRate(BigDecimalUtil.integerDivideDelZero(caseStatisticsBaseDTO.getResolveNum() * 100, resolveTotalNum, 1));
        caseStatisticsBaseDTO.setUnResolveRate(BigDecimalUtil.integerDivideDelZero(caseStatisticsBaseDTO.getUnResolveNum() * 100, resolveTotalNum, 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));
        //当日新增
        Map<String, Object> toDayTerms = new HashMap<>();
        toDayTerms.putAll(terms);
        String toDayStr = DateUtils.DateToString(DateUtils.getNowDate(), DateUtils.YYYY_MM_DD);
        toDayTerms.put("createStart", toDayStr + " 00:00:00");
        toDayTerms.put("createEnd", toDayStr + " 23:59:59");
        CaseStatisticsBaseDTO toDayBaseDTO = mapper.statisticsBase(toDayTerms);
        caseStatisticsBaseDTO.setToDayTotalNum(toDayBaseDTO.getTotalNum());
        caseStatisticsBaseDTO.setToDayProcessNum(toDayBaseDTO.getProcessNum());
        caseStatisticsBaseDTO.setToDayRejectNum(toDayBaseDTO.getRejectNum());
        caseStatisticsBaseDTO.setToDayFinishNum(toDayBaseDTO.getFinishNum());
        BeanUtils.copyProperties(caseStatisticsBaseDTO, caseWorkStatisticsBaseDTO);
        //按时间统计
        Date startDate = null;
        Date endDate = null;
        if(ObjectUtils.isNotEmpty(terms.get("createStart"))){
            String startTime = terms.get("createStart").toString();
            String endTime = terms.get("createEnd").toString();
            startDate = DateUtils.StringToDate(startTime, "yyyy-MM-dd HH:mm:ss");
            endDate = DateUtils.StringToDate(endTime, "yyyy-MM-dd HH:mm:ss");
            terms.put("selectTimeType","1");
        }else if(ObjectUtils.isNotEmpty(terms.get("closeStart"))){
            String startTime = terms.get("closeStart").toString();
            String endTime = terms.get("closeEnd").toString();
            startDate = DateUtils.StringToDate(startTime, "yyyy-MM-dd HH:mm:ss");
            endDate = DateUtils.StringToDate(endTime, "yyyy-MM-dd HH:mm:ss");
            terms.put("selectTimeType","2");
        }
        List<CaseWorkStatisticsTimeDTO> resultTimeDTOs = new ArrayList<>();
        if(ObjectUtils.isNotEmpty(startDate)){
            String spanType = StatisticsTimeUtils.spanTime(startDate, endDate);
            terms.put("timeType", spanType);
            List<CaseWorkStatisticsTimeDTO> caseWorkStatisticsTimeDTOs = mapper.workStatisticsTime(terms);
            resultTimeDTOs = StatisticsTimeUtils.dellStatisticsTime(caseWorkStatisticsTimeDTOs, startDate, endDate, spanType);
        }
        caseWorkStatisticsBaseDTO.setTimeList(resultTimeDTOs);
        //环比和同比
        if(StatisticsTimeUtils.isStartAndEndOfMonth(startDate, endDate)){
            caseWorkStatisticsBaseDTO.setMomType("1");
            Map<String, Object> momthTerms = new HashMap<>();
            momthTerms.putAll(terms);
            momthTerms.put("createStart", StatisticsTimeUtils.getMomStartDate(startDate) + " 00:00:00");
            momthTerms.put("createEnd", StatisticsTimeUtils.getMomEndDate(startDate) + " 23:59:59");
            CaseStatisticsBaseDTO momBaseDTO = mapper.statisticsBase(momthTerms);
            caseWorkStatisticsBaseDTO.setMomTotalRate(StatisticsTimeUtils.calculateMomGrowthRate(caseStatisticsBaseDTO.getTotalNum(),momBaseDTO.getTotalNum()));
            caseWorkStatisticsBaseDTO.setMomProcessRate(StatisticsTimeUtils.calculateMomGrowthRate(caseStatisticsBaseDTO.getProcessNum(),momBaseDTO.getProcessNum()));
            caseWorkStatisticsBaseDTO.setMomRejectRate(StatisticsTimeUtils.calculateMomGrowthRate(caseStatisticsBaseDTO.getRejectNum(),momBaseDTO.getRejectNum()));
            caseWorkStatisticsBaseDTO.setMomFinishNumRate(StatisticsTimeUtils.calculateMomGrowthRate(caseStatisticsBaseDTO.getFinishNum(),momBaseDTO.getFinishNum()));
            Integer momResolveTotalNum = dellNull(momBaseDTO.getResolveNum()) + dellNull(momBaseDTO.getUnResolveNum());
            momBaseDTO.setResolveRate(BigDecimalUtil.integerDivideDelZero(momBaseDTO.getResolveNum() * 100, momResolveTotalNum, 1));
            caseWorkStatisticsBaseDTO.setMomResolveRate(StatisticsTimeUtils.calculateMomGrowthRate(caseStatisticsBaseDTO.getResolveRate(),momBaseDTO.getResolveRate()));
            momthTerms.put("createStart", StatisticsTimeUtils.getYoyDate(startDate) + " 00:00:00");
            momthTerms.put("createEnd", StatisticsTimeUtils.getYoyDate(endDate) + " 23:59:59");
            CaseStatisticsBaseDTO yoyBaseDTO = mapper.statisticsBase(momthTerms);
            caseWorkStatisticsBaseDTO.setYoyTotalRate(StatisticsTimeUtils.calculateMomGrowthRate(caseStatisticsBaseDTO.getTotalNum(),yoyBaseDTO.getTotalNum()));
            caseWorkStatisticsBaseDTO.setYoyProcessRate(StatisticsTimeUtils.calculateMomGrowthRate(caseStatisticsBaseDTO.getProcessNum(),yoyBaseDTO.getProcessNum()));
            caseWorkStatisticsBaseDTO.setYoyRejectRate(StatisticsTimeUtils.calculateMomGrowthRate(caseStatisticsBaseDTO.getRejectNum(),yoyBaseDTO.getRejectNum()));
            caseWorkStatisticsBaseDTO.setYoyFinishNumRate(StatisticsTimeUtils.calculateMomGrowthRate(caseStatisticsBaseDTO.getFinishNum(),yoyBaseDTO.getFinishNum()));
            Integer yoyResolveTotalNum = dellNull(yoyBaseDTO.getResolveNum()) + dellNull(yoyBaseDTO.getUnResolveNum());
            yoyBaseDTO.setResolveRate(BigDecimalUtil.integerDivideDelZero(yoyBaseDTO.getResolveNum() * 100, yoyResolveTotalNum, 1));
            caseWorkStatisticsBaseDTO.setYoyResolveRate(StatisticsTimeUtils.calculateMomGrowthRate(caseStatisticsBaseDTO.getResolveRate(),yoyBaseDTO.getResolveRate()));
        }else if(StatisticsTimeUtils.isStartAndEndOfYear(startDate, endDate)){
            caseWorkStatisticsBaseDTO.setMomType("2");
            Map<String, Object> momthTerms = new HashMap<>();
            momthTerms.putAll(terms);
            momthTerms.put("createStart", StatisticsTimeUtils.getYoyDate(startDate) + " 00:00:00");
            momthTerms.put("createEnd", StatisticsTimeUtils.getYoyDate(endDate) + " 23:59:59");
            CaseStatisticsBaseDTO yoyBaseDTO = mapper.statisticsBase(momthTerms);
            caseWorkStatisticsBaseDTO.setYoyTotalRate(StatisticsTimeUtils.calculateMomGrowthRate(caseStatisticsBaseDTO.getTotalNum(),yoyBaseDTO.getTotalNum()));
            caseWorkStatisticsBaseDTO.setYoyProcessRate(StatisticsTimeUtils.calculateMomGrowthRate(caseStatisticsBaseDTO.getProcessNum(),yoyBaseDTO.getProcessNum()));
            caseWorkStatisticsBaseDTO.setYoyRejectRate(StatisticsTimeUtils.calculateMomGrowthRate(caseStatisticsBaseDTO.getRejectNum(),yoyBaseDTO.getRejectNum()));
            caseWorkStatisticsBaseDTO.setYoyFinishNumRate(StatisticsTimeUtils.calculateMomGrowthRate(caseStatisticsBaseDTO.getFinishNum(),yoyBaseDTO.getFinishNum()));
            Integer yoyResolveTotalNum = dellNull(yoyBaseDTO.getResolveNum()) + dellNull(yoyBaseDTO.getUnResolveNum());
            yoyBaseDTO.setResolveRate(BigDecimalUtil.integerDivideDelZero(yoyBaseDTO.getResolveNum() * 100, yoyResolveTotalNum, 1));
            caseWorkStatisticsBaseDTO.setYoyResolveRate(StatisticsTimeUtils.calculateMomGrowthRate(caseStatisticsBaseDTO.getResolveRate(),yoyBaseDTO.getResolveRate()));
        }else{
            caseWorkStatisticsBaseDTO.setMomType("0");
        }
        //纠纷类型统计
        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);
        }
        caseWorkStatisticsBaseDTO.setTypeList(typeList);
        return caseWorkStatisticsBaseDTO;
    }
    public Map<String, String> getArea() {
@@ -2097,7 +2271,7 @@
        return caseOverviewDetailDTOs;
    }
    public CaseStatisticsBaseDTO ledger(Map<String, Object> terms, String userId,String ledgerType) throws IOException {
    public CaseStatisticsBaseDTO ledger(Map<String, Object> terms, String userId, String ledgerType) throws IOException {
        terms.put("statistics", "1");
        CtUnitDTO ctUnitDTO = null;
@@ -2181,7 +2355,7 @@
        List<CaseStatisticsAreaDTO> areaList = new ArrayList<>();
        //本系统或者全部的时候才去查询数据
        if(ObjectUtils.isEmpty(ledgerType) || "1".equals(ledgerType)){
        if (ObjectUtils.isEmpty(ledgerType) || "1".equals(ledgerType)) {
            caseStatisticsBaseDTO = statisticsProcess(terms);
            //区域数据统计
@@ -2258,29 +2432,25 @@
                sortType(caseStatisticsTypeDTOS);
            }
            Integer typeTotalNum = 0;
            Integer otherCaseNum = 0;
            int i = 1;
            List<CaseStatisticsTypeDTO> typeList = new ArrayList<>();
//            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) {
            for (CaseStatisticsTypeDTO caseStatisticsTypeDTO : caseStatisticsTypeDTOS) {
                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);
            }
//            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);
//            }
            caseStatisticsBaseDTO.setTypeList(caseStatisticsTypeDTOS);
        }
        List<QueAreaDTO> queArea = listAreaByType(areaCode);
@@ -2521,7 +2691,7 @@
                }
                // 获取调解案号
                caseInfo.setCaseNo(utilsClient.createCaseNo(ctUnitDTO.getArea()));
//                caseInfo.setCaseNo(utilsClient.createCaseNo(ctUnitDTO.getArea()));
                caseInfo.setVisitWay(CaseBaseConstsEnum.VISIT_WAY_4.getIndex());
                caseInfo.setVisitWayName(CaseBaseConstsEnum.VISIT_WAY_4.getDes());
                if (StringUtils.isEmpty(caseInfo.getCanal())) {
@@ -2596,4 +2766,9 @@
                .insert(5, "-")
                .toString();
    }
    public R<String> createCaseNo(String userId) {
        CtUnitDTO unitByUserId = custClient.getUnitByUserId(userId);
        return R.ok(utilsClient.createCaseNo(unitByUserId.getArea()));
    }
}