| | |
| | | |
| | | import cn.huge.base.common.exception.ServiceException; |
| | | 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; |
| | |
| | | caseInfo.setDefendants(defendants.toString()); |
| | | caseInfo.setDagents(dagents.toString()); |
| | | caseInfo.setCaseRef(utilsClient.createCaseRef()); |
| | | caseInfo.setVisitWay(CaseBaseConstsEnum.VISIT_WAY_1.getIndex()); |
| | | caseInfo.setVisitWayName(CaseBaseConstsEnum.VISIT_WAY_1.getDes()); |
| | | caseInfo.setVisitWay(CaseBaseConstsEnum.getVisitWayByCanal(caseInfo.getCanal()).getIndex()); |
| | | caseInfo.setVisitWayName(CaseBaseConstsEnum.getVisitWayByCanal(caseInfo.getCanal()).getDes()); |
| | | //默认小程序可见 |
| | | if(ObjectUtils.isNotEmpty(caseInfo.getCanal())){ |
| | | if(CaseBaseConstsEnum.CASE_CANAL_1.getIndex().equals(caseInfo.getCanal())){ |
| | | caseInfo.setPartyShow(1); |
| | | } |
| | | } |
| | | |
| | | //todo case_title生成、经纬度转换 |
| | | if (0 == registerSaveDTO.getOperateType()) { |
| | | caseInfo.setInputUnitId(loginUser.getUnitId()); |
| | |
| | | caseInfo.setInputUserId(loginUser.getId()); |
| | | caseInfo.setInputUserName(loginUser.getTrueName()); |
| | | caseInfo.setInputWay(CaseBaseConsts.INPUT_WAY_1); |
| | | caseInfo.setPartyShow(1); |
| | | if(ObjectUtils.isEmpty(registerSaveDTO.getPeopleNum())){ |
| | | caseInfo.setPeopleNum(0); |
| | | } |
| | |
| | | // 临时加上一级纠纷类型 |
| | | caseInfo.setCaseTypeFirst("24_01-2"); |
| | | caseInfo.setCaseTypeFirstName("劳动社保"); |
| | | //小程序是否查看 |
| | | caseInfo.setPartyShow(1); |
| | | |
| | | this.saveOrUpdate(caseInfo); |
| | | |
| | | caseInfoUnfoldService.saveOrUpdate(caseInfoUnfold); |
| | |
| | | int peopleNum = 0; |
| | | // 保存申请人 |
| | | List<CasePerson> personList = registerSaveDTO.getPersonList(); |
| | | Map<String,String> personIdMap = new HashMap<>(); |
| | | if (CollectionUtils.isNotEmpty(personList)) { |
| | | for (CasePerson casePerson : personList) { |
| | | casePerson.setId(utilsClient.getNewTimeCaseId()); |
| | | String newTimeCaseId = utilsClient.getNewTimeCaseId(); |
| | | personIdMap.put(casePerson.getAgentCode(), newTimeCaseId); |
| | | casePerson.setId(newTimeCaseId); |
| | | casePerson.setCaseId(registerSaveDTO.getId()); |
| | | casePerson.setPartyUserId(loginUser.getId()); |
| | | casePerson.setCustId(registerSaveDTO.getCustId()); |
| | |
| | | if (CollectionUtils.isNotEmpty(agentList)) { |
| | | for (CaseAgent caseAgent : agentList) { |
| | | caseAgent.setId(utilsClient.getNewTimeCaseId()); |
| | | caseAgent.setPersonId(personIdMap.get(caseAgent.getAgentCode())); |
| | | caseAgent.setPartyUserId(loginUser.getId()); |
| | | caseAgent.setCaseId(registerSaveDTO.getId()); |
| | | caseAgent.setAgentTypeName(CaseBaseConstsEnum.getDes(caseAgent.getAgentType())); |
| | |
| | | QueryWrapper<CasePerson> casePersonQueryWrapper = new QueryWrapper<>(); |
| | | casePersonQueryWrapper.eq("case_id", registerSaveDTO.getId()); |
| | | List<CasePerson> personList = personService.list(casePersonQueryWrapper); |
| | | Map<String,String> personNameMap = new HashMap<>(); |
| | | if(ObjectUtils.isNotEmpty(personList)){ |
| | | for (CasePerson casePerson : personList) { |
| | | personNameMap.put(casePerson.getId(),casePerson.getTrueName()); |
| | | } |
| | | } |
| | | registerSaveDTO.setPersonList(personList); |
| | | |
| | | QueryWrapper<CaseAgent> caseAgentQueryWrapper = new QueryWrapper<>(); |
| | | caseAgentQueryWrapper.eq("case_id", registerSaveDTO.getId()); |
| | | List<CaseAgent> agentList = agentService.list(caseAgentQueryWrapper); |
| | | if(ObjectUtils.isNotEmpty(agentList)){ |
| | | for (CaseAgent caseAgent : agentList) { |
| | | caseAgent.setAgentPersonName(personNameMap.get(caseAgent.getPersonId())); |
| | | } |
| | | } |
| | | registerSaveDTO.setAgentList(agentList); |
| | | |
| | | return registerSaveDTO; |
| | |
| | | } |
| | | List<String> ids = casePersonList.stream().map(CasePerson::getCaseId).collect(Collectors.toList()); |
| | | terms.put("ids", ids); |
| | | terms.put("partyShow",1); |
| | | long total = mapper.countTerms(terms); |
| | | List<CaseInfo> content = mapper.pageTerms(page, terms); |
| | | if (ObjectUtils.isNotEmpty(content)) { |
| | |
| | | } |
| | | if(ObjectUtils.isNotEmpty(casePageDTO.getCaseLevel())){ |
| | | switch (casePageDTO.getCaseLevel()){ |
| | | case 1: |
| | | casePageDTO.setCanalName("一级"); |
| | | case "1": |
| | | casePageDTO.setCaseLevel("一级"); |
| | | break; |
| | | case 2: |
| | | casePageDTO.setCanalName("二级"); |
| | | case "2": |
| | | casePageDTO.setCaseLevel("二级"); |
| | | break; |
| | | case 3: |
| | | casePageDTO.setCanalName("三级"); |
| | | case "3": |
| | | casePageDTO.setCaseLevel("三级"); |
| | | break; |
| | | } |
| | | } |
| | |
| | | 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"))){ |
| | | canal = terms.get("canal"); |
| | | } |
| | | //基础数据统计 |
| | | CaseStatisticsBaseDTO caseStatisticsBaseDTO = mapper.statisticsBase(terms); |
| | | Integer baseTotalNum = dellNull(caseStatisticsBaseDTO.getResolveNum()) + dellNull(caseStatisticsBaseDTO.getUnResolveNum()) + dellNull(caseStatisticsBaseDTO.getResolveingNum()); |
| | |
| | | } |
| | | twoSource.setCanalName(CaseBaseConstsEnum.CASE_CANAL_2.getDes()); |
| | | |
| | | Integer sourceTotalNum = dellNull(oneSource.getCaseNum()) + dellNull(oneSource.getCaseNum()); |
| | | terms.put("canal", CaseBaseConstsEnum.CASE_CANAL_3.getIndex()); |
| | | CaseStatisticsSourceDTO threeSource = mapper.statisticsSource(terms); |
| | | if(ObjectUtils.isEmpty(threeSource)){ |
| | | threeSource = new CaseStatisticsSourceDTO(); |
| | | } |
| | | |
| | | terms.put("canal", CaseBaseConstsEnum.CASE_CANAL_4.getIndex()); |
| | | CaseStatisticsSourceDTO fourSource = mapper.statisticsSource(terms); |
| | | if(ObjectUtils.isEmpty(fourSource)){ |
| | | fourSource = new CaseStatisticsSourceDTO(); |
| | | } |
| | | |
| | | Integer sourceTotalNum = dellNull(oneSource.getCaseNum()) + dellNull(twoSource.getCaseNum()) + dellNull(threeSource.getCaseNum()) + dellNull(fourSource.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"); |
| | | |
| | | threeSource.setCanalName(CaseBaseConstsEnum.CASE_CANAL_3.getDes()); |
| | | threeSource.setCaseRate(BigDecimalUtil.integerDivideDelZero(threeSource.getCaseNum() * 100, sourceTotalNum, 1)); |
| | | threeSource.setResolveRate(BigDecimalUtil.integerDivideDelZero(threeSource.getResolveNum() * 100, threeSource.getCaseNum(), 1)); |
| | | |
| | | fourSource.setCanalName(CaseBaseConstsEnum.CASE_CANAL_4.getDes()); |
| | | fourSource.setCaseRate(BigDecimalUtil.integerDivideDelZero(fourSource.getCaseNum() * 100, sourceTotalNum, 1)); |
| | | fourSource.setResolveRate(BigDecimalUtil.integerDivideDelZero(fourSource.getResolveNum() * 100, fourSource.getCaseNum(), 1)); |
| | | |
| | | caseStatisticsBaseDTO.setOneSource(oneSource); |
| | | caseStatisticsBaseDTO.setTwoSource(twoSource); |
| | | caseStatisticsBaseDTO.setThreeSource(threeSource); |
| | | caseStatisticsBaseDTO.setFourSource(fourSource); |
| | | |
| | | //案件集合 |
| | | if(ObjectUtils.isEmpty(canal)){ |
| | | terms.remove("canal"); |
| | | }else{ |
| | | terms.put("canal", canal); |
| | | } |
| | | Sort sort = Sort.by(Sort.Direction.DESC, "a.create_time"); |
| | | PageRequest pageRequest = PageRequest.of(0, 5, sort); |
| | | Page<CasePageDTO> casePageDTOS = pageQueryAll(pageRequest, terms); |
| | |
| | | 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; |
| | | } |
| | | |
| | | } |