From cdd90bc849a859d20f4e4b5e4a09f12906fc4be5 Mon Sep 17 00:00:00 2001
From: liyj <1003249715@qq.com>
Date: Sun, 15 Sep 2024 00:56:20 +0800
Subject: [PATCH] 1、流程进度展示bug修复3

---
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java              |   72 +++++++++++++++++------------------
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseTaskWebController.java |    3 -
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseAppearService.java            |   22 +++++++++++
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseReturnService.java            |   22 +++++++++++
 4 files changed, 80 insertions(+), 39 deletions(-)

diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseTaskWebController.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseTaskWebController.java
index 0e9e97c..ff9c671 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseTaskWebController.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseTaskWebController.java
@@ -121,8 +121,7 @@
     @PostMapping("/accept")
     public Object accept(@RequestBody AcceptTaskDTO acceptTaskDTO, @CurrentUser String userId) {
         try {
-            service.webAccept(acceptTaskDTO, userId);
-            return ReturnSucUtils.getRepInfo();
+            return ReturnSucUtils.getRepInfo(service.webAccept(acceptTaskDTO, userId));
         } catch (Exception e) {
             return ReturnFailUtils.getRepInfo();
         }
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseAppearService.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseAppearService.java
index 4282a61..ff685ea 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseAppearService.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseAppearService.java
@@ -10,6 +10,7 @@
 import cn.huge.module.cases.domain.po.CaseAppear;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.apache.commons.collections.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import lombok.extern.slf4j.Slf4j;
@@ -150,6 +151,27 @@
     }
 
     /**
+     * 根据纠纷编号查询最新的一条
+     * @param caseId 纠纷编号
+     * @return
+     */
+    public CaseAppear getNewByCaseId(String caseId){
+        try{
+            QueryWrapper<CaseAppear> caseAppearQueryWrapper = new QueryWrapper<>();
+            caseAppearQueryWrapper.eq("case_id", caseId).orderByDesc("appear_time");
+            List<CaseAppear> caseAppearList = mapper.selectList(caseAppearQueryWrapper);
+            if (CollectionUtils.isNotEmpty(caseAppearList)) {
+                return caseAppearList.get(0);
+            }else {
+                return null;
+            }
+        }catch (Exception e){
+            log.error("[CaseReturnService.getByCaseId]调用失败,异常信息:"+e, e);
+            throw new ServiceException("CaseReturnService.getByCaseId", e);
+        }
+    }
+
+    /**
      * 首页查询
      * @param auditUnitId 审核组织编号
      * @return long
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseReturnService.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseReturnService.java
index 6aee2aa..13d6d23 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseReturnService.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseReturnService.java
@@ -10,6 +10,7 @@
 import cn.huge.module.cases.domain.po.CaseReturn;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.apache.commons.collections.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import lombok.extern.slf4j.Slf4j;
@@ -150,6 +151,27 @@
     }
 
     /**
+     * 根据纠纷编号查询最新的一条
+     * @param caseId 纠纷编号
+     * @return
+     */
+    public CaseReturn getNewByCaseId(String caseId){
+        try{
+            QueryWrapper<CaseReturn> caseReturnQueryWrapper = new QueryWrapper<>();
+            caseReturnQueryWrapper.eq("case_id", caseId).orderByDesc("return_time");
+            List<CaseReturn> caseReturnList = mapper.selectList(caseReturnQueryWrapper);
+            if (CollectionUtils.isNotEmpty(caseReturnList)) {
+                return caseReturnList.get(0);
+            }else {
+                return null;
+            }
+        }catch (Exception e){
+            log.error("[CaseReturnService.getByCaseId]调用失败,异常信息:"+e, e);
+            throw new ServiceException("CaseReturnService.getByCaseId", e);
+        }
+    }
+
+    /**
      * 首页查询
      * @param auditUnitId 审核组织编号
      * @return long
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java
index c399f44..123daa6 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java
@@ -39,6 +39,7 @@
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.google.common.collect.Maps;
 import org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -413,12 +414,12 @@
             for (CaseTask caseTask: handleCaseTaskList){
                 // 已结束节点
                 if (CaseTaskConsts.TASK_STATUS_2 == caseTask.getStatus()){
-                    // 待受理并已签收的节点,需要加多一个签收节点
+                    // 待受理并已签收的正常任务节点,需要加多一个签收节点
                     if(caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_ZJ_DSL.getIndex())
                             || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_QJ_DSL.getIndex())
                             || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_SJ_DSL.getIndex())
                             || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_DSL.getIndex())){
-                        if (CaseTaskConsts.SIGN_STATUS_2 == caseTask.getSignStatus()){
+                        if (CaseTaskConsts.SIGN_STATUS_2 == caseTask.getSignStatus() && CaseTaskConsts.TASK_TYPE_1 == caseTask.getTaskType()){
                             WebCaseFlowDTO slWebCaseFlowDTO = new WebCaseFlowDTO();
                             slWebCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName());
                             slWebCaseFlowDTO.setHandleUnitName(caseTask.getHandleUnitName());
@@ -430,35 +431,6 @@
                             handleCaseFlowList.add(slWebCaseFlowDTO);
                         }
                     }
-                    // 回退审核节点,需要加多一个回退申请节点
-                    if(caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_ZJ_HTSH.getIndex())
-                            || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_QJ_HTSH.getIndex())
-                            || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_SJ_HTSH.getIndex())){
-                        WebCaseFlowDTO sqWebCaseFlowDTO = new WebCaseFlowDTO();
-                        sqWebCaseFlowDTO.setNodeShowName("事件回退");
-                        sqWebCaseFlowDTO.setHandleUnitName(caseTask.getHandleUnitName());
-                        sqWebCaseFlowDTO.setHandleUserName(caseTask.getHandleUserName());
-                        sqWebCaseFlowDTO.setHandleTime(caseTask.getHandleTime());
-                        sqWebCaseFlowDTO.setTaskType(CaseTaskConsts.TASK_TYPE_2);
-                        sqWebCaseFlowDTO.setStatus(caseTask.getStatus());
-                        CaseReturn caseReturn = caseReturnService.getByCaseTaskId(caseTask.getId());
-                        sqWebCaseFlowDTO.setHandleNotes("回退理由:"+caseReturn.getReturnContent());
-                        handleCaseFlowList.add(sqWebCaseFlowDTO);
-                    }
-                    // 上报审核节点,需要加多一个上报申请节点
-                    if(caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_QJ_SBSH.getIndex())
-                            || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_SJ_SBSH.getIndex())){
-                        WebCaseFlowDTO sqWebCaseFlowDTO = new WebCaseFlowDTO();
-                        sqWebCaseFlowDTO.setNodeShowName("事件上报");
-                        sqWebCaseFlowDTO.setHandleUnitName(caseTask.getHandleUnitName());
-                        sqWebCaseFlowDTO.setHandleUserName(caseTask.getHandleUserName());
-                        sqWebCaseFlowDTO.setHandleTime(caseTask.getHandleTime());
-                        sqWebCaseFlowDTO.setTaskType(CaseTaskConsts.TASK_TYPE_3);
-                        sqWebCaseFlowDTO.setStatus(caseTask.getStatus());
-                        CaseAppear caseAppear = caseAppearService.getByCaseTaskId(caseTask.getId());
-                        sqWebCaseFlowDTO.setHandleNotes("上报意见:"+caseAppear.getAppearContent());
-                        handleCaseFlowList.add(sqWebCaseFlowDTO);
-                    }
                     // 普通节点
                     WebCaseFlowDTO webCaseFlowDTO = new WebCaseFlowDTO();
                     webCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName());
@@ -467,6 +439,27 @@
                     webCaseFlowDTO.setStatus(caseTask.getStatus());
                     webCaseFlowDTO.setHandleNotes(caseTask.getHandleIllust());
                     webCaseFlowDTO.setTaskType(caseTask.getTaskType());
+                    // 回退申请节点
+                    if(CaseTaskConsts.TASK_TYPE_2 == caseTask.getTaskType()){
+                        webCaseFlowDTO.setNodeShowName("事件回退");
+                        CaseReturn caseReturn = caseReturnService.getNewByCaseId(caseId);
+                        if (StringUtils.isNotEmpty(caseReturn.getReturnContent())) {
+                            webCaseFlowDTO.setHandleNotes("回退理由:" + caseReturn.getReturnContent());
+                        }else {
+                            webCaseFlowDTO.setHandleNotes("回退理由:-");
+
+                        }
+                    }
+                    // 上报申请节点
+                    if(CaseTaskConsts.TASK_TYPE_3 == caseTask.getTaskType()){
+                        webCaseFlowDTO.setNodeShowName("事件上报");
+                        CaseAppear caseAppear = caseAppearService.getNewByCaseId(caseId);
+                        if (StringUtils.isNotEmpty(caseAppear.getAppearContent())) {
+                            webCaseFlowDTO.setHandleNotes("上报理由:" + caseAppear.getAppearContent());
+                        }else {
+                            webCaseFlowDTO.setHandleNotes("上报意见:-" );
+                        }
+                    }
                     // 当事人评价节点,特殊处理
                     if (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex())){
                         webCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName());
@@ -486,11 +479,13 @@
                             webCaseFlowDTO.setAuditResult(AuditBaseConstsEnum.AUDIT_RESULT_2.getIndex());
                             webCaseFlowDTO.setAuditResultName(AuditBaseConstsEnum.AUDIT_RESULT_2.getDes());
                             webCaseFlowDTO.setTaskType(CaseTaskConsts.TASK_TYPE_2);
-                        }else if (CaseTaskConsts.HANDLE_RESULT_1 == caseTask.getHandleResult()) {
+                        }else{
                             // 处理通过
                             webCaseFlowDTO.setAuditResult(AuditBaseConstsEnum.AUDIT_RESULT_1.getIndex());
                             webCaseFlowDTO.setAuditResultName(AuditBaseConstsEnum.AUDIT_RESULT_1.getDes());
                         }
+                        // 临时加上
+                        webCaseFlowDTO.setHandleNotes("审核结果:"+webCaseFlowDTO.getAuditResultName());
                     }
                     // 结案申请,需要展示化解结果
                     if (FlowNodeEnum.FLOW_NODE_JASQ.getIndex().equals(caseTask.getNodeId())){
@@ -498,20 +493,22 @@
                         if (ObjectUtils.isNotEmpty(caseInfoUnfold)){
                             webCaseFlowDTO.setMediResult(caseInfoUnfold.getMediResult());
                             webCaseFlowDTO.setMediResultName(caseInfoUnfold.getMediResultName());
+                            // 临时加上
+                            webCaseFlowDTO.setHandleNotes("化解结果:"+webCaseFlowDTO.getMediResultName());
                         }
                     }
                     handleCaseFlowList.add(webCaseFlowDTO);
                 }else {
                     // 进行中的节点
                     WebCaseFlowDTO webCaseFlowDTO = new WebCaseFlowDTO();
+                    webCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName());
+                    webCaseFlowDTO.setStatus(caseTask.getStatus());
                     // 当事人评价节点,特殊处理
                     if (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex())){
-                        webCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName());
                         webCaseFlowDTO.setProcessName(caseTask.getNodeShowName());
                     }else{
                         webCaseFlowDTO.setHandleUnitName(caseTask.getCandeUnitName());
                     }
-                    webCaseFlowDTO.setStatus(caseTask.getStatus());
                     handleCaseFlowList.add(webCaseFlowDTO);
                 }
             }
@@ -1264,8 +1261,6 @@
             Date nowDate = DateUtils.getNowDate();
             // 获取当前登录用户
             CtUserDTO loginUser = custClient.clientGetUserAll(userId);
-            List<String> taskIdList = new ArrayList<>();
-            List<String> caseIdList = new ArrayList<>();
             for (SignTaskDTO signTaskDTO: signTaskDTOList){
                 CaseTask qsCaseTask = mapper.selectById(signTaskDTO.getCaseTaskId());
                 // 更新纠纷任务信息
@@ -1304,7 +1299,7 @@
      * @param acceptTaskDTO 受理任务表单
      * @param userId 当前登录用户
      */
