forked from gzzfw/backEnd/gz-dyh

liyj
2024-10-26 32b044aa78edf5d3e54c380a7ded17a266af6948
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java
@@ -38,6 +38,7 @@
import cn.huge.module.sys.dto.FileIdTypeInfoBaseDTO;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.google.common.collect.Maps;
import org.apache.commons.collections.CollectionUtils;
@@ -282,6 +283,12 @@
            TabButtonInfoDTO bysl = new TabButtonInfoDTO();
            bysl.setId("bysl");
            bysl.setName("不予受理");
            TabButtonInfoDTO xqcl = new TabButtonInfoDTO();
            xqcl.setId("xqcl");
            xqcl.setName("处理");
            TabButtonInfoDTO tabcl = new TabButtonInfoDTO();
            tabcl.setId("tabcl");
            tabcl.setName("处理");
            // 根据流程显示tab
            List<TabButtonInfoDTO> tabList = new LinkedList<>();
@@ -314,19 +321,19 @@
                            || FlowNodeEnum.FLOW_NODE_SJ_DFP.getIndex().equals(caseTask.getNodeId())) {
                        tabList.add(dslxq);
                        tabList.add(sqjl);
                        // 额外单独给详情跳转查看
                        daxx.setName("详情");
                        tabList.add(daxx);
                        sl.setName("自行受理");
                        buttonList.add(sl);
                        buttonList.add(jb);
                        buttonList.add(bysl);
                        buttonList.add(xqcl);
                        CtUnitDTO ctUnitDTO = custClient.getUnitByUserId(userId);
                        if (UserBaseConsts.UNIT_GRADE_1 != ctUnitDTO.getUnitGrade()) {
                            buttonList.add(sb);
                        }
                        // 额外单独给详情跳转查看
                        daxx.setName("详情");
                        tabList.add(daxx);
                    }
                    // 待受理节点
                    if (FlowNodeEnum.FLOW_NODE_ZJ_DSL.getIndex().equals(caseTask.getNodeId())
@@ -334,14 +341,13 @@
                            || FlowNodeEnum.FLOW_NODE_SJ_DSL.getIndex().equals(caseTask.getNodeId())) {
                        tabList.add(dslxq);
                        tabList.add(sqjl);
                        buttonList.add(sl);
                        buttonList.add(ht);
//                        buttonList.add(bysl);
                        // 额外单独给详情跳转查看
                        daxx.setName("详情");
                        tabList.add(daxx);
                        buttonList.add(sl);
                        buttonList.add(ht);
                        buttonList.add(xqcl);
                    }
                    // 回退审核节点
                    if (FlowNodeEnum.FLOW_NODE_ZJ_HTSH.getIndex().equals(caseTask.getNodeId())
@@ -352,10 +358,11 @@
                        tabList.add(sxxq);
                        tabList.add(sqjl);
                        tabList.add(htsh);
                        // 额外单独给详情跳转查看
                        daxx.setName("详情");
                        tabList.add(daxx);
                        buttonList.add(tabcl);
                    }
                    // 上报审核节点
                    if (FlowNodeEnum.FLOW_NODE_QJ_SBSH.getIndex().equals(caseTask.getNodeId())
@@ -364,10 +371,11 @@
                        tabList.add(sxxq);
                        tabList.add(sqjl);
                        tabList.add(sbsh);
                        // 额外单独给详情跳转查看
                        daxx.setName("详情");
                        tabList.add(daxx);
                        buttonList.add(tabcl);
                    }
                    // 办理反馈节点
                    if (FlowNodeEnum.FLOW_NODE_BLFK.getIndex().equals(caseTask.getNodeId())) {
@@ -376,37 +384,39 @@
                            tabList.add(sxbl);
                            tabList.add(lcdb);
                            tabList.add(sqjl);
                            // 额外单独给详情跳转查看
                            daxx.setName("详情");
                            tabList.add(daxx);
                            buttonList.add(tjbljl);
                            buttonList.add(lhczsq);
                            buttonList.add(jasq);
//                            buttonList.add(db);
                            // 额外单独给详情跳转查看
                            daxx.setName("详情");
                            tabList.add(daxx);
                            buttonList.add(tabcl);
                        } else {
                            tabList.add(sxxq);
                            tabList.add(sxbl);
                            tabList.add(lcdb);
                            tabList.add(sqjl);
                            buttonList.add(tjbljl);
                            // 额外单独给详情跳转查看
                            daxx.setName("详情");
                            tabList.add(daxx);
                            buttonList.add(tjbljl);
                            buttonList.add(tabcl);
                        }
                    }
                    // 结案审核节点
                    if (FlowNodeEnum.FLOW_NODE_JASH.getIndex().equals(caseTask.getNodeId())) {
                    if (FlowNodeEnum.FLOW_NODE_JASH.getIndex().equals(caseTask.getNodeId())
                            || FlowNodeEnum.FLOW_NODE_JASH_YJ.getIndex().equals(caseTask.getNodeId())
                            ||FlowNodeEnum.FLOW_NODE_JASH_EJ.getIndex().equals(caseTask.getNodeId())) {
                        tabList.add(sxxq);
                        tabList.add(sqjl);
                        tabList.add(jash);
                        // 额外单独给详情跳转查看
                        daxx.setName("详情");
                        tabList.add(daxx);
                        buttonList.add(tabcl);
                    }
                    // 当事人评价节点
                    if (FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex().equals(caseTask.getNodeId())) {
@@ -425,13 +435,13 @@
                    if (FlowNodeEnum.FLOW_NODE_DSL.getIndex().equals(caseTask.getNodeId())) {
                        tabList.add(dslxq);
                        tabList.add(sqjl);
                        buttonList.add(sl);
                        buttonList.add(ht);
                        // 额外单独给详情跳转查看
                        daxx.setName("详情");
                        tabList.add(daxx);
                        buttonList.add(sl);
                        buttonList.add(ht);
                        buttonList.add(tabcl);
                    }
                }
            }else {
@@ -556,6 +566,8 @@
                    }
                    // 审核节点要判断通过/不通过
                    if (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_JASH.getIndex())
                            || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_JASH_YJ.getIndex())
                            || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_JASH_EJ.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())
