From c16a867c943e25a25d64f02fb95e755ef1a7c9f9 Mon Sep 17 00:00:00 2001
From: liyj <15602261488@163.com>
Date: Mon, 30 Sep 2024 18:03:25 +0800
Subject: [PATCH] 1、审核过程中申请记录的申请时间和申请人无法查看 2、审核联合处置申请在申请部门已办结后会报错,且无法继续审核 3、案件不予受理后在已办中无记录 4、上报的案件上级部门回退后下级部门接收不到 5、广州市综治中心纠纷依然可以选择上报,且点击上报后报错

---
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java |   62 ++++++++++++++++++++++++++-----
 1 files changed, 52 insertions(+), 10 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..0584249 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,8 @@
 
 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.dto.*;
 
 import cn.huge.module.cases.domain.dto.CaseAreaDTO;
@@ -243,6 +245,13 @@
             caseInfo.setCaseRef(utilsClient.createCaseRef());
             caseInfo.setVisitWay(CaseBaseConstsEnum.VISIT_WAY_1.getIndex());
             caseInfo.setVisitWayName(CaseBaseConstsEnum.VISIT_WAY_1.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 +606,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 +688,9 @@
         // 临时加上一级纠纷类型
         caseInfo.setCaseTypeFirst("24_01-2");
         caseInfo.setCaseTypeFirstName("劳动社保");
+        //小程序是否查看
+        caseInfo.setPartyShow(1);
+
         this.saveOrUpdate(caseInfo);
 
         caseInfoUnfoldService.saveOrUpdate(caseInfoUnfold);
@@ -732,9 +745,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 +781,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 +817,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 +869,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)) {
@@ -1046,20 +1075,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);

--
Gitblit v1.8.0