From b044aab2c47bd3e11bbc8a81796025570c887825 Mon Sep 17 00:00:00 2001
From: liyj <15602261488@163.com>
Date: Fri, 20 Sep 2024 12:45:20 +0800
Subject: [PATCH] 联合处置申请bug修复

---
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java |  119 +++++++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 95 insertions(+), 24 deletions(-)

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 b02338b..96aab01 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
@@ -346,15 +346,24 @@
                     tabList.add(htsh);
                 }
                 if (FlowNodeEnum.FLOW_NODE_BLFK.getIndex().equals(caseTask.getNodeId())) {
-                    tabList.add(sxxq);
-                    tabList.add(sxbl);
-                    tabList.add(lcdb);
-//                    tabList.add(sqjl);
+                    if (CaseTaskConsts.CASE_TASK_TYPE_1 == caseTask.getCaseTaskType()) {
+                        tabList.add(sxxq);
+                        tabList.add(sxbl);
+                        tabList.add(lcdb);
+//                        tabList.add(sqjl);
 
-                    buttonList.add(tjbljl);
-                    buttonList.add(lhczsq);
-                    buttonList.add(jasq);
-                    buttonList.add(db);
+                        buttonList.add(tjbljl);
+                        buttonList.add(lhczsq);
+                        buttonList.add(jasq);
+                        buttonList.add(db);
+                    }else {
+                        tabList.add(sxxq);
+                        tabList.add(sxbl);
+                        tabList.add(lcdb);
+//                        tabList.add(sqjl);
+
+                        buttonList.add(tjbljl);
+                    }
                 }
                 if (FlowNodeEnum.FLOW_NODE_JASH.getIndex().equals(caseTask.getNodeId())) {
                     tabList.add(sxxq);
@@ -371,6 +380,19 @@
                     tabList.add(daxx);
                     tabList.add(lcdb);
 //                    tabList.add(sqjl);
+                }
+                if (FlowNodeEnum.FLOW_NODE_DSL.getIndex().equals(caseTask.getNodeId())) {
+                    tabList.add(dslxq);
+//                    tabList.add(sqjl);
+
+                    buttonList.add(sl);
+                    buttonList.add(ht);
+                }
+                if (FlowNodeEnum.FLOW_NODE_HTSH.getIndex().equals(caseTask.getNodeId())) {
+                    sxxq.setName("详情");
+                    tabList.add(sxxq);
+//                    tabList.add(sqjl);
+                    tabList.add(htsh);
                 }
             }else {
                 tabList.add(sxxq);
@@ -427,9 +449,9 @@
                         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());
-                            slWebCaseFlowDTO.setHandleUserName(caseTask.getHandleUserName());
-                            slWebCaseFlowDTO.setHandleTime(caseTask.getHandleTime());
+                            slWebCaseFlowDTO.setHandleUnitName(caseTask.getCandeUnitName());
+                            slWebCaseFlowDTO.setHandleUserName(caseTask.getSignUserName());
+                            slWebCaseFlowDTO.setHandleTime(caseTask.getSignTime());
                             slWebCaseFlowDTO.setHandleNotes("已签收");
                             slWebCaseFlowDTO.setTaskType(caseTask.getTaskType());
                             slWebCaseFlowDTO.setStatus(caseTask.getStatus());
@@ -505,6 +527,24 @@
                     handleCaseFlowList.add(webCaseFlowDTO);
                 }else {
                     // 进行中的节点
+                    // 待受理并已签收的正常任务节点,需要加多一个签收节点
+                    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() && CaseTaskConsts.TASK_TYPE_1 == caseTask.getTaskType()){
+                            WebCaseFlowDTO slWebCaseFlowDTO = new WebCaseFlowDTO();
+                            slWebCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName());
+                            slWebCaseFlowDTO.setHandleUnitName(caseTask.getCandeUnitName());
+                            slWebCaseFlowDTO.setHandleUserName(caseTask.getSignUserName());
+                            slWebCaseFlowDTO.setHandleTime(caseTask.getSignTime());
+                            slWebCaseFlowDTO.setHandleNotes("已签收");
+                            slWebCaseFlowDTO.setTaskType(caseTask.getTaskType());
+                            slWebCaseFlowDTO.setStatus(CaseTaskConsts.TASK_STATUS_2);
+                            handleCaseFlowList.add(slWebCaseFlowDTO);
+                        }
+                    }
+                    // 正常节点
                     WebCaseFlowDTO webCaseFlowDTO = new WebCaseFlowDTO();
                     webCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName());
                     webCaseFlowDTO.setStatus(caseTask.getStatus());