@@ -630,160 +642,168 @@
            List<CaseAssistInfo> caseAssistInfoList = caseAssistInfoService.listByCaseId(caseId);
            if (CollectionUtils.isNotEmpty(caseAssistInfoList)){
                LinkedList<WebAssistCaseFlowDTO> assistCaseFlowList = new LinkedList<>();
                int i = 0;
                for (CaseAssistInfo caseAssistInfo: caseAssistInfoList){
                    WebAssistCaseFlowDTO webAssistCaseFlowDTO = new WebAssistCaseFlowDTO();
                    webAssistCaseFlowDTO.setUnitId(caseAssistInfo.getAssistUnitId());
                    if (CaseTaskConsts.ASSIST_STATUS_0 == caseAssistInfo.getAssistStatus()) {
                        WebAssistCaseFlowDTO webAssistCaseFlowDTO = new WebAssistCaseFlowDTO();
                        webAssistCaseFlowDTO.setUnitId(caseAssistInfo.getAssistUnitId());
                        webAssistCaseFlowDTO.setUnitName(caseAssistInfo.getAssistUnitName());
                    }else {
                        webAssistCaseFlowDTO.setUnitName(caseAssistInfo.getAssistUnitName()+"(已回退)");
                    }
                    LinkedList<WebCaseFlowDTO> caseFlowList = new LinkedList<>();
                    // 首节点
                    WebCaseFlowDTO lfdjAssist = new WebCaseFlowDTO();
                    if (CaseBaseConstsEnum.CASE_CANAL_1.getIndex().equals(caseInfo.getCanal())){
                        lfdjAssist.setNodeShowName("来访登记");
                        lfdjAssist.setHandleUserName(caseInfo.getInputUserName());
                        lfdjAssist.setHandleUnitName(caseInfo.getInputUnitName());
                    }else {
                        lfdjAssist.setNodeShowName(caseInfo.getCanalName());
                        lfdjAssist.setHandleUnitName(caseInfo.getInputUserName()+"(当事人)");
                    }
                    lfdjAssist.setTaskType(SHOW_TASK_TYPE_1);
                    lfdjAssist.setStatus(CaseTaskConsts.TASK_STATUS_2);
                    lfdjAssist.setHandleTime(new Date());
                    caseFlowList.add(lfdjAssist);
                    // 查询其他节点
                    caseTaskQueryWrapper.clear();
                    caseTaskQueryWrapper.eq("case_id", caseId).eq("process_instance_id", caseAssistInfo.getProcessInstanceId())
                            .eq("case_task_type", CaseTaskConsts.CASE_TASK_TYPE_2).orderByAsc("id");
                    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.HANDLE_RESULT_0 == caseTask.getHandleResult()){
                                    WebCaseFlowDTO slWebCaseFlowDTO = new WebCaseFlowDTO();
                                    slWebCaseFlowDTO.setTaskType(SHOW_TASK_TYPE_1);
                                    slWebCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName());
                                    slWebCaseFlowDTO.setHandleUnitName(caseTask.getCandeUnitName());
                                    slWebCaseFlowDTO.setHandleUserName(caseTask.getSignUserName());
                                    slWebCaseFlowDTO.setHandleTime(caseTask.getSignTime());
                                    slWebCaseFlowDTO.setHandleNotes("已签收");
                                    slWebCaseFlowDTO.setStatus(caseTask.getStatus());
                                    caseFlowList.add(slWebCaseFlowDTO);
                                }
                            }
                            // 普通节点
                            WebCaseFlowDTO webCaseFlowDTO = new WebCaseFlowDTO();
                            webCaseFlowDTO.setTaskType(SHOW_TASK_TYPE_1);
                            webCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName());
                            webCaseFlowDTO.setHandleTime(caseTask.getHandleTime());
                            webCaseFlowDTO.setStatus(caseTask.getStatus());
                            webCaseFlowDTO.setHandleNotes(caseTask.getHandleIllust());
                            // 当事人评价/结案归档节点,特殊处理
                            if (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex())){
                                webCaseFlowDTO.setHandleUserName(null);
                                webCaseFlowDTO.setHandleUnitName(caseTask.getHandleUserName());
                            }else if (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_JAGD.getIndex())){
                                webCaseFlowDTO.setHandleUserName(null);
                                webCaseFlowDTO.setHandleUnitName("系统自动");
                            }else{
                                webCaseFlowDTO.setHandleUserName(caseTask.getHandleUserName());
                                webCaseFlowDTO.setHandleUnitName(caseTask.getHandleUnitName());
                            }
                            // 回退申请节点
                            if(CaseTaskConsts.HANDLE_RESULT_4 == caseTask.getHandleResult()){
                                webCaseFlowDTO.setTaskType(SHOW_TASK_TYPE_2);
                                webCaseFlowDTO.setNodeShowName("事件回退");
                                CaseReturn caseReturn = caseReturnService.getNewByCaseId(caseId, caseTask.getCaseTaskType());
                                if (StringUtils.isNotEmpty(caseReturn.getReturnContent())) {
                                    webCaseFlowDTO.setHandleNotes("回退理由:" + caseReturn.getReturnContent());
                                }else {
                                    webCaseFlowDTO.setHandleNotes("回退理由:-");
                                }
                            }
                            // 上报申请节点
                            if(CaseTaskConsts.HANDLE_RESULT_5 == caseTask.getHandleResult()){
                                webCaseFlowDTO.setTaskType(SHOW_TASK_TYPE_3);
                                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_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.setTaskType(SHOW_TASK_TYPE_2);
                                    webCaseFlowDTO.setAuditResult(AuditBaseConstsEnum.AUDIT_RESULT_2.getIndex());
                                    webCaseFlowDTO.setAuditResultName(AuditBaseConstsEnum.AUDIT_RESULT_2.getDes());
                                }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);
                        LinkedList<WebCaseFlowDTO> caseFlowList = new LinkedList<>();
                        // 首节点
                        WebCaseFlowDTO lfdjAssist = new WebCaseFlowDTO();
                        if (CaseBaseConstsEnum.CASE_CANAL_1.getIndex().equals(caseInfo.getCanal())){
                            lfdjAssist.setNodeShowName("来访登记");
                            lfdjAssist.setHandleUserName(caseInfo.getInputUserName());
                            lfdjAssist.setHandleUnitName(caseInfo.getInputUnitName());
                        }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.HANDLE_RESULT_0 == caseTask.getHandleResult()){
                                    WebCaseFlowDTO slWebCaseFlowDTO = new WebCaseFlowDTO();
                                    slWebCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName());
                                    slWebCaseFlowDTO.setHandleUnitName(caseTask.getCandeUnitName());
                                    slWebCaseFlowDTO.setHandleUserName(caseTask.getSignUserName());
                                    slWebCaseFlowDTO.setHandleTime(caseTask.getSignTime());
                                    slWebCaseFlowDTO.setHandleNotes("已签收");
                                    slWebCaseFlowDTO.setTaskType(SHOW_TASK_TYPE_1);
                                    slWebCaseFlowDTO.setStatus(CaseTaskConsts.TASK_STATUS_2);
                                    caseFlowList.add(slWebCaseFlowDTO);
                                }
                            }
                            // 正常节点
                            WebCaseFlowDTO webCaseFlowDTO = new WebCaseFlowDTO();
                            webCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName());
                            webCaseFlowDTO.setStatus(caseTask.getStatus());
                            // 当事人评价节点,特殊处理
                            if (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex())
                                    || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_JAGD.getIndex())){
                                webCaseFlowDTO.setProcessName(caseTask.getNodeShowName());
                            }else{
                                webCaseFlowDTO.setProcessName(caseTask.getCandeUnitName());
                            }
                            caseFlowList.add(webCaseFlowDTO);
                            lfdjAssist.setNodeShowName(caseInfo.getCanalName());
                            lfdjAssist.setHandleUnitName(caseInfo.getInputUserName()+"(当事人)");
                        }
                        lfdjAssist.setTaskType(SHOW_TASK_TYPE_1);
                        lfdjAssist.setStatus(CaseTaskConsts.TASK_STATUS_2);
                        lfdjAssist.setHandleTime(new Date());
                        caseFlowList.add(lfdjAssist);
                        // 查询其他节点
                        caseTaskQueryWrapper.clear();
                        caseTaskQueryWrapper.eq("case_id", caseId).eq("process_instance_id", caseAssistInfo.getProcessInstanceId())
                                .eq("case_task_type", CaseTaskConsts.CASE_TASK_TYPE_2).orderByAsc("id");
                        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.HANDLE_RESULT_0 == caseTask.getHandleResult()){
                                        WebCaseFlowDTO slWebCaseFlowDTO = new WebCaseFlowDTO();
                                        slWebCaseFlowDTO.setTaskType(SHOW_TASK_TYPE_1);
                                        slWebCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName());
                                        slWebCaseFlowDTO.setHandleUnitName(caseTask.getCandeUnitName());
                                        slWebCaseFlowDTO.setHandleUserName(caseTask.getSignUserName());
                                        slWebCaseFlowDTO.setHandleTime(caseTask.getSignTime());
                                        slWebCaseFlowDTO.setHandleNotes("已签收");
                                        slWebCaseFlowDTO.setStatus(caseTask.getStatus());
                                        caseFlowList.add(slWebCaseFlowDTO);
                                    }
                                }
                                // 普通节点
                                WebCaseFlowDTO webCaseFlowDTO = new WebCaseFlowDTO();
                                webCaseFlowDTO.setTaskType(SHOW_TASK_TYPE_1);
                                webCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName());
                                webCaseFlowDTO.setHandleTime(caseTask.getHandleTime());
                                webCaseFlowDTO.setStatus(caseTask.getStatus());
                                webCaseFlowDTO.setHandleNotes(caseTask.getHandleIllust());
                                // 当事人评价/结案归档节点,特殊处理
                                if (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex())){
                                    webCaseFlowDTO.setHandleUserName(null);
                                    webCaseFlowDTO.setHandleUnitName(caseTask.getHandleUserName());
                                }else if (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_JAGD.getIndex())){
                                    webCaseFlowDTO.setHandleUserName(null);
                                    webCaseFlowDTO.setHandleUnitName("系统自动");
                                }else{
                                    webCaseFlowDTO.setHandleUserName(caseTask.getHandleUserName());
                                    webCaseFlowDTO.setHandleUnitName(caseTask.getHandleUnitName());
                                }
                                // 回退申请节点
                                if(CaseTaskConsts.HANDLE_RESULT_4 == caseTask.getHandleResult()){
                                    webCaseFlowDTO.setTaskType(SHOW_TASK_TYPE_2);
                                    webCaseFlowDTO.setNodeShowName("事件回退");
                                    CaseReturn caseReturn = caseReturnService.getNewByCaseId(caseId, caseTask.getCaseTaskType());
                                    if (StringUtils.isNotEmpty(caseReturn.getReturnContent())) {
                                        webCaseFlowDTO.setHandleNotes("回退理由:" + caseReturn.getReturnContent());
                                    }else {
                                        webCaseFlowDTO.setHandleNotes("回退理由:-");
                                    }
                                }
                                // 上报申请节点
                                if(CaseTaskConsts.HANDLE_RESULT_5 == caseTask.getHandleResult()){
                                    webCaseFlowDTO.setTaskType(SHOW_TASK_TYPE_3);
                                    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_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.setTaskType(SHOW_TASK_TYPE_2);
                                        webCaseFlowDTO.setAuditResult(AuditBaseConstsEnum.AUDIT_RESULT_2.getIndex());
                                        webCaseFlowDTO.setAuditResultName(AuditBaseConstsEnum.AUDIT_RESULT_2.getDes());
                                    }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 {
                                // 进行中的节点
                                // 待受理并已签收的正常任务节点,需要加多一个签收节点
                                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.HANDLE_RESULT_0 == caseTask.getHandleResult()){
                                        WebCaseFlowDTO slWebCaseFlowDTO = new WebCaseFlowDTO();
                                        slWebCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName());
                                        slWebCaseFlowDTO.setHandleUnitName(caseTask.getCandeUnitName());
                                        slWebCaseFlowDTO.setHandleUserName(caseTask.getSignUserName());
                                        slWebCaseFlowDTO.setHandleTime(caseTask.getSignTime());
                                        slWebCaseFlowDTO.setHandleNotes("已签收");
                                        slWebCaseFlowDTO.setTaskType(SHOW_TASK_TYPE_1);
                                        slWebCaseFlowDTO.setStatus(CaseTaskConsts.TASK_STATUS_2);
                                        caseFlowList.add(slWebCaseFlowDTO);
                                    }
                                }
                                // 正常节点
                                WebCaseFlowDTO webCaseFlowDTO = new WebCaseFlowDTO();
                                webCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName());
                                webCaseFlowDTO.setStatus(caseTask.getStatus());
                                // 当事人评价节点,特殊处理
                                if (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex())
                                        || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_JAGD.getIndex())){
                                    webCaseFlowDTO.setProcessName(caseTask.getNodeShowName());
                                }else{
                                    webCaseFlowDTO.setProcessName(caseTask.getCandeUnitName());
                                }
                                caseFlowList.add(webCaseFlowDTO);
                            }
                        }
                        webAssistCaseFlowDTO.setCaseFlowList(caseFlowList);
                        assistCaseFlowList.add(webAssistCaseFlowDTO);
                    }else {
                        WebAssistCaseFlowDTO webAssistCaseFlowDTO = new WebAssistCaseFlowDTO();
                        // i防止提供给前端的unitId重复
                        i++;
                        webAssistCaseFlowDTO.setUnitId(caseAssistInfo.getAssistUnitId()+"_"+i);
                        webAssistCaseFlowDTO.setUnitName(caseAssistInfo.getAssistUnitName()+"(已回退)");
                        LinkedList<WebCaseFlowDTO> caseFlowList = new LinkedList<>();
                        webAssistCaseFlowDTO.setCaseFlowList(caseFlowList);
                        assistCaseFlowList.add(webAssistCaseFlowDTO);
                    }
                    webAssistCaseFlowDTO.setCaseFlowList(caseFlowList);
                    assistCaseFlowList.add(webAssistCaseFlowDTO);
                }
                result.put("assistCaseFlowList", assistCaseFlowList);
            }
