forked from gzzfw/backEnd/gz-dyh

xusd
2024-10-27 80cc7fd5df68a78df4921379a4909a8025febdfc
dyh-service/dyh-sync-bydyh/src/main/java/cn/huge/module/bycase/service/CaseInfoService.java
@@ -133,7 +133,7 @@
    public List<GZCaseDTO> byToGzEndCase(int page, int size){
        List<GZCaseDTO> gzCaseDTOList = new ArrayList<>();
        Map<String, Object> terms = Maps.newHashMap();
        terms.put("EndProcess", "EndProcess");
        terms.put("endProcess", "endProcess");
        Sort sort = Sort.by(Sort.Direction.DESC, "create_time");
        PageRequest pageRequest = PageRequest.of(page-1, size, sort);
        Page<CaseInfo> caseInfoPage = this.pageQuery(pageRequest, terms);
@@ -502,4 +502,282 @@
        return gzCaseDTOList;
    }
    /**
     * 数据割接-进行中的纠纷案件信息
     * @return
     */
    public List<GZCaseDTO> byToGzTodoCase(int page, int size){
        List<GZCaseDTO> gzCaseDTOList = new ArrayList<>();
        Map<String, Object> terms = Maps.newHashMap();
        terms.put("todoProcess", "todoProcess");
        Sort sort = Sort.by(Sort.Direction.DESC, "create_time");
        PageRequest pageRequest = PageRequest.of(page-1, size, sort);
        Page<CaseInfo> caseInfoPage = this.pageQuery(pageRequest, terms);
        for (CaseInfo caseInfo: caseInfoPage){
            if ("2105191835025741".equals(caseInfo.getWantUnitId()) || "2105191835025741".equals(caseInfo.getMediateUnitId())){
                log.info("过滤演示案件");
            }else {
                GZCaseDTO gzCaseDTO = new GZCaseDTO();
                // 封装案件信息
                GZCaseInfoDTO gzCaseInfoDTO = new GZCaseInfoDTO();
                BeanUtils.copyProperties(caseInfo, gzCaseInfoDTO);
                // 生成事项编号
                gzCaseInfoDTO.setCaseRef(utilsClient.createCaseRef());
                // 都是3级事件
                gzCaseInfoDTO.setCaseLevel(CaseBaseConsts.CASE_LEVEL_3);
                // 映射来访时间
                gzCaseInfoDTO.setVisitTime(caseInfo.getAcceptTime());
                // 映射来访人数
                gzCaseInfoDTO.setVisitPeopleNum(caseInfo.getPeopleNum());
                // 映射纠纷类型
//            gzCaseInfoDTO.setCaseTypeFirst();
//            gzCaseInfoDTO.setCaseTypeFirstName();
//            gzCaseInfoDTO.setCaseType();
//            gzCaseInfoDTO.setCaseTypeName();
                // 映射问题属地
                gzCaseInfoDTO.setQueProv(GzRegionEnum.PROV_1.getIndex());
                gzCaseInfoDTO.setQueProvName(GzRegionEnum.PROV_1.getDes());
                gzCaseInfoDTO.setQueCity(GzRegionEnum.CITY_1.getIndex());
                gzCaseInfoDTO.setQueCityName(GzRegionEnum.CITY_1.getDes());
                gzCaseInfoDTO.setQueArea(GzRegionEnum.AREA_7.getIndex());
                gzCaseInfoDTO.setQueAreaName(GzRegionEnum.AREA_7.getDes());
                if (StringUtils.isNotEmpty(caseInfo.getRoad())) {
                    if (ByRegionEnum.getGZRegion(caseInfo.getRoad()) != null) {
                        gzCaseInfoDTO.setQueRoad(ByRegionEnum.getGZRegion(caseInfo.getRoad()).getIndex());
                        gzCaseInfoDTO.setQueRoadName(ByRegionEnum.getGZRegion(caseInfo.getRoad()).getDes());
                    }
                }
                gzCaseInfoDTO.setQueVillage(null);
                gzCaseInfoDTO.setQueVillageName(null);
                if ("2".equals(caseInfo.getInputWay())) {
                    gzCaseInfoDTO.setInputWay(2);
                } else {
                    gzCaseInfoDTO.setInputWay(1);
                }
                // 映射事项来源、来访形式
                if (ByCaseConstsEnum.CASE_CANAL_1.getIndex().equals(caseInfo.getCanal())) {
                    if (caseInfo.getMediateUnitId().equals(caseInfo.getInputUnitId())) {
                        // 事项来源
                        gzCaseInfoDTO.setCanal(CaseBaseConstsEnum.CASE_CANAL_3.getIndex());
                        gzCaseInfoDTO.setCanalName(CaseBaseConstsEnum.CASE_CANAL_3.getDes());
                        // 来访形式
                        gzCaseInfoDTO.setVisitWay(CaseBaseConstsEnum.getVisitWayByCanal(gzCaseInfoDTO.getCanal()).getIndex());
                        gzCaseInfoDTO.setVisitWayName(CaseBaseConstsEnum.getVisitWayByCanal(gzCaseInfoDTO.getCanal()).getDes());
                    } else {
                        // 事项来源
                        gzCaseInfoDTO.setCanal(CaseBaseConstsEnum.CASE_CANAL_1.getIndex());
                        gzCaseInfoDTO.setCanalName(CaseBaseConstsEnum.CASE_CANAL_1.getDes());
                        // 来访形式
                        gzCaseInfoDTO.setVisitWay(CaseBaseConstsEnum.getVisitWayByCanal(gzCaseInfoDTO.getCanal()).getIndex());
                        gzCaseInfoDTO.setVisitWayName(CaseBaseConstsEnum.getVisitWayByCanal(gzCaseInfoDTO.getCanal()).getDes());
                    }
                } else if (ByCaseConstsEnum.CASE_CANAL_2.getIndex().equals(caseInfo.getCanal())) {
                    // 事项来源
                    gzCaseInfoDTO.setCanal(CaseBaseConstsEnum.CASE_CANAL_2.getIndex());
                    gzCaseInfoDTO.setCanalName(CaseBaseConstsEnum.CASE_CANAL_2.getDes());
                    // 来访形式
                    gzCaseInfoDTO.setVisitWay(CaseBaseConstsEnum.getVisitWayByCanal(gzCaseInfoDTO.getCanal()).getIndex());
                    gzCaseInfoDTO.setVisitWayName(CaseBaseConstsEnum.getVisitWayByCanal(gzCaseInfoDTO.getCanal()).getDes());
                }
                // 映射是否自行受理
                gzCaseInfoDTO.setZxslStatus(CaseBaseConsts.ZXSL_STATUS_0);
                // 是否重大矛盾纠纷
                gzCaseInfoDTO.setMajorStatus(CaseBaseConsts.MAJOR_STATUS_0);
                // 映射事项状态、事项进度、对外展示事项进度
                if (ByCaseConstsEnum.CASE_PROCESS_1.getIndex().equals(caseInfo.getProcess())) {
                    // 事项状态
                    gzCaseInfoDTO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_3.getIndex());
                    gzCaseInfoDTO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_3.getDes());
                    // 事项进度
                    gzCaseInfoDTO.setProcess(CaseProcessBaseConstsEnum.getByStatus(gzCaseInfoDTO.getStatus()).getIndex());
                    gzCaseInfoDTO.setProcessName(CaseProcessBaseConstsEnum.getByStatus(gzCaseInfoDTO.getStatus()).getDes());
                    // 对外展示事项进度
                    gzCaseInfoDTO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(gzCaseInfoDTO.getProcess()).getIndex());
                    gzCaseInfoDTO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(gzCaseInfoDTO.getProcess()).getDes());
                } else if (ByCaseConstsEnum.CASE_PROCESS_2.getIndex().equals(caseInfo.getProcess())) {
                    // 事项状态
                    gzCaseInfoDTO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_3.getIndex());
                    gzCaseInfoDTO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_3.getDes());
                    // 事项进度
                    gzCaseInfoDTO.setProcess(CaseProcessBaseConstsEnum.getByStatus(gzCaseInfoDTO.getStatus()).getIndex());
                    gzCaseInfoDTO.setProcessName(CaseProcessBaseConstsEnum.getByStatus(gzCaseInfoDTO.getStatus()).getDes());
                    // 对外展示事项进度
                    gzCaseInfoDTO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(gzCaseInfoDTO.getProcess()).getIndex());
                    gzCaseInfoDTO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(gzCaseInfoDTO.getProcess()).getDes());
                } else if (ByCaseConstsEnum.CASE_PROCESS_3.getIndex().equals(caseInfo.getProcess())) {
                    // 事项状态
                    gzCaseInfoDTO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_4.getIndex());
                    gzCaseInfoDTO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_4.getDes());
                    // 事项进度
                    gzCaseInfoDTO.setProcess(CaseProcessBaseConstsEnum.getByStatus(gzCaseInfoDTO.getStatus()).getIndex());
                    gzCaseInfoDTO.setProcessName(CaseProcessBaseConstsEnum.getByStatus(gzCaseInfoDTO.getStatus()).getDes());
                    // 对外展示事项进度
                    gzCaseInfoDTO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(gzCaseInfoDTO.getProcess()).getIndex());
                    gzCaseInfoDTO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(gzCaseInfoDTO.getProcess()).getDes());
                } else if (ByCaseConstsEnum.CASE_PROCESS_4.getIndex().equals(caseInfo.getProcess())) {
                    // 事项状态
                    gzCaseInfoDTO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_7.getIndex());
                    gzCaseInfoDTO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_7.getDes());
                    // 事项进度
                    gzCaseInfoDTO.setProcess(CaseProcessBaseConstsEnum.getByStatus(gzCaseInfoDTO.getStatus()).getIndex());
                    gzCaseInfoDTO.setProcessName(CaseProcessBaseConstsEnum.getByStatus(gzCaseInfoDTO.getStatus()).getDes());
                    // 对外展示事项进度
                    gzCaseInfoDTO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(gzCaseInfoDTO.getProcess()).getIndex());
                    gzCaseInfoDTO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(gzCaseInfoDTO.getProcess()).getDes());
                } else if (ByCaseConstsEnum.CASE_PROCESS_5.getIndex().equals(caseInfo.getProcess())) {
                    // 事项状态
                    gzCaseInfoDTO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_8.getIndex());
                    gzCaseInfoDTO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_8.getDes());
                    // 事项进度
                    gzCaseInfoDTO.setProcess(CaseProcessBaseConstsEnum.getByStatus(gzCaseInfoDTO.getStatus()).getIndex());
                    gzCaseInfoDTO.setProcessName(CaseProcessBaseConstsEnum.getByStatus(gzCaseInfoDTO.getStatus()).getDes());
                    // 对外展示事项进度
                    gzCaseInfoDTO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(gzCaseInfoDTO.getProcess()).getIndex());
                    gzCaseInfoDTO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(gzCaseInfoDTO.getProcess()).getDes());
                } else if (ByCaseConstsEnum.CASE_PROCESS_6.getIndex().equals(caseInfo.getProcess())) {
                    // 事项状态
                    gzCaseInfoDTO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_8.getIndex());
                    gzCaseInfoDTO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_8.getDes());
                    // 事项进度
                    gzCaseInfoDTO.setProcess(CaseProcessBaseConstsEnum.getByStatus(gzCaseInfoDTO.getStatus()).getIndex());
                    gzCaseInfoDTO.setProcessName(CaseProcessBaseConstsEnum.getByStatus(gzCaseInfoDTO.getStatus()).getDes());
                    // 对外展示事项进度
                    gzCaseInfoDTO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(gzCaseInfoDTO.getProcess()).getIndex());
                    gzCaseInfoDTO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(gzCaseInfoDTO.getProcess()).getDes());
                } else if (ByCaseConstsEnum.CASE_PROCESS_7.getIndex().equals(caseInfo.getProcess())) {
                    // 事项状态
                    gzCaseInfoDTO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_8.getIndex());
                    gzCaseInfoDTO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_8.getDes());
                    // 事项进度
                    gzCaseInfoDTO.setProcess(CaseProcessBaseConstsEnum.getByStatus(gzCaseInfoDTO.getStatus()).getIndex());
                    gzCaseInfoDTO.setProcessName(CaseProcessBaseConstsEnum.getByStatus(gzCaseInfoDTO.getStatus()).getDes());
                    // 对外展示事项进度
                    gzCaseInfoDTO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(gzCaseInfoDTO.getProcess()).getIndex());
                    gzCaseInfoDTO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(gzCaseInfoDTO.getProcess()).getDes());
                }
                // 映射小程序是否可见
                gzCaseInfoDTO.setPartyShow(CaseBaseConsts.PARTY_SHOW_1);
                // 映射删除状态
                if (ByBaseConsts.DELETE_STATUS_99.equals(caseInfo.getDeleteStatus())) {
                    gzCaseInfoDTO.setDeleteStatus(BaseConsts.DELETE_STATUS_1);
                } else {
                    gzCaseInfoDTO.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
                }
                gzCaseDTO.setGzCaseInfoDTO(gzCaseInfoDTO);
                // 封装案件扩展信息
                GZCaseInfoUnfoldDTO gzCaseInfoUnfoldDTO = new GZCaseInfoUnfoldDTO();
                BeanUtils.copyProperties(caseInfo, gzCaseInfoUnfoldDTO);
                // 映射调解结果名称
                gzCaseInfoUnfoldDTO.setMediResultName(MediResultBaseConstsEnum.getDes(caseInfo.getMediResult()));
                // 映射达成协议类型
                if (ByCaseConstsEnum.CASE_PROCESS_4.getIndex().equals(caseInfo.getProcess())) {
                    // 调解成功
                    if (ByCaseConstsEnum.MEDI_RESULT_1.getIndex().equals(caseInfo.getMediResult())) {
                        if (StringUtils.isNotEmpty(caseInfo.getAgreeContent())) {
                            gzCaseInfoUnfoldDTO.setAgreeType(CaseBaseConstsEnum.AGREE_TYPE_1.getIndex());
                            gzCaseInfoUnfoldDTO.setAgreeTypeName(CaseBaseConstsEnum.AGREE_TYPE_1.getDes());
                        } else {
                            gzCaseInfoUnfoldDTO.setAgreeType(CaseBaseConstsEnum.AGREE_TYPE_2.getIndex());
                            gzCaseInfoUnfoldDTO.setAgreeTypeName(CaseBaseConstsEnum.AGREE_TYPE_2.getDes());
                        }
                    }
                }
                // 映射结案意见
                gzCaseInfoUnfoldDTO.setWindupContent(caseInfo.getMediContent());
                // 映射是否转诉讼案件
                if (ByCaseConsts.CIVIL_STATUS_2 == caseInfo.getCivilStatus()) {
                    gzCaseInfoUnfoldDTO.setCivilStatus(CaseBaseConsts.CIVIL_STATUS_1);
                } else {
                    gzCaseInfoUnfoldDTO.setCivilStatus(CaseBaseConsts.CIVIL_STATUS_0);
                }
                // 映射办结时间
                if (ObjectUtils.isNotEmpty(caseInfo.getFileTime())) {
                    gzCaseInfoUnfoldDTO.setCloseTime(caseInfo.getFileTime());
                } else if (ObjectUtils.isNotEmpty(caseInfo.getMediEndTime())) {
                    gzCaseInfoUnfoldDTO.setCloseTime(caseInfo.getMediEndTime());
                } else {
                    gzCaseInfoUnfoldDTO.setCloseTime(caseInfo.getUpdateTime());
                }
                // 映射是否申请司法确认
                if (ByCaseConsts.JUDIC_APPLY_2 == caseInfo.getCivilStatus()) {
                    gzCaseInfoUnfoldDTO.setJudicApply(CaseBaseConsts.JUDIC_APPLY_1);
                } else {
                    gzCaseInfoUnfoldDTO.setJudicApply(CaseBaseConsts.JUDIC_APPLY_0);
                }
                // 映射是否已归档
                if (ByCaseConsts.FILE_STATUS_2 == caseInfo.getCivilStatus()) {
                    gzCaseInfoUnfoldDTO.setFileStatus(CaseBaseConsts.FILE_STATUS_1);
                } else {
                    gzCaseInfoUnfoldDTO.setFileStatus(CaseBaseConsts.FILE_STATUS_0);
                }
                // 映射是否已回访
                if (ByCaseConsts.VISIT_STATUS_2 == caseInfo.getCivilStatus()) {
                    gzCaseInfoUnfoldDTO.setVisitUpStatus(CaseBaseConsts.VISIT_UP_STATUS_1);
                } else {
                    gzCaseInfoUnfoldDTO.setVisitUpStatus(CaseBaseConsts.VISIT_UP_STATUS_0);
                }
                // 映射当事人是否满意
                if (ByCaseConsts.PARTY_JOY_2 == caseInfo.getCivilStatus()) {
                    gzCaseInfoUnfoldDTO.setPartyJoy(CaseBaseConsts.PARTY_JOY_1);
                } else {
                    gzCaseInfoUnfoldDTO.setPartyJoy(CaseBaseConsts.PARTY_JOY_0);
                }
                gzCaseDTO.setGzCaseInfoUnfoldDTO(gzCaseInfoUnfoldDTO);
                // 封装当事人信息
                QueryWrapper<CasePerson> casePersonQueryWrapper = new QueryWrapper<>();
                casePersonQueryWrapper.eq("case_id", caseInfo.getId());
                List<CasePerson> casePersonList = casePersonService.list(casePersonQueryWrapper);
                if (CollectionUtils.isNotEmpty(casePersonList)) {
                    List<GZCasePersonDTO> gzCasePersonDTOList = new ArrayList<>();
                    for (CasePerson casePerson : casePersonList) {
                        GZCasePersonDTO gzCasePersonDTO = new GZCasePersonDTO();
                        BeanUtils.copyProperties(casePerson, gzCasePersonDTO);
                        // 映射是否有个人极端倾向
                        gzCasePersonDTO.setExtreme(CaseBaseConsts.EXTREME_0);
                        // 映射删除状态
                        if (ByBaseConsts.DELETE_STATUS_99.equals(casePerson.getDeleteStatus())) {
                            gzCasePersonDTO.setDeleteStatus(BaseConsts.DELETE_STATUS_1);
                        } else {
                            gzCasePersonDTO.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
                        }
                        gzCasePersonDTOList.add(gzCasePersonDTO);
                    }
                    gzCaseDTO.setGzCasePersonDTOList(gzCasePersonDTOList);
                }
                // 封装当事人代理人信息
                QueryWrapper<CaseAgent> caseAgentQueryWrapper = new QueryWrapper<>();
                caseAgentQueryWrapper.eq("case_id", caseInfo.getId());
                List<CaseAgent> caseAgentList = caseAgentService.list(caseAgentQueryWrapper);
                if (CollectionUtils.isNotEmpty(caseAgentList)) {
                    List<GZCaseAgentDTO> gzCaseAgentDTOList = new ArrayList<>();
                    for (CaseAgent caseAgent : caseAgentList) {
                        GZCaseAgentDTO gzCaseAgentDTO = new GZCaseAgentDTO();
                        BeanUtils.copyProperties(caseAgent, gzCaseAgentDTO);
                        // 映射是否有个人极端倾向
                        gzCaseAgentDTO.setExtreme(CaseBaseConsts.EXTREME_0);
                        // 映射删除状态
                        if (ByBaseConsts.DELETE_STATUS_99.equals(caseAgent.getDeleteStatus())) {
                            gzCaseAgentDTO.setDeleteStatus(BaseConsts.DELETE_STATUS_1);
                        } else {
                            gzCaseAgentDTO.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
                        }
                        gzCaseAgentDTOList.add(gzCaseAgentDTO);
                    }
                    gzCaseDTO.setGzCaseAgentDTOList(gzCaseAgentDTOList);
                }
                // 封装案件任务信息
                QueryWrapper<CaseTask> caseTaskQueryWrapper = new QueryWrapper<>();
                caseTaskQueryWrapper.eq("case_id", caseInfo.getId()).orderByAsc("create_time");
                List<CaseTask> caseTaskList = caseTaskService.list(caseTaskQueryWrapper);
                gzCaseDTO.setByCaseTaskDTOList(caseTaskList);
                gzCaseDTOList.add(gzCaseDTO);
            }
        }
        return gzCaseDTOList;
    }
}