From b60ecf40efa981d8731497d6eeb9b8b3005ecf1d Mon Sep 17 00:00:00 2001
From: liyj <15602261488@163.com>
Date: Thu, 10 Oct 2024 10:22:19 +0800
Subject: [PATCH] 1、自行排查的来访方式显示错误修复

---
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java |  165 +++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 153 insertions(+), 12 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 26a556a..c063d22 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
@@ -2,6 +2,9 @@
 
 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;
@@ -241,8 +244,15 @@
             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());
@@ -597,6 +607,7 @@
         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);
         }
@@ -678,6 +689,9 @@
         // 临时加上一级纠纷类型
         caseInfo.setCaseTypeFirst("24_01-2");
         caseInfo.setCaseTypeFirstName("劳动社保");
+        //小程序是否查看
+        caseInfo.setPartyShow(1);
+
         this.saveOrUpdate(caseInfo);
 
         caseInfoUnfoldService.saveOrUpdate(caseInfoUnfold);
@@ -732,9 +746,12 @@
         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());
@@ -765,6 +782,7 @@
             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()));
@@ -800,11 +818,22 @@
         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;
@@ -841,6 +870,7 @@
         }
         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)) {
@@ -952,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"))){
@@ -1046,20 +1077,33 @@
         }
         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);
@@ -1149,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;
+    }
+
 }

--
Gitblit v1.8.0