@@ -1146,7 +1166,7 @@
                if (UserBaseConsts.UNIT_GRADE_3 == caseDispBaseDTO.getTargetUnitGrade()) {
                    // 启动来访登记工作流
                    FlowNode firstFlowNode = flowInfoService.startFlow(FlowableConsts.getJbFlow(caseInfo.getCanal()), caseInfo.getId());
                    if (UserBaseConsts.UNIT_TYPE_1 == caseDispBaseDTO.getTargetUnitType()){
                    if (UserBaseConsts.UNIT_TYPE_101 == caseDispBaseDTO.getTargetUnitType()){
                        // 调度给镇街综治中心,进入第1个任务节点-镇街综治中心待分派
                        CaseTask dfpCaseTask = new CaseTask();
                        dfpCaseTask.setId(utilsClient.getNewTimeId());
@@ -2392,12 +2412,12 @@
                CaseInfo caseInfo = caseInfoService.getById(jashCaseTask.getCaseId());
                if (CaseBaseConsts.CASE_LEVEL_1 == caseInfo.getCaseLevel()){
                    // 一级事件,本级+上级+上上级审核
                    if (FlowNodeEnum.FLOW_NODE_JASH.equals(jashCaseTask.getNodeId())){
                    if (FlowNodeEnum.FLOW_NODE_JASH.getIndex().equals(jashCaseTask.getNodeId())){
                        // 完成本级综治中心审核,进入上级综治中心审核节点
                        nextFlowNode = flowInfoService.completeTask(jashCaseTask.getFlowableId(), jashCaseTask.getProcessTaskId(),
                                FlowableConsts.OPERATION_jash_ty_sq, userId);
                    }else if (FlowNodeEnum.FLOW_NODE_JASH_YJ.equals(jashCaseTask.getNodeId())){
                    }else if (FlowNodeEnum.FLOW_NODE_JASH_YJ.getIndex().equals(jashCaseTask.getNodeId())){
                        // 完成上级综治中心审核,进入上上级综治中心审核节点
                        nextFlowNode = flowInfoService.completeTask(jashCaseTask.getFlowableId(), jashCaseTask.getProcessTaskId(),
                                FlowableConsts.OPERATION_jash_ty_sq, userId);
@@ -2410,7 +2430,7 @@
                }else if (CaseBaseConsts.CASE_LEVEL_2 == caseInfo.getCaseLevel()){
                    // 二级事件,本级+上级审核
                    String operation = FlowableConsts.OPERATION_jash_ty;
                    if (FlowNodeEnum.FLOW_NODE_JASH.equals(jashCaseTask.getNodeId())){
                    if (FlowNodeEnum.FLOW_NODE_JASH.getIndex().equals(jashCaseTask.getNodeId())){
                        // 完成本级综治中心审核,进入上级综治中心审核节点
                        nextFlowNode = flowInfoService.completeTask(jashCaseTask.getFlowableId(), jashCaseTask.getProcessTaskId(),
                                FlowableConsts.OPERATION_jash_ty_sq, userId);
@@ -2884,11 +2904,19 @@
                        mapper.updateCaseTask(assistCaseTask);
                        // 结束配合组织当前工作流任务
                        flowInfoService.endFlow(assistCaseTask.getProcessInstanceId());
                        // 更新联合处置信息
                        UpdateWrapper<CaseAssistInfo> caseAssistInfoUpdateWrapper = new UpdateWrapper<>();
                        caseAssistInfoUpdateWrapper.eq("case_id", htshCaseTask.getCaseId())
                                .eq("process_instance_id", assistCaseTask.getProcessInstanceId())
                                .eq("assist_status", CaseTaskConsts.ASSIST_STATUS_0).set("assist_status", CaseTaskConsts.ASSIST_STATUS_2);
                        caseAssistInfoService.update(caseAssistInfoUpdateWrapper);
                    }
                }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);
                    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);
@@ -3219,4 +3247,17 @@
        }
    }
    /**
     * 根据编号物理删除
     * @param caseId
     */
    public void deleteByCaseId(String caseId){
        try{
            mapper.deleteByCaseId(caseId);
        }catch (Exception e){
            log.error("[CaseTaskService.deleteByCaseId]调用失败,异常信息:"+e, e);
            throw new ServiceException("CaseTaskService.deleteByCaseId", e);
        }
    }
}