From ab555253a4e8c07342bf25ee8779010745f69f16 Mon Sep 17 00:00:00 2001
From: liyj <1003249715@qq.com>
Date: Wed, 18 Sep 2024 10:44:42 +0800
Subject: [PATCH] 1、联合处置流程优化3

---
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java |  555 ++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 369 insertions(+), 186 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 c399f44..068cffb 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
@@ -34,11 +34,13 @@
 import cn.huge.module.flow.service.FlowInfoService;
 import cn.huge.module.mediate.constant.*;
 import cn.huge.module.sys.constant.SyTimeEnum;
+import cn.huge.module.sys.dto.FileIdTypeInfoBaseDTO;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 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;
@@ -93,6 +95,8 @@
     private CaseReturnService caseReturnService;
     @Autowired
     private CaseEvaluateService caseEvaluateService;
+    @Autowired
+    private CaseAssistInfoService caseAssistInfoService;
 
     @Autowired
     private CaseWindupApplyMapper caseWindupApplyMapper;
@@ -413,12 +417,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 +434,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 +442,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, caseTask.getCaseTaskType());
+                        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 +482,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,41 +496,146 @@
                         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);
                 }
             }
             result.put("handleCaseFlowList", handleCaseFlowList);
 
             // 查询配合组织流程
-            LinkedList<WebCaseFlowDTO> assistCaseFlowList = new LinkedList<>();
-            caseTaskQueryWrapper.clear();
-            caseTaskQueryWrapper.eq("case_id", caseId).eq("case_task_type", CaseTaskConsts.CASE_TASK_TYPE_2).orderByDesc("create_time");
-            List<CaseTask> assistCaseTaskList = mapper.selectList(caseTaskQueryWrapper);
-            for (CaseTask caseTask: assistCaseTaskList){
-                WebCaseFlowDTO webCaseFlowDTO = new WebCaseFlowDTO();
-                webCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName());
-                webCaseFlowDTO.setHandleUnitName(caseTask.getCandeUnitName());
-                webCaseFlowDTO.setHandleTime(caseTask.getHandleTime());
-                webCaseFlowDTO.setHandleNotes(caseTask.getHandleIllust());
-                webCaseFlowDTO.setTaskType(caseTask.getTaskType());
-                webCaseFlowDTO.setStatus(caseTask.getStatus());
-                assistCaseFlowList.add(webCaseFlowDTO);
+            List<CaseAssistInfo> caseAssistInfoList = caseAssistInfoService.listByCaseId(caseId);
+            if (CollectionUtils.isNotEmpty(caseAssistInfoList)){
+                LinkedList<WebAssistCaseFlowDTO> assistCaseFlowList = new LinkedList<>();
+                for (CaseAssistInfo caseAssistInfo: caseAssistInfoList){
+                    WebAssistCaseFlowDTO webAssistCaseFlowDTO = new WebAssistCaseFlowDTO();
+                    webAssistCaseFlowDTO.setUnitId(caseAssistInfo.getAssistUserId());
+                    webAssistCaseFlowDTO.setUnitName(caseAssistInfo.getAssistUserName());
+                    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");
+                    List<CaseTask> assistCaseTaskList = mapper.selectList(caseTaskQueryWrapper);
+                    for (CaseTask caseTask: assistCaseTaskList){
+                        // 已结束节点
+                        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() && 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.setHandleNotes("已签收");
+                                    slWebCaseFlowDTO.setTaskType(caseTask.getTaskType());
+                                    slWebCaseFlowDTO.setStatus(caseTask.getStatus());
+                                    caseFlowList.add(slWebCaseFlowDTO);
+                                }
+                            }
+                            // 普通节点
+                            WebCaseFlowDTO webCaseFlowDTO = new WebCaseFlowDTO();
+                            webCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName());
+                            webCaseFlowDTO.setHandleUserName(caseTask.getHandleUserName());
+                            webCaseFlowDTO.setHandleTime(caseTask.getHandleTime());
+                            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, caseTask.getCaseTaskType());
+                                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());
+                                webCaseFlowDTO.setProcessName(caseTask.getNodeShowName());
+                            }else{
+                                webCaseFlowDTO.setHandleUnitName(caseTask.getHandleUnitName());
+                            }
+                            // 审核节点要判断通过/不通过
+                            if (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_JASH.getIndex())
+                                    || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_ZJ_HTSH.getIndex())
+                                    || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_QJ_SBSH.getIndex())
+                                    || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_QJ_HTSH.getIndex())
+                                    || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_SJ_SBSH.getIndex())
+                                    || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_SJ_HTSH.getIndex())){
+                                // 处理不通过,任务类型就是回退
+                                if (CaseTaskConsts.HANDLE_RESULT_2 == caseTask.getHandleResult()) {
+                                    webCaseFlowDTO.setAuditResult(AuditBaseConstsEnum.AUDIT_RESULT_2.getIndex());
+                                    webCaseFlowDTO.setAuditResultName(AuditBaseConstsEnum.AUDIT_RESULT_2.getDes());
+                                    webCaseFlowDTO.setTaskType(CaseTaskConsts.TASK_TYPE_2);
+                                }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())){
+                                CaseInfoUnfold caseInfoUnfold = caseInfoUnfoldService.getById(caseTask.getCaseId());
+                                if (ObjectUtils.isNotEmpty(caseInfoUnfold)){
+                                    webCaseFlowDTO.setMediResult(caseInfoUnfold.getMediResult());
+                                    webCaseFlowDTO.setMediResultName(caseInfoUnfold.getMediResultName());
+                                    // 临时加上
+                                    webCaseFlowDTO.setHandleNotes("化解结果:"+webCaseFlowDTO.getMediResultName());
+                                }
+                            }
+                            caseFlowList.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.setProcessName(caseTask.getNodeShowName());
+                            }else{
+                                webCaseFlowDTO.setHandleUnitName(caseTask.getCandeUnitName());
+                            }
+                            caseFlowList.add(webCaseFlowDTO);
+                        }
+                    }
+                    webAssistCaseFlowDTO.setCaseFlowList(caseFlowList);
+                    assistCaseFlowList.add(webAssistCaseFlowDTO);
+                }
+                result.put("assistCaseFlowList", assistCaseFlowList);
             }