@@ -512,7 +552,7 @@
                     if (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex())){
                         webCaseFlowDTO.setProcessName(caseTask.getNodeShowName());
                     }else{
-                        webCaseFlowDTO.setHandleUnitName(caseTask.getCandeUnitName());
+                        webCaseFlowDTO.setProcessName(caseTask.getCandeUnitName());
                     }
                     handleCaseFlowList.add(webCaseFlowDTO);
                 }
@@ -525,12 +565,16 @@
                 LinkedList<WebAssistCaseFlowDTO> assistCaseFlowList = new LinkedList<>();
                 for (CaseAssistInfo caseAssistInfo: caseAssistInfoList){
                     WebAssistCaseFlowDTO webAssistCaseFlowDTO = new WebAssistCaseFlowDTO();
-                    webAssistCaseFlowDTO.setUnitId(caseAssistInfo.getAssistUserId());
-                    webAssistCaseFlowDTO.setUnitName(caseAssistInfo.getAssistUserName());
+                    webAssistCaseFlowDTO.setUnitId(caseAssistInfo.getAssistUnitId());
+                    if (CaseTaskConsts.ASSIST_STATUS_0 == caseAssistInfo.getAssistStatus()) {
+                        webAssistCaseFlowDTO.setUnitName(caseAssistInfo.getAssistUnitName());
+                    }else {
+                        webAssistCaseFlowDTO.setUnitName(caseAssistInfo.getAssistUnitName()+"(已回退)");
+                    }
                     LinkedList<WebCaseFlowDTO> caseFlowList = new LinkedList<>();
                     caseTaskQueryWrapper.clear();
-                    caseTaskQueryWrapper.eq("case_id", caseId).eq("cande_unit_id", caseAssistInfo.getAssistUserId())
-                            .eq("case_task_type", CaseTaskConsts.CASE_TASK_TYPE_2).orderByDesc("create_time");
+                    caseTaskQueryWrapper.eq("case_id", caseId).eq("cande_unit_id", caseAssistInfo.getAssistUnitId())
+                            .eq("case_task_type", CaseTaskConsts.CASE_TASK_TYPE_2).orderByAsc("id");
                     List<CaseTask> assistCaseTaskList = mapper.selectList(caseTaskQueryWrapper);
                     for (CaseTask caseTask: assistCaseTaskList){
                         // 已结束节点
@@ -543,9 +587,9 @@
                                 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());
-                                    slWebCaseFlowDTO.setHandleUserName(caseTask.getHandleUserName());
-                                    slWebCaseFlowDTO.setHandleTime(caseTask.getHandleTime());
+                                    slWebCaseFlowDTO.setHandleUnitName(caseTask.getCandeUnitName());
+                                    slWebCaseFlowDTO.setHandleUserName(caseTask.getSignUserName());
+                                    slWebCaseFlowDTO.setHandleTime(caseTask.getSignTime());
                                     slWebCaseFlowDTO.setHandleNotes("已签收");
                                     slWebCaseFlowDTO.setTaskType(caseTask.getTaskType());
                                     slWebCaseFlowDTO.setStatus(caseTask.getStatus());
@@ -621,6 +665,24 @@
                             caseFlowList.add(webCaseFlowDTO);
                         }else {
                             // 进行中的节点
+                            // 待受理并已签收的正常任务节点,需要加多一个签收节点
+                            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() && CaseTaskConsts.TASK_TYPE_1 == caseTask.getTaskType()){
+                                    WebCaseFlowDTO slWebCaseFlowDTO = new WebCaseFlowDTO();
+                                    slWebCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName());
+                                    slWebCaseFlowDTO.setHandleUnitName(caseTask.getCandeUnitName());
+                                    slWebCaseFlowDTO.setHandleUserName(caseTask.getSignUserName());
+                                    slWebCaseFlowDTO.setHandleTime(caseTask.getSignTime());
+                                    slWebCaseFlowDTO.setHandleNotes("已签收");
+                                    slWebCaseFlowDTO.setTaskType(caseTask.getTaskType());
+                                    slWebCaseFlowDTO.setStatus(CaseTaskConsts.TASK_STATUS_2);
+                                    caseFlowList.add(slWebCaseFlowDTO);
+                                }
+                            }
+                            // 正常节点
                             WebCaseFlowDTO webCaseFlowDTO = new WebCaseFlowDTO();
                             webCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName());
                             webCaseFlowDTO.setStatus(caseTask.getStatus());
