forked from gzzfw/backEnd/gz-dyh

zhouxiantao
2024-10-09 3a73d5c21bb96dde33c97a6d4d50f4632678b329
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.bo.CaseAgentBO;
import cn.huge.module.cases.domain.bo.CasePersonBO;
import cn.huge.module.cases.domain.bo.CasePersonCountBO;
import cn.huge.module.cases.domain.dto.*;
import cn.huge.module.cases.domain.dto.CaseAreaDTO;
@@ -981,6 +982,7 @@
        return new PageImpl<CasePageDTO>(content, page, total);
    }
    public CaseStatisticsBaseDTO statistics(Map<String, Object> terms) throws IOException {
        Object canal = null;
        if(ObjectUtils.isNotEmpty(terms.get("canal"))){
@@ -1191,4 +1193,101 @@
        List<QueAreaDTO> queAreaDTOS = sysClient.listByParentId(parentId);
        return queAreaDTOS;
    }
    public Page<CasePageDTO> pagePerson(PageRequest page, Map<String, Object> terms,String certiNo) {
        QueryWrapper<CasePerson> personWrapper = new QueryWrapper<>();
        personWrapper.select("case_id,certi_no");
        personWrapper.eq("certi_no", certiNo);
        List<CasePerson> personList = personService.list(personWrapper);
        List<String> ids = new ArrayList<>();
        if(ObjectUtils.isNotEmpty(personList)){
            for (CasePerson casePerson : personList) {
                ids.add(casePerson.getCaseId());
            }
        }
        QueryWrapper<CaseAgent> agentWrapper = new QueryWrapper<>();
        agentWrapper.select("case_id,certi_no");
        agentWrapper.in("certi_no", certiNo);
        List<CaseAgent> agentList = agentService.list(agentWrapper);
        if(ObjectUtils.isNotEmpty(agentList)){
            for (CaseAgent caseAgent : agentList) {
                ids.add(caseAgent.getCaseId());
            }
        }
        if(ObjectUtils.isEmpty(ids)){
            return new PageImpl<CasePageDTO>(new ArrayList<>(), page, 0);
        }
        terms.put("ids", ids);
        long total = mapper.countTermsAll(terms);
        List<CasePageDTO> content = mapper.pageTermsAll(page, terms);
        if (ObjectUtils.isNotEmpty(content)) {
            for (CasePageDTO casePageDTO : content) {
                if(ObjectUtils.isNotEmpty(casePageDTO.getQueRoadName())){
                    casePageDTO.setAreaName(casePageDTO.getQueRoadName());
                }else if(ObjectUtils.isNotEmpty(casePageDTO.getAreaName())){
                    casePageDTO.setAreaName(casePageDTO.getAreaName());
                }else if(ObjectUtils.isNotEmpty(casePageDTO.getQueCityName())){
                    casePageDTO.setAreaName(casePageDTO.getQueCityName());
                }
                if(ObjectUtils.isNotEmpty(casePageDTO.getCaseLevel())){
                    switch (casePageDTO.getCaseLevel()){
                        case "1":
                            casePageDTO.setCaseLevel("一级");
                            break;
                        case "2":
                            casePageDTO.setCaseLevel("二级");
                            break;
                        case "3":
                            casePageDTO.setCaseLevel("三级");
                            break;
                    }
                }
            }
        }
        return new PageImpl<CasePageDTO>(content, page, total);
    }
    public CasePersonCountBO countPerson(String certiNo){
        CasePersonCountBO casePersonCountBO = new CasePersonCountBO();
        Integer plaintiffNum = 0;//申请方当事人数
        Integer defendantNum = 0;//被申请方当事人数
        Integer pagentsNum = 0;//申请方代理人数
        Integer dagentsNum = 0;//被申请方代理人数
        List<CasePerson> personList = personService.listByCertiNo(certiNo);
        List<String> ids = new ArrayList<>();
        if(ObjectUtils.isNotEmpty(personList)){
            for (CasePerson casePerson : personList) {
                ids.add(casePerson.getCaseId());
                if(CaseBaseConstsEnum.PERSON_TYPE_1.getIndex().equals(casePerson.getPerType())){
                    plaintiffNum++;
                }
                if(CaseBaseConstsEnum.PERSON_TYPE_2.getIndex().equals(casePerson.getPerType())){
                    defendantNum++;
                }
            }
        }
        List<CaseAgent> agentList = agentService.listByCertiNo(certiNo);
        if(ObjectUtils.isNotEmpty(agentList)){
            for (CaseAgent caseAgent : agentList) {
                ids.add(caseAgent.getCaseId());
                if(CaseBaseConstsEnum.PERSON_TYPE_3.getIndex().equals(caseAgent.getPerType())){
                    pagentsNum++;
                }
                if(CaseBaseConstsEnum.PERSON_TYPE_4.getIndex().equals(caseAgent.getPerType())){
                    dagentsNum++;
                }
            }
        }
        casePersonCountBO.setDagentsNum(dagentsNum);
        casePersonCountBO.setPagentsNum(pagentsNum);
        casePersonCountBO.setDefendantNum(defendantNum);
        casePersonCountBO.setPlaintiffNum(plaintiffNum);
        casePersonCountBO.setTotalNum(ids.size());
        casePersonCountBO.setZzzxNum(ids.size());
        return casePersonCountBO;
    }
}