-            result.put("assistCaseFlowList", assistCaseFlowList);
             return result;
         }catch (Exception e){
             log.error("[CaseTaskService.webGetTabButton]调用失败,异常信息:"+e, e);
@@ -647,6 +750,7 @@
                         if(frontPageListDTO.getCaseId().equals(unfold.getId())){
                             frontPageListDTO.setOrganizingUnit(unfold.getMediateUnitName());
                             frontPageListDTO.setCooperatingUnit(unfold.getAssistUnitName());
+                            frontPageListDTO.setManager(unfold.getMediator());
                         }
                     }
                 }
@@ -745,12 +849,31 @@
             caseAssistApplyQueryWrapper.eq("case_id", caseId);
             List<CaseAssistApply>caseAssistApplyList = caseAssistApplyService.list(caseAssistApplyQueryWrapper);
             List<SortUtilDTO> sortUtilDTOList = new ArrayList<>();
+
+            String ids = new String();
+            ids += caseReturnList.stream().map(CaseReturn:: getId).collect(Collectors.joining(","));
+            ids += caseAppearList.stream().map(CaseAppear:: getId).collect(Collectors.joining(","));
+            ids += caseWindupApplyList.stream().map(CaseWindupApply:: getId).collect(Collectors.joining(","));
+            ids += caseAssistApplyList.stream().map(CaseAssistApply:: getId).collect(Collectors.joining(","));
+            List<FileIdTypeInfoBaseDTO> fileIdTypeInfoBaseDTOList = new ArrayList<>();
+            if(StringUtils.isNotBlank(ids)){
+                Map terms = new HashMap();
+                terms.put("mainId", caseId);
+                terms.put("ownerIds", "," + ids + ",");
+                fileIdTypeInfoBaseDTOList = sysClient.listIdTypeInfoByOwnerIdList(terms);
+            }
+
             for(CaseReturn caseReturn: caseReturnList){
                 SortUtilDTO sortUtilDTO = new SortUtilDTO();
                 sortUtilDTO.setObject(caseReturn);
                 sortUtilDTO.setDate(caseReturn.getCreateTime());
                 sortUtilDTO.setType("回退申请");
                 sortUtilDTOList.add(sortUtilDTO);
+                for(FileIdTypeInfoBaseDTO fileIdTypeInfoBaseDTO: fileIdTypeInfoBaseDTOList){
+                    if(caseReturn.getId().equals(fileIdTypeInfoBaseDTO.getOwnerId())){
+                        sortUtilDTO.setFileList(fileIdTypeInfoBaseDTO.getFileList());
+                    }
+                }
             }
             for(CaseAppear caseAppear: caseAppearList){
                 SortUtilDTO sortUtilDTO = new SortUtilDTO();
@@ -758,6 +881,11 @@
                 sortUtilDTO.setDate(caseAppear.getCreateTime());
                 sortUtilDTO.setType("上报申请");
                 sortUtilDTOList.add(sortUtilDTO);
+                for(FileIdTypeInfoBaseDTO fileIdTypeInfoBaseDTO: fileIdTypeInfoBaseDTOList){
+                    if(caseAppear.getId().equals(fileIdTypeInfoBaseDTO.getOwnerId())){
+                        sortUtilDTO.setFileList(fileIdTypeInfoBaseDTO.getFileList());
+                    }
+                }
             }
             for(CaseWindupApply caseWindupApply: caseWindupApplyList){
                 SortUtilDTO sortUtilDTO = new SortUtilDTO();
@@ -765,6 +893,11 @@
                 sortUtilDTO.setDate(caseWindupApply.getCreateTime());
                 sortUtilDTO.setType("结案申请");
                 sortUtilDTOList.add(sortUtilDTO);
+                for(FileIdTypeInfoBaseDTO fileIdTypeInfoBaseDTO: fileIdTypeInfoBaseDTOList){
+                    if(caseWindupApply.getId().equals(fileIdTypeInfoBaseDTO.getOwnerId())){
+                        sortUtilDTO.setFileList(fileIdTypeInfoBaseDTO.getFileList());
+                    }
+                }
             }
             for(CaseAssistApply caseAssistApply: caseAssistApplyList){
                 SortUtilDTO sortUtilDTO = new SortUtilDTO();
@@ -772,6 +905,11 @@
                 sortUtilDTO.setDate(caseAssistApply.getCreateTime());
                 sortUtilDTO.setType("联合处置申请");
                 sortUtilDTOList.add(sortUtilDTO);
+                for(FileIdTypeInfoBaseDTO fileIdTypeInfoBaseDTO: fileIdTypeInfoBaseDTOList){
+                    if(caseAssistApply.getId().equals(fileIdTypeInfoBaseDTO.getOwnerId())){
+                        sortUtilDTO.setFileList(fileIdTypeInfoBaseDTO.getFileList());
+                    }
+                }
             }
             sortUtilDTOList.sort(Comparator.comparing(SortUtilDTO::getDate));
             List<Object> resultList = new ArrayList<>();