@@ -628,7 +690,7 @@
                             if (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex())){
                                 webCaseFlowDTO.setProcessName(caseTask.getNodeShowName());
                             }else{
-                                webCaseFlowDTO.setHandleUnitName(caseTask.getCandeUnitName());
+                                webCaseFlowDTO.setProcessName(caseTask.getCandeUnitName());
                             }
                             caseFlowList.add(webCaseFlowDTO);
                         }
@@ -1516,7 +1578,7 @@
             mapper.updateCaseTask(dslCaseTaskPO);
             // 完成当前待受理工作流任务
             FlowNode newFlowNode = flowInfoService.completeTask(dslCaseTask.getFlowableId(), dslCaseTask.getProcessTaskId(),
-                    FlowableConsts.OPERATION_sl, userId);
+                    FlowableConsts.OPERATION_forward, userId);
             // 新建办理反馈任务
             CaseTask blfkCaseTask = new CaseTask();
             blfkCaseTask.setId(utilsClient.getNewTimeId());
@@ -2078,9 +2140,9 @@
             htshCaseTask.setCaseTaskType(dslCaseTask.getCaseTaskType());
             // 受理任务,任务候选执行者类型是上一步骤选择
             htshCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1);
-            CtUnitDTO ctUnitDTO = custClient.getParentZzzxUnit(loginUser.getUnitId());
-            htshCaseTask.setCandeUnitId(ctUnitDTO.getId());
-            htshCaseTask.setCandeUnitName(ctUnitDTO.getUnitName());
+//            CtUnitDTO ctUnitDTO = custClient.getParentZzzxUnit(loginUser.getUnitId());
+            htshCaseTask.setCandeUnitId(loginUser.getUnitId());
+            htshCaseTask.setCandeUnitName(loginUser.getUnitName());
             // 受理后的任务,不需要签收
             htshCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
             // 任务处理时限
@@ -2182,6 +2244,15 @@
                     caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes());
                     caseInfoPO.setUpdateTime(nowDate);
                     caseInfoService.updateCaseInfo(caseInfoPO);
+                }else {
+                    // 更新联合处置信息
+                    QueryWrapper<CaseAssistInfo> caseAssistInfoQueryWrapper = new QueryWrapper<>();
+                    caseAssistInfoQueryWrapper.eq("case_id", htshCaseTask.getCaseId()).eq("assist_unit_id", htshCaseTask.getCandeUnitId()).eq("assist_status", CaseTaskConsts.ASSIST_STATUS_0);
+                    CaseAssistInfo caseAssistInfo = caseAssistInfoService.getOne(caseAssistInfoQueryWrapper);
+                    if (ObjectUtils.isNotEmpty(caseAssistInfo)){
+                        caseAssistInfo.setAssistStatus(CaseTaskConsts.ASSIST_STATUS_1);
+                        caseAssistInfoService.updateCaseAssistInfo(caseAssistInfo);
+                    }
                 }
             }else {
                 // 审核不通过

--
Gitblit v1.8.0