-    public void webAccept(AcceptTaskDTO acceptTaskDTO, String userId){
+    public String webAccept(AcceptTaskDTO acceptTaskDTO, String userId){
         try{
             Date nowDate = DateUtils.getNowDate();
             // 获取当前登录用户
@@ -1377,6 +1372,7 @@
                 caseInfoUnfoldPO.setMediateUnitName(blfkCaseTask.getCandeUnitName());
                 caseInfoUnfoldService.updateCaseInfoUnfold(caseInfoUnfoldPO);
             }
+            return blfkCaseTask.getId();
         }catch (Exception e){
             log.error("[CaseTaskService.webAccept]调用失败,异常信息:"+e, e);
             throw new ServiceException("CaseTaskService.webAccept", e);
@@ -1848,6 +1844,7 @@
             // 完成当前待受理任务
             CaseTask dslCaseTaskPO = new CaseTask();
             dslCaseTaskPO.setId(caseReturn.getCaseTaskId());
+            dslCaseTaskPO.setTaskType(CaseTaskConsts.TASK_TYPE_2);
             dslCaseTaskPO.setStatus(CaseTaskConsts.TASK_STATUS_2);
             dslCaseTaskPO.setHandleUnitId(loginUser.getUnitId());
             dslCaseTaskPO.setHandleUnitName(loginUser.getUnitName());
@@ -2069,6 +2066,7 @@
             // 完成当前待受理任务
             CaseTask dslCaseTaskPO = new CaseTask();
             dslCaseTaskPO.setId(caseAppear.getCaseTaskId());
+            dslCaseTaskPO.setTaskType(CaseTaskConsts.TASK_TYPE_3);
             dslCaseTaskPO.setStatus(CaseTaskConsts.TASK_STATUS_2);
             dslCaseTaskPO.setHandleUnitId(loginUser.getUnitId());
             dslCaseTaskPO.setHandleUnitName(loginUser.getUnitName());

--
Gitblit v1.8.0