@@ -780,8 +918,8 @@
             }
             return resultList;
         }catch (Exception e) {
-            log.error("[CaseTaskService.pageMyTaskQs]调用失败,异常信息:" + e, e);
-            throw new ServiceException("CaseTaskService.pageMyTaskQs", e);
+            log.error("[CaseTaskService.listMyApplyRecord]调用失败,异常信息:" + e, e);
+            throw new ServiceException("CaseTaskService.listMyApplyRecord", e);
         }
     }
 
@@ -935,36 +1073,36 @@
                         FlowNode secondFlowNode = flowInfoService.completeTask(dfpCaseTask.getFlowableId(), dfpCaseTask.getProcessTaskId(),
                                 FlowableConsts.OPERATION_jb_zszz, "系统派单");
                         // 进入第2个节点-镇街级组织待受理
-                        CaseTask sdlCaseTask = new CaseTask();
-                        sdlCaseTask.setId(utilsClient.getNewTimeId());
-                        sdlCaseTask.setCaseId(caseInfo.getId());
-                        sdlCaseTask.setFlowableId(secondFlowNode.getFlowableId());
-                        sdlCaseTask.setProcessInstanceId(secondFlowNode.getProcessInstanceId());
-                        sdlCaseTask.setProcessTaskId(secondFlowNode.getProcessTaskId());
-                        sdlCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1);
-                        sdlCaseTask.setNodeType(secondFlowNode.getNodeType());
-                        sdlCaseTask.setNodeId(secondFlowNode.getNodeId());
-                        sdlCaseTask.setNodeName(secondFlowNode.getNodeName());
-                        sdlCaseTask.setFlowId(secondFlowNode.getFlowId());
-                        sdlCaseTask.setNodeShowName(secondFlowNode.getNodeShowName());
-                        sdlCaseTask.setCaseTaskType(dfpCaseTask.getCaseTaskType());
+                        CaseTask dslCaseTask = new CaseTask();
+                        dslCaseTask.setId(utilsClient.getNewTimeId());
+                        dslCaseTask.setCaseId(caseInfo.getId());
+                        dslCaseTask.setFlowableId(secondFlowNode.getFlowableId());
+                        dslCaseTask.setProcessInstanceId(secondFlowNode.getProcessInstanceId());
+                        dslCaseTask.setProcessTaskId(secondFlowNode.getProcessTaskId());
+                        dslCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1);
+                        dslCaseTask.setNodeType(secondFlowNode.getNodeType());
+                        dslCaseTask.setNodeId(secondFlowNode.getNodeId());
+                        dslCaseTask.setNodeName(secondFlowNode.getNodeName());
+                        dslCaseTask.setFlowId(secondFlowNode.getFlowId());
+                        dslCaseTask.setNodeShowName(secondFlowNode.getNodeShowName());
+                        dslCaseTask.setCaseTaskType(dfpCaseTask.getCaseTaskType());
                         // 通过调度的,任务候选执行者类型是上一步骤选择
-                        sdlCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1);
-                        sdlCaseTask.setCandeUnitId(caseDispBaseDTO.getTargetId());
-                        sdlCaseTask.setCandeUnitName(caseDispBaseDTO.getTargetName());
+                        dslCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1);
+                        dslCaseTask.setCandeUnitId(caseDispBaseDTO.getTargetId());
+                        dslCaseTask.setCandeUnitName(caseDispBaseDTO.getTargetName());
                         // 系统调度给调解组织,需要签收
-                        sdlCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_1);
-                        sdlCaseTask.setSignExpireTime(sysClient.getExpireTime(caseInfo.getCreateTime(), SyTimeEnum.SY_TIME_2.getIndex()));
+                        dslCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_1);
+                        dslCaseTask.setSignExpireTime(sysClient.getExpireTime(caseInfo.getCreateTime(), SyTimeEnum.SY_TIME_2.getIndex()));
                         // 任务处理时限
                         if (firstFlowNode.getExpire() != 0) {
-                            sdlCaseTask.setExpireTime(DateUtils.addDay(caseInfo.getCreateTime(), firstFlowNode.getExpire()));
+                            dslCaseTask.setExpireTime(DateUtils.addDay(caseInfo.getCreateTime(), firstFlowNode.getExpire()));
                         }
-                        sdlCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
-                        sdlCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
-                        sdlCaseTask.setCustId(caseInfo.getCustId());
-                        sdlCaseTask.setCreateTime(caseInfo.getCreateTime());
-                        sdlCaseTask.setUpdateTime(caseInfo.getUpdateTime());
-                        mapper.insert(sdlCaseTask);
+                        dslCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
+                        dslCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
+                        dslCaseTask.setCustId(caseInfo.getCustId());
+                        dslCaseTask.setCreateTime(caseInfo.getCreateTime());
+                        dslCaseTask.setUpdateTime(caseInfo.getUpdateTime());
+                        mapper.insert(dslCaseTask);
                         // 更新纠纷信息
                         CaseInfo caseInfoPO = new CaseInfo();
                         caseInfoPO.setId(caseInfo.getId());
@@ -989,7 +1127,7 @@
      * @param caseInfo
      * @param loginUser
      */
-    public void webStartFlowZXSL(CaseInfo caseInfo, CtUserDTO loginUser){
+    public String webStartFlowZXSL(CaseInfo caseInfo, CtUserDTO loginUser){
         try{
             // 启动自行受理工作流,进入待受理节点
             FlowNode dslFlowNode = flowInfoService.startFlow(FlowableConsts.FLOWABLE_ID_ZXSL, caseInfo.getId());
@@ -1080,6 +1218,7 @@
             caseInfoUnfoldPO.setMediateUnitId(blfkCaseTask.getCandeUnitId());
             caseInfoUnfoldPO.setMediateUnitName(blfkCaseTask.getCandeUnitName());
             caseInfoUnfoldService.updateCaseInfoUnfold(caseInfoUnfoldPO);
+            return blfkCaseTask.getId();
         }catch (Exception e){
             log.error("[CaseTaskService.webStartFlowZXSL]调用失败,异常信息:"+e, e);
             throw new ServiceException("CaseTaskService.webStartFlowZXSL", e);
@@ -1189,57 +1328,88 @@
                 String assistUnitName = assignTaskDTO.getAssistUnitList().stream().map(AssignAssistUnitDTO::getUitId).
                         collect(Collectors.joining(BaseConsts.COMMA));
                 for (AssignAssistUnitDTO assignAssistUnitDTO: assignTaskDTO.getAssistUnitList()){
-                    // 创建交办配合组织任务
-                    CaseTask jbAssistCaseTask = new CaseTask();
-                    jbAssistCaseTask.setId(utilsClient.getNewTimeId());
-                    jbAssistCaseTask.setCaseId(dfpCaseTask.getCaseId());
-                    jbAssistCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1);
-                    jbAssistCaseTask.setNodeName("交办配合部门");
-                    jbAssistCaseTask.setNodeShowName("交办配合部门");
-                    jbAssistCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_2);
-                    // 配合任务,任务候选执行者类型是上一步骤选择
-                    jbAssistCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1);
-                    jbAssistCaseTask.setCandeUnitId(loginUser.getUnitId());
-                    jbAssistCaseTask.setCandeUnitName(loginUser.getUnitName());
-                    jbAssistCaseTask.setHandleUnitId(loginUser.getUnitId());
-                    jbAssistCaseTask.setHandleUnitName(loginUser.getUnitId());
-                    jbAssistCaseTask.setHandleUserId(loginUser.getId());
-                    jbAssistCaseTask.setHandleUserName(loginUser.getTrueName());
-                    jbAssistCaseTask.setHandleContent(assignTaskDTO.getAssignContent());
-                    jbAssistCaseTask.setHandleIllust("派单至:"+assignTaskDTO.getHandleUnitName());
-                    jbAssistCaseTask.setHandleTime(nowDate);
+                    // 启动联合处置工作流
+                    FlowNode lhczdfpFlowNode = flowInfoService.startFlow(FlowableConsts.FLOWABLE_ID_LHCZ, dfpCaseTask.getCaseId());
+                    // 新建并完成配合部门待分派任务
+                    CaseTask lhczdfpCaseTask = new CaseTask();
+                    lhczdfpCaseTask.setId(utilsClient.getNewTimeId());
+                    lhczdfpCaseTask.setCaseId(dfpCaseTask.getCaseId());
+                    lhczdfpCaseTask.setFlowableId(lhczdfpFlowNode.getFlowableId());
+                    lhczdfpCaseTask.setProcessInstanceId(lhczdfpFlowNode.getProcessInstanceId());
+                    lhczdfpCaseTask.setProcessTaskId(lhczdfpFlowNode.getProcessTaskId());
+                    lhczdfpCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1);
+                    lhczdfpCaseTask.setNodeType(lhczdfpFlowNode.getNodeType());
+                    lhczdfpCaseTask.setNodeId(lhczdfpFlowNode.getNodeId());
+                    lhczdfpCaseTask.setNodeName(lhczdfpFlowNode.getNodeName());
+                    lhczdfpCaseTask.setFlowId(lhczdfpFlowNode.getFlowId());
+                    lhczdfpCaseTask.setNodeShowName(lhczdfpFlowNode.getNodeShowName());
+                    lhczdfpCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_2);
+                    // 通过调度的,任务候选执行者类型是上一步骤选择
+                    lhczdfpCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1);
+                    lhczdfpCaseTask.setCandeUnitId(assignAssistUnitDTO.getUitId());
+                    lhczdfpCaseTask.setCandeUnitName(assignAssistUnitDTO.getUitName());
                     // 不需要签收
-                    jbAssistCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
-                    jbAssistCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2);
-                    jbAssistCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
-                    jbAssistCaseTask.setCustId(dfpCaseTask.getCustId());
-                    jbAssistCaseTask.setCreateTime(nowDate);
-                    jbAssistCaseTask.setUpdateTime(nowDate);
-                    mapper.insert(jbAssistCaseTask);
-                    // 创建配合组织任务
-                    CaseTask assistCaseTask = new CaseTask();
-                    assistCaseTask.setId(utilsClient.getNewTimeId());
-                    assistCaseTask.setCaseId(dfpCaseTask.getCaseId());
-                    assistCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1);
-                    assistCaseTask.setNodeId(FlowNodeEnum.FLOW_NODE_BLFK.getIndex());
-                    assistCaseTask.setNodeName(FlowNodeEnum.FLOW_NODE_BLFK.getDes());
-                    assistCaseTask.setNodeShowName(FlowNodeEnum.FLOW_NODE_BLFK.getIndex());
-                    assistCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_2);
-                    // 配合任务,任务候选执行者类型是上一步骤选择
-                    assistCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1);
-                    assistCaseTask.setCandeUnitId(assignAssistUnitDTO.getUitId());
-                    assistCaseTask.setCandeUnitName(assignAssistUnitDTO.getUitName());
-                    assistCaseTask.setHandleUnitId(assignAssistUnitDTO.getUitId());
-                    assistCaseTask.setHandleUnitName(assignAssistUnitDTO.getUitName());
-                    // 分派的任务,需要签收
-                    assistCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_1);
-                    assistCaseTask.setSignExpireTime(sysClient.getExpireTime(nowDate, SyTimeEnum.SY_TIME_2.getIndex()));
-                    assistCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
-                    assistCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
-                    assistCaseTask.setCustId(dfpCaseTask.getCustId());
-                    assistCaseTask.setCreateTime(nowDate);
-                    assistCaseTask.setUpdateTime(nowDate);
-                    mapper.insert(assistCaseTask);
+                    lhczdfpCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
+                    lhczdfpCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2);
+                    lhczdfpCaseTask.setHandleUnitId(loginUser.getUnitId());
+                    lhczdfpCaseTask.setHandleUnitName(loginUser.getUnitName());
+                    lhczdfpCaseTask.setHandleUserId(loginUser.getId());
+                    lhczdfpCaseTask.setHandleUserName(loginUser.getTrueName());
+                    lhczdfpCaseTask.setHandleContent(assignTaskDTO.getAssignContent());
+                    lhczdfpCaseTask.setHandleIllust("交办至:"+assistUnitName);
+                    // 任务处理时限
+                    if (lhczdfpFlowNode.getExpire() != 0) {
+                        lhczdfpCaseTask.setExpireTime(DateUtils.addDay(nowDate, lhczdfpFlowNode.getExpire()));
+                    }
+                    lhczdfpCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
+                    lhczdfpCaseTask.setCustId(dfpCaseTask.getCustId());
+                    lhczdfpCaseTask.setCreateTime(nowDate);
+                    lhczdfpCaseTask.setUpdateTime(nowDate);
+                    mapper.insert(lhczdfpCaseTask);
+                    // 完成待分派任务
+                    FlowNode lhczdslFlowNode = flowInfoService.completeTask(lhczdfpCaseTask.getFlowableId(), lhczdfpCaseTask.getProcessTaskId(),
+                            FlowableConsts.OPERATION_forward, loginUser.getId());
+                    // 创建配合部门待受理任务
+                    CaseTask lhczdslCaseTask = new CaseTask();
+                    lhczdslCaseTask.setId(utilsClient.getNewTimeId());
+                    lhczdslCaseTask.setCaseId(lhczdfpCaseTask.getCaseId());
+                    lhczdslCaseTask.setFlowableId(lhczdslFlowNode.getFlowableId());
+                    lhczdslCaseTask.setProcessInstanceId(lhczdslFlowNode.getProcessInstanceId());
+                    lhczdslCaseTask.setProcessTaskId(lhczdslFlowNode.getProcessTaskId());
+                    lhczdslCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1);
+                    lhczdslCaseTask.setNodeType(lhczdslFlowNode.getNodeType());
+                    lhczdslCaseTask.setNodeId(lhczdslFlowNode.getNodeId());
+                    lhczdslCaseTask.setNodeName(lhczdslFlowNode.getNodeName());
+                    lhczdslCaseTask.setFlowId(lhczdslFlowNode.getFlowId());
+                    lhczdslCaseTask.setNodeShowName(lhczdslFlowNode.getNodeShowName());
+                    lhczdslCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_2);
+                    // 通过调度的,任务候选执行者类型是上一步骤选择
+                    lhczdslCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1);
+                    lhczdslCaseTask.setCandeUnitId(assignAssistUnitDTO.getUitId());
+                    lhczdslCaseTask.setCandeUnitName(assignAssistUnitDTO.getUitName());
+                    // 需要签收
+                    lhczdslCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_1);
+                    lhczdslCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
+                    // 任务处理时限
+                    if (lhczdslFlowNode.getExpire() != 0) {
+                        lhczdslCaseTask.setExpireTime(DateUtils.addDay(nowDate, lhczdslFlowNode.getExpire()));
+                    }
+                    lhczdslCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
+                    lhczdslCaseTask.setCustId(lhczdfpCaseTask.getCustId());
+                    lhczdslCaseTask.setCreateTime(nowDate);
+                    lhczdslCaseTask.setUpdateTime(nowDate);
+                    mapper.insert(lhczdslCaseTask);
+                    // 新增联合处置信息
+                    CaseAssistInfo caseAssistInfoPO = new CaseAssistInfo();
+                    caseAssistInfoPO.setId(utilsClient.getNewTimeId());
+                    caseAssistInfoPO.setCaseId(dslCaseTask.getCaseId());
+                    caseAssistInfoPO.setAssistUnitId(assignAssistUnitDTO.getUitId());
+                    caseAssistInfoPO.setAssistUnitName(assignAssistUnitDTO.getUitName());
+                    caseAssistInfoPO.setAssistStatus(CaseTaskConsts.ASSIST_STATUS_0);
+                    caseAssistInfoPO.setCustId(dslCaseTask.getCustId());
+                    caseAssistInfoPO.setCreateTime(nowDate);
+                    caseAssistInfoPO.setUpdateTime(nowDate);
+                    caseAssistInfoService.save(caseAssistInfoPO);
                 }
                 // 更新纠纷扩展信息
                 CaseInfoUnfold caseInfoUnfoldPO = new CaseInfoUnfold();
@@ -1264,8 +1434,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 +1472,7 @@
      * @param acceptTaskDTO 受理任务表单
      * @param userId 当前登录用户
      */
-    public void webAccept(AcceptTaskDTO acceptTaskDTO, String userId){
+    public String webAccept(AcceptTaskDTO acceptTaskDTO, String userId){
         try{
             Date nowDate = DateUtils.getNowDate();
             // 获取当前登录用户
@@ -1376,7 +1544,17 @@
                 caseInfoUnfoldPO.setMediateUnitId(blfkCaseTask.getCandeUnitId());
                 caseInfoUnfoldPO.setMediateUnitName(blfkCaseTask.getCandeUnitName());
                 caseInfoUnfoldService.updateCaseInfoUnfold(caseInfoUnfoldPO);
+            }else {
+                // 更新配合部门联合处置信息
+                QueryWrapper<CaseAssistInfo> caseAssistInfoQueryWrapper = new QueryWrapper<>();
+                caseAssistInfoQueryWrapper.eq("case_id", blfkCaseTask.getCaseId())
+                        .eq("assist_unit_id", loginUser.getUnitId()).eq("assist_status", CaseTaskConsts.ASSIST_STATUS_0);
+                CaseAssistInfo caseAssistInfoPO = caseAssistInfoService.getOne(caseAssistInfoQueryWrapper);
+                caseAssistInfoPO.setCaseTaskId(blfkCaseTask.getId());
+                caseAssistInfoPO.setAcceptTime(nowDate);
+                caseAssistInfoService.updateCaseAssistInfo(caseAssistInfoPO);
             }
+            return blfkCaseTask.getId();
         }catch (Exception e){
             log.error("[CaseTaskService.webAccept]调用失败,异常信息:"+e, e);
             throw new ServiceException("CaseTaskService.webAccept", e);
@@ -1848,6 +2026,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());
@@ -1874,7 +2053,7 @@
             htshCaseTask.setNodeName(htshFlowNode.getNodeName());
             htshCaseTask.setFlowId(htshFlowNode.getFlowId());
             htshCaseTask.setNodeShowName(htshFlowNode.getNodeShowName());
-            htshCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1);
+            htshCaseTask.setCaseTaskType(dslCaseTask.getCaseTaskType());
             // 受理任务,任务候选执行者类型是上一步骤选择
             htshCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1);
             CtUnitDTO ctUnitDTO = custClient.getParentZzzxUnit(loginUser.getUnitId());
@@ -1894,6 +2073,7 @@
             mapper.insert(htshCaseTask);
             // 新增回退申请信息
             caseReturn.setCaseTaskId(htshCaseTask.getId());
+            caseReturn.setCaseTaskType(htshCaseTask.getCaseTaskType());
             caseReturnService.save(caseReturn);
         }catch (Exception e){
             log.error("[CaseTaskService.webAppearApply]调用失败,异常信息:"+e, e);
@@ -1935,65 +2115,67 @@
                 htshCaseTaskPO.setHandleTime(nowDate);
                 htshCaseTaskPO.setUpdateTime(nowDate);
                 mapper.updateCaseTask(htshCaseTaskPO);
-                // 完成当前回退审核任务,走待分派任务
+                // 完成当前回退审核任务,承办部门走待分派任务,配合部门结束流程
                 FlowNode dfpFlowNode = flowInfoService.completeTask(htshCaseTask.getFlowableId(), htshCaseTask.getProcessTaskId(),
                         FlowableConsts.OPERATION_htsh_ty, userId);
-                // 新建待分派任务
-                CaseTask dfphCaseTask = new CaseTask();
-                dfphCaseTask.setId(utilsClient.getNewTimeId());
-                dfphCaseTask.setCaseId(htshCaseTask.getCaseId());
-                dfphCaseTask.setFlowableId(dfpFlowNode.getFlowableId());
-                dfphCaseTask.setProcessInstanceId(dfpFlowNode.getProcessInstanceId());
-                dfphCaseTask.setProcessTaskId(dfpFlowNode.getProcessTaskId());
-                dfphCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1);
-                dfphCaseTask.setNodeType(dfpFlowNode.getNodeType());
-                dfphCaseTask.setNodeId(dfpFlowNode.getNodeId());
-                dfphCaseTask.setNodeName(dfpFlowNode.getNodeName());
-                dfphCaseTask.setFlowId(dfpFlowNode.getFlowId());
-                dfphCaseTask.setNodeShowName(dfpFlowNode.getNodeShowName());
-                dfphCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1);
-                // 受理任务,任务候选执行者类型是上一步骤选择
-                dfphCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1);
-                dfphCaseTask.setCandeUnitId(loginUser.getUnitId());
-                dfphCaseTask.setCandeUnitName(loginUser.getUnitName());
-                // 受理后的任务,不需要签收
-                dfphCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
-                // 任务处理时限
-                if (dfpFlowNode.getExpire() != 0) {
-                    dfphCaseTask.setExpireTime(DateUtils.addDay(nowDate, dfpFlowNode.getExpire()));
+                if (CaseTaskConsts.CASE_TASK_TYPE_1 == htshCaseTask.getCaseTaskType()) {
+                    // 新建待分派任务
+                    CaseTask dfphCaseTask = new CaseTask();
+                    dfphCaseTask.setId(utilsClient.getNewTimeId());
+                    dfphCaseTask.setCaseId(htshCaseTask.getCaseId());
+                    dfphCaseTask.setFlowableId(dfpFlowNode.getFlowableId());
+                    dfphCaseTask.setProcessInstanceId(dfpFlowNode.getProcessInstanceId());
+                    dfphCaseTask.setProcessTaskId(dfpFlowNode.getProcessTaskId());
+                    dfphCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1);
+                    dfphCaseTask.setNodeType(dfpFlowNode.getNodeType());
+                    dfphCaseTask.setNodeId(dfpFlowNode.getNodeId());
+                    dfphCaseTask.setNodeName(dfpFlowNode.getNodeName());
+                    dfphCaseTask.setFlowId(dfpFlowNode.getFlowId());
+                    dfphCaseTask.setNodeShowName(dfpFlowNode.getNodeShowName());
+                    dfphCaseTask.setCaseTaskType(htshCaseTask.getCaseTaskType());
+                    // 受理任务,任务候选执行者类型是上一步骤选择
+                    dfphCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1);
+                    dfphCaseTask.setCandeUnitId(loginUser.getUnitId());
+                    dfphCaseTask.setCandeUnitName(loginUser.getUnitName());
+                    // 受理后的任务,不需要签收
+                    dfphCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
+                    // 任务处理时限
+                    if (dfpFlowNode.getExpire() != 0) {
+                        dfphCaseTask.setExpireTime(DateUtils.addDay(nowDate, dfpFlowNode.getExpire()));
+                    }
+                    dfphCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
+                    dfphCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
+                    dfphCaseTask.setCustId(dfphCaseTask.getCustId());
+                    dfphCaseTask.setCreateTime(nowDate);
+                    dfphCaseTask.setUpdateTime(nowDate);
+                    mapper.insert(dfphCaseTask);
+                    // 更新纠纷信息
+                    CaseInfo caseInfoPO = new CaseInfo();
+                    caseInfoPO.setId(htshCaseTask.getCaseId());
+                    caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_1.getIndex());
+                    caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_1.getDes());
+                    caseInfoPO.setProcess(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getIndex());
+                    caseInfoPO.setProcessName(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getDes());
+                    caseInfoPO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getIndex());
+                    caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes());
+                    caseInfoPO.setUpdateTime(nowDate);
+                    caseInfoService.updateCaseInfo(caseInfoPO);
                 }
-                dfphCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
-                dfphCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
-                dfphCaseTask.setCustId(dfphCaseTask.getCustId());
-                dfphCaseTask.setCreateTime(nowDate);
-                dfphCaseTask.setUpdateTime(nowDate);
-                mapper.insert(dfphCaseTask);
-                // 更新纠纷信息
-                CaseInfo caseInfoPO = new CaseInfo();
-                caseInfoPO.setId(htshCaseTask.getCaseId());
-                caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_1.getIndex());
-                caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_1.getDes());
-                caseInfoPO.setProcess(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getIndex());
-                caseInfoPO.setProcessName(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getDes());
-                caseInfoPO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getIndex());
-                caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes());
-                caseInfoPO.setUpdateTime(nowDate);
-                caseInfoService.updateCaseInfo(caseInfoPO);
             }else {
                 // 审核不通过
                 // 完成当前回退审核任务
-                CaseTask sbshCaseTaskPO = new CaseTask();
-                sbshCaseTaskPO.setId(caseReturn.getCaseTaskId());
-                sbshCaseTaskPO.setStatus(CaseTaskConsts.TASK_STATUS_2);
-                sbshCaseTaskPO.setHandleUnitId(loginUser.getUnitId());
-                sbshCaseTaskPO.setHandleUnitName(loginUser.getUnitName());
-                sbshCaseTaskPO.setHandleUserId(loginUser.getId());
-                sbshCaseTaskPO.setHandleUserName(loginUser.getTrueName());
-                sbshCaseTaskPO.setHandleContent(caseReturn.getAuditContent());
-                sbshCaseTaskPO.setHandleResult(CaseTaskConsts.HANDLE_RESULT_2);
-                sbshCaseTaskPO.setHandleTime(nowDate);
-                sbshCaseTaskPO.setUpdateTime(nowDate);
-                mapper.updateCaseTask(sbshCaseTaskPO);
+                CaseTask htshCaseTaskPO = new CaseTask();
+                htshCaseTaskPO.setId(caseReturn.getCaseTaskId());
+                htshCaseTaskPO.setStatus(CaseTaskConsts.TASK_STATUS_2);
+                htshCaseTaskPO.setHandleUnitId(loginUser.getUnitId());
+                htshCaseTaskPO.setHandleUnitName(loginUser.getUnitName());
+                htshCaseTaskPO.setHandleUserId(loginUser.getId());
+                htshCaseTaskPO.setHandleUserName(loginUser.getTrueName());
+                htshCaseTaskPO.setHandleContent(caseReturn.getAuditContent());
+                htshCaseTaskPO.setHandleResult(CaseTaskConsts.HANDLE_RESULT_2);
+                htshCaseTaskPO.setHandleTime(nowDate);
+                htshCaseTaskPO.setUpdateTime(nowDate);
+                mapper.updateCaseTask(htshCaseTaskPO);
                 CaseReturn btyCaseReturn = caseReturnService.getById(caseReturn.getId());
                 CtUnitDTO returnUnit = custClient.getUnitById(btyCaseReturn.getReturnUnitId());
                 String operation = FlowableConsts.OPERATION_htsh_bty;
@@ -2019,7 +2201,7 @@
                 dslCaseTask.setNodeName(dslFlowNode.getNodeName());
                 dslCaseTask.setFlowId(dslFlowNode.getFlowId());
                 dslCaseTask.setNodeShowName(dslFlowNode.getNodeShowName());
-                dslCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1);
+                dslCaseTask.setCaseTaskType(htshCaseTask.getCaseTaskType());
                 // 受理任务,任务候选执行者类型是上一步骤选择
                 dslCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1);
                 dslCaseTask.setCandeUnitId(btyCaseReturn.getReturnUnitId());
@@ -2038,8 +2220,8 @@
                 mapper.insert(dslCaseTask);
             }
         }catch (Exception e){
-            log.error("[CaseTaskService.webAppearAudit]调用失败,异常信息:"+e, e);
-            throw new ServiceException("CaseTaskService.webAppearAudit", e);
+            log.error("[CaseTaskService.webReturnAudit]调用失败,异常信息:"+e, e);
+            throw new ServiceException("CaseTaskService.webReturnAudit", e);
         }
     }
 
@@ -2069,6 +2251,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