forked from gzzfw/backEnd/gz-dyh

wangwh
2024-10-10 f971164723fd36021e9f68f93b7ac62ac4ad76be
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java
@@ -22,6 +22,8 @@
import cn.huge.module.cust.constant.UserBaseConsts;
import cn.huge.module.cust.dto.CtUnitDTO;
import cn.huge.module.cust.dto.CtUserDTO;
import cn.huge.module.draft.domain.po.CasedraftInfo;
import cn.huge.module.draft.service.CasedraftInfoService;
import cn.huge.module.mediate.constant.AuditBaseConsts;
import cn.huge.module.mediate.constant.AuditBaseConstsEnum;
import cn.huge.module.disp.constant.DispBaseConstsEnum;
@@ -99,6 +101,8 @@
    private CaseAssistInfoService caseAssistInfoService;
    @Autowired
    private CaseDismissService caseDismissService;
    @Autowired
    private CasedraftInfoService casedraftInfoService;
    /**
    * 更新对象
@@ -211,8 +215,6 @@
     */
    public TabButtonDTO webGetTabButton(String caseTaskId, String userId){
        try{
            // 查询当前任务信息
            CaseTask caseTask = mapper.selectById(caseTaskId);
            // 定义tab
            TabButtonInfoDTO sxxq = new TabButtonInfoDTO();
            sxxq.setId("sxxq");
@@ -279,98 +281,94 @@
            TabButtonInfoDTO bysl = new TabButtonInfoDTO();
            bysl.setId("bysl");
            bysl.setName("不予受理");
            // 根据流程显示tab
            List<TabButtonInfoDTO> tabList = new LinkedList<>();
            // 根据流程显示button
            List<TabButtonInfoDTO> buttonList = new LinkedList<>();
            // 查询当前任务信息
            CaseTask caseTask = mapper.selectById(caseTaskId);
            if (ObjectUtils.isNotEmpty(caseTask)) {
                // 不予受理
                if (ObjectUtils.isNotEmpty(caseTask.getHandleResult()) && CaseTaskConsts.HANDLE_RESULT_3 == caseTask.getHandleResult()){
                    tabList.add(byslxq);
                    tabList.add(sqjl);
                // 已完成任务
                if (CaseTaskConsts.TASK_STATUS_2 == caseTask.getStatus()){
                    // 不予受理
                    if (ObjectUtils.isNotEmpty(caseTask.getHandleResult()) && CaseTaskConsts.HANDLE_RESULT_3 == caseTask.getHandleResult()){
                        tabList.add(byslxq);
                        tabList.add(sqjl);
                    }else {
                        // 正常任务
                        CaseInfo caseInfo = caseInfoService.getById(caseTask.getCaseId());
                        if (CaseProcessBaseConstsEnum.CASE_PROCESS_6.getIndex() != caseInfo.getProcess()){
                            daxx.setName("详情");
                        }
                        tabList.add(daxx);
                        tabList.add(lcdb);
                        tabList.add(sqjl);
                    }
                }else {
                    // 正常流程
                    if (FlowNodeEnum.FLOW_NODE_ZJ_DFP.getIndex().equals(caseTask.getNodeId())) {
                    // 进行中任务
                    // 待分派节点
                    if (FlowNodeEnum.FLOW_NODE_ZJ_DFP.getIndex().equals(caseTask.getNodeId())
                            || FlowNodeEnum.FLOW_NODE_QJ_DFP.getIndex().equals(caseTask.getNodeId())
                            || FlowNodeEnum.FLOW_NODE_SJ_DFP.getIndex().equals(caseTask.getNodeId())) {
                        tabList.add(dslxq);
                        tabList.add(sqjl);
                        buttonList.add(zxsl);
                        sl.setName("自行受理");
                        buttonList.add(sl);
                        buttonList.add(jb);
                        buttonList.add(sb);
                        buttonList.add(bysl);
                        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())) {
                    // 待受理节点
                    if (FlowNodeEnum.FLOW_NODE_ZJ_DSL.getIndex().equals(caseTask.getNodeId())
                            || FlowNodeEnum.FLOW_NODE_QJ_DSL.getIndex().equals(caseTask.getNodeId())
                            || FlowNodeEnum.FLOW_NODE_SJ_DSL.getIndex().equals(caseTask.getNodeId())) {
                        tabList.add(dslxq);
                        tabList.add(sqjl);
                        buttonList.add(sl);
                        buttonList.add(ht);
                        buttonList.add(bysl);
//                        buttonList.add(bysl);
                        // 额外单独给详情跳转查看
                        daxx.setName("详情");
                        tabList.add(daxx);
                    }
                    if (FlowNodeEnum.FLOW_NODE_ZJ_HTSH.getIndex().equals(caseTask.getNodeId())) {
                    // 回退审核节点
                    if (FlowNodeEnum.FLOW_NODE_ZJ_HTSH.getIndex().equals(caseTask.getNodeId())
                            || FlowNodeEnum.FLOW_NODE_QJ_HTSH.getIndex().equals(caseTask.getNodeId())
                            || FlowNodeEnum.FLOW_NODE_SJ_HTSH.getIndex().equals(caseTask.getNodeId())
                            || FlowNodeEnum.FLOW_NODE_HTSH.getIndex().equals(caseTask.getNodeId())) {
                        sxxq.setName("详情");
                        tabList.add(sxxq);
                        tabList.add(sqjl);
                        tabList.add(htsh);
                        // 额外单独给详情跳转查看
                        daxx.setName("详情");
                        tabList.add(daxx);
                    }
                    if (FlowNodeEnum.FLOW_NODE_QJ_SBSH.getIndex().equals(caseTask.getNodeId())) {
                    // 上报审核节点
                    if (FlowNodeEnum.FLOW_NODE_QJ_SBSH.getIndex().equals(caseTask.getNodeId())
                            || FlowNodeEnum.FLOW_NODE_SJ_SBSH.getIndex().equals(caseTask.getNodeId())) {
                        sxxq.setName("详情");
                        tabList.add(sxxq);
                        tabList.add(sqjl);
                        tabList.add(sbsh);
                    }
                    if (FlowNodeEnum.FLOW_NODE_QJ_DFP.getIndex().equals(caseTask.getNodeId())) {
                        tabList.add(dslxq);
                        tabList.add(sqjl);
                        buttonList.add(zxsl);
                        buttonList.add(jb);
                        buttonList.add(sb);
                        buttonList.add(bysl);
                        // 额外单独给详情跳转查看
                        daxx.setName("详情");
                        tabList.add(daxx);
                    }
                    if (FlowNodeEnum.FLOW_NODE_QJ_DSL.getIndex().equals(caseTask.getNodeId())) {
                        tabList.add(dslxq);
                        tabList.add(sqjl);
                        buttonList.add(sl);
                        buttonList.add(ht);
                        buttonList.add(bysl);
                    }
                    if (FlowNodeEnum.FLOW_NODE_QJ_HTSH.getIndex().equals(caseTask.getNodeId())) {
                        sxxq.setName("详情");
                        tabList.add(sxxq);
                        tabList.add(sqjl);
                        tabList.add(htsh);
                    }
                    if (FlowNodeEnum.FLOW_NODE_SJ_SBSH.getIndex().equals(caseTask.getNodeId())) {
                        sxxq.setName("详情");
                        tabList.add(sxxq);
                        tabList.add(sqjl);
                        tabList.add(sbsh);
                    }
                    if (FlowNodeEnum.FLOW_NODE_SJ_DFP.getIndex().equals(caseTask.getNodeId())) {
                        tabList.add(dslxq);
                        tabList.add(sqjl);
                        buttonList.add(zxsl);
                        buttonList.add(jb);
                        buttonList.add(bysl);
                    }
                    if (FlowNodeEnum.FLOW_NODE_SJ_DSL.getIndex().equals(caseTask.getNodeId())) {
                        tabList.add(dslxq);
                        tabList.add(sqjl);
                        buttonList.add(sl);
                        buttonList.add(ht);
                        buttonList.add(bysl);
                    }
                    if (FlowNodeEnum.FLOW_NODE_SJ_HTSH.getIndex().equals(caseTask.getNodeId())) {
                        sxxq.setName("详情");
                        tabList.add(sxxq);
                        tabList.add(sqjl);
                        tabList.add(htsh);
                    }
                    // 办理反馈节点
                    if (FlowNodeEnum.FLOW_NODE_BLFK.getIndex().equals(caseTask.getNodeId())) {
                        if (CaseTaskConsts.CASE_TASK_TYPE_1 == caseTask.getCaseTaskType()) {
                            tabList.add(sxxq);
@@ -381,7 +379,11 @@
                            buttonList.add(tjbljl);
                            buttonList.add(lhczsq);
                            buttonList.add(jasq);
                            buttonList.add(db);
//                            buttonList.add(db);
                            // 额外单独给详情跳转查看
                            daxx.setName("详情");
                            tabList.add(daxx);
                        } else {
                            tabList.add(sxxq);
                            tabList.add(sxbl);
@@ -389,42 +391,61 @@
                            tabList.add(sqjl);
                            buttonList.add(tjbljl);
                            // 额外单独给详情跳转查看
                            daxx.setName("详情");
                            tabList.add(daxx);
                        }
                    }
                    // 结案审核节点
                    if (FlowNodeEnum.FLOW_NODE_JASH.getIndex().equals(caseTask.getNodeId())) {
                        tabList.add(sxxq);
                        tabList.add(sqjl);
                        tabList.add(jash);
                        // 额外单独给详情跳转查看
                        daxx.setName("详情");
                        tabList.add(daxx);
                    }
                    // 当事人评价节点
                    if (FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex().equals(caseTask.getNodeId())) {
                        daxx.setName("信息");
                        daxx.setName("详情");
                        tabList.add(daxx);
                        tabList.add(lcdb);
                        tabList.add(sqjl);
                    }
                    // 结案归档节点
                    if (FlowNodeEnum.FLOW_NODE_JAGD.getIndex().equals(caseTask.getNodeId())) {
                        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);
                        // 额外单独给详情跳转查看
                        daxx.setName("详情");
                        tabList.add(daxx);
                    }
                }
            }else {
                tabList.add(sxxq);
                tabList.add(sqjl);
                tabList.add(lhczsh);
                // 是否是联合处置审核
                CaseAssistApply caseAssistApply = caseAssistApplyService.getById(caseTaskId);
                if (ObjectUtils.isNotEmpty(caseAssistApply)){
                    tabList.add(sxxq);
                    tabList.add(lhczsh);
                    tabList.add(sqjl);
                }else {
                    daxx.setName("详情");
                    tabList.add(daxx);
                    tabList.add(lcdb);
                    tabList.add(sqjl);
                }
            }
            // 封装数据
            TabButtonDTO tabButtonDTO = new TabButtonDTO();
@@ -488,11 +509,19 @@
                    // 普通节点
                    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 (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex())
                            || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_JAGD.getIndex())){
                        webCaseFlowDTO.setHandleUserName(null);
                        webCaseFlowDTO.setHandleUnitName(caseTask.getHandleUserName());
                    }else{
                        webCaseFlowDTO.setHandleUserName(caseTask.getHandleUserName());
                        webCaseFlowDTO.setHandleUnitName(caseTask.getHandleUnitName());
                    }
                    // 回退申请节点
                    if(CaseTaskConsts.TASK_TYPE_2 == caseTask.getTaskType()){
                        webCaseFlowDTO.setNodeShowName("事件回退");
@@ -513,13 +542,6 @@
                        }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())
@@ -582,7 +604,8 @@
                    webCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName());
                    webCaseFlowDTO.setStatus(caseTask.getStatus());
                    // 当事人评价节点,特殊处理
                    if (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex())){
                    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());
@@ -632,11 +655,19 @@
                            // 普通节点
                            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 (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex())
                                    || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_JAGD.getIndex())){
                                webCaseFlowDTO.setHandleUserName(null);
                                webCaseFlowDTO.setHandleUnitName(caseTask.getHandleUserName());
                            }else{
                                webCaseFlowDTO.setHandleUserName(caseTask.getHandleUserName());
                                webCaseFlowDTO.setHandleUnitName(caseTask.getHandleUnitName());
                            }
                            // 回退申请节点
                            if(CaseTaskConsts.TASK_TYPE_2 == caseTask.getTaskType()){
                                webCaseFlowDTO.setNodeShowName("事件回退");
@@ -657,13 +688,6 @@
                                }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())
@@ -720,7 +744,8 @@
                            webCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName());
                            webCaseFlowDTO.setStatus(caseTask.getStatus());
                            // 当事人评价节点,特殊处理
                            if (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex())){
                            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());
@@ -758,7 +783,21 @@
            long countReturnReview = caseReturnService.countReturnReview(loginUser.getUnitId());
            long countAppearReview = caseAppearService.countAppearReview(loginUser.getUnitId());
            long countAssistReview = caseAssistApplyService.countAssistReview(loginUser.getUnitId());
            frontPageCountDTO.setReturnReview(countReturnReview);
            frontPageCountDTO.setAppearReview(countAppearReview);
            frontPageCountDTO.setWindupReview(countApplyReview);
            frontPageCountDTO.setAssistReview(countAssistReview);
            frontPageCountDTO.setWaitReview(countApplyReview+countReturnReview+countAppearReview+countAssistReview);
            // 已办
            Map<String, Object> ybTerms = new HashMap<>();
            ybTerms.put("handleUnitId", loginUser.getUnitId());
            long alreadyDone = mapper.countMyTaskYb(ybTerms);
            frontPageCountDTO.setAlreadyDone(alreadyDone);
            // 已办
            Map<String, Object> cgTerms = new HashMap<>();
            cgTerms.put("inputUnitId", loginUser.getUnitId());
            long caseDraft = casedraftInfoService.countTerms(cgTerms);
            frontPageCountDTO.setCaseDraft(caseDraft);
            return frontPageCountDTO;
        }catch (Exception e) {
            log.error("[CaseTaskService.getCountList]调用失败,异常信息:" + e, e);
@@ -1829,39 +1868,105 @@
                jashCaseTask.setCreateTime(DateUtils.addMinute(nowDate, 1));
                jashCaseTask.setUpdateTime(DateUtils.addMinute(nowDate, 1));
                mapper.insert(jashCaseTask);
                // 完成当前结案审核工作流任务,走当事人评价任务
                FlowNode dsrpjFlowNode = flowInfoService.completeTask(jashCaseTask.getFlowableId(), jashCaseTask.getProcessTaskId(),
                // 完成当前结案审核工作流任务,走下一个任务
                FlowNode nextFlowNode = flowInfoService.completeTask(jashCaseTask.getFlowableId(), jashCaseTask.getProcessTaskId(),
                        FlowableConsts.OPERATION_jash_ty, userId);
                // 新建当事人评价任务
                CaseTask dsrpjCaseTask = new CaseTask();
                dsrpjCaseTask.setId(utilsClient.getNewTimeId());
                dsrpjCaseTask.setCaseId(jashCaseTask.getCaseId());
                dsrpjCaseTask.setFlowableId(dsrpjFlowNode.getFlowableId());
                dsrpjCaseTask.setProcessInstanceId(dsrpjFlowNode.getProcessInstanceId());
                dsrpjCaseTask.setProcessTaskId(dsrpjFlowNode.getProcessTaskId());
                dsrpjCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1);
                dsrpjCaseTask.setNodeType(dsrpjFlowNode.getNodeType());
                dsrpjCaseTask.setNodeId(dsrpjFlowNode.getNodeId());
                dsrpjCaseTask.setNodeName(dsrpjFlowNode.getNodeName());
                dsrpjCaseTask.setFlowId(dsrpjFlowNode.getFlowId());
                dsrpjCaseTask.setNodeShowName(dsrpjFlowNode.getNodeShowName());
                dsrpjCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1);
                // 受理任务,任务候选执行者类型是上一步骤选择
                dsrpjCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1);
                dsrpjCaseTask.setCandeUnitId(loginUser.getUnitId());
                dsrpjCaseTask.setCandeUnitName(loginUser.getUnitName());
                // 受理后的任务,不需要签收
                dsrpjCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
                dsrpjCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
                // 任务处理时限
                if (dsrpjFlowNode.getExpire() != 0) {
                    dsrpjCaseTask.setExpireTime(DateUtils.addDay(nowDate, dsrpjFlowNode.getExpire()));
                // 走当事人评价节点
                if (FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex().equals(nextFlowNode.getNodeId())){
                    // 新建当事人评价任务
                    CaseTask dsrpjCaseTask = new CaseTask();
                    dsrpjCaseTask.setId(utilsClient.getNewTimeId());
                    dsrpjCaseTask.setCaseId(jashCaseTask.getCaseId());
                    dsrpjCaseTask.setFlowableId(nextFlowNode.getFlowableId());
                    dsrpjCaseTask.setProcessInstanceId(nextFlowNode.getProcessInstanceId());
                    dsrpjCaseTask.setProcessTaskId(nextFlowNode.getProcessTaskId());
                    dsrpjCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1);
                    dsrpjCaseTask.setNodeType(nextFlowNode.getNodeType());
                    dsrpjCaseTask.setNodeId(nextFlowNode.getNodeId());
                    dsrpjCaseTask.setNodeName(nextFlowNode.getNodeName());
                    dsrpjCaseTask.setFlowId(nextFlowNode.getFlowId());
                    dsrpjCaseTask.setNodeShowName(nextFlowNode.getNodeShowName());
                    dsrpjCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1);
                    // 受理任务,任务候选执行者类型是上一步骤选择
                    dsrpjCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1);
                    dsrpjCaseTask.setCandeUnitId(loginUser.getUnitId());
                    dsrpjCaseTask.setCandeUnitName(loginUser.getUnitName());
                    // 受理后的任务,不需要签收
                    dsrpjCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
                    dsrpjCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
                    // 任务处理时限
                    if (nextFlowNode.getExpire() != 0) {
                        dsrpjCaseTask.setExpireTime(DateUtils.addDay(nowDate, nextFlowNode.getExpire()));
                    }
                    dsrpjCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
                    dsrpjCaseTask.setCustId(jashCaseTask.getCustId());
                    dsrpjCaseTask.setCreateTime(DateUtils.addMinute(nowDate, 2));
                    dsrpjCaseTask.setUpdateTime(DateUtils.addMinute(nowDate, 2));
                    mapper.insert(dsrpjCaseTask);
                    // 更新纠纷信息
                    CaseInfo caseInfoPO = new CaseInfo();
                    caseInfoPO.setId(jashCaseTask.getCaseId());
                    caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_6.getIndex());
                    caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_6.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);
                }
                dsrpjCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
                dsrpjCaseTask.setCustId(jashCaseTask.getCustId());
                dsrpjCaseTask.setCreateTime(DateUtils.addMinute(nowDate, 2));
                dsrpjCaseTask.setUpdateTime(DateUtils.addMinute(nowDate, 2));
                mapper.insert(dsrpjCaseTask);
                // 走结案归档节点
                if (FlowNodeEnum.FLOW_NODE_JAGD.getIndex().equals(nextFlowNode.getNodeId())){
                    // 默认完成结案归档任务
                    CaseTask jagdCaseTask = new CaseTask();
                    jagdCaseTask.setId(utilsClient.getNewTimeId());
                    jagdCaseTask.setCaseId(jashCaseTask.getCaseId());
                    jagdCaseTask.setFlowableId(nextFlowNode.getFlowableId());
                    jagdCaseTask.setProcessInstanceId(nextFlowNode.getProcessInstanceId());
                    jagdCaseTask.setProcessTaskId(nextFlowNode.getProcessTaskId());
                    jagdCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1);
                    jagdCaseTask.setNodeType(nextFlowNode.getNodeType());
                    jagdCaseTask.setNodeId(nextFlowNode.getNodeId());
                    jagdCaseTask.setNodeName(nextFlowNode.getNodeName());
                    jagdCaseTask.setFlowId(nextFlowNode.getFlowId());
                    jagdCaseTask.setNodeShowName(nextFlowNode.getNodeShowName());
                    jagdCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1);
                    // 通过调度的,任务候选执行者类型是上一步骤选择
                    jagdCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1);
                    jagdCaseTask.setCandeUnitId(loginUser.getUnitId());
                    jagdCaseTask.setCandeUnitName(loginUser.getUnitName());
                    // 系不需要签收
                    jagdCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
                    jagdCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2);
                    // 任务处理时限
                    if (nextFlowNode.getExpire() != 0) {
                        jagdCaseTask.setExpireTime(DateUtils.addDay(nowDate, nextFlowNode.getExpire()));
                    }
                    jagdCaseTask.setHandleUnitId(loginUser.getUnitId());
                    jagdCaseTask.setHandleUnitName(loginUser.getUnitName());
                    jagdCaseTask.setHandleUserName("系统自动");
                    jagdCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1);
                    jagdCaseTask.setHandleTime(nowDate);
                    jagdCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
                    jagdCaseTask.setCustId(jashCaseTask.getCustId());
                    jagdCaseTask.setCreateTime(nowDate);
                    jagdCaseTask.setUpdateTime(nowDate);
                    mapper.insert(jagdCaseTask);
                    // 结束工作流流程
                    flowInfoService.completeTask(jagdCaseTask.getFlowableId(), jagdCaseTask.getProcessTaskId(),
                            FlowableConsts.OPERATION_jb_zszz, "系统自动");
                    // 更新纠纷信息
                    CaseInfo caseInfoPO = new CaseInfo();
                    caseInfoPO.setId(jashCaseTask.getCaseId());
                    caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_7.getIndex());
                    caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_7.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);
                }
                // 更新结案申请信息
                caseWindupApply.setApplyStatus(AuditBaseConsts.AUDIT_STATUS_1);
                caseWindupApply.setCaseTaskId(jashCaseTask.getId());
@@ -1874,20 +1979,9 @@
                caseWindupApply.setAuditResultName(AuditBaseConstsEnum.AUDIT_RESULT_1.getDes());
                caseWindupApply.setCustId(jashCaseTask.getCustId());
                caseWindupApplyService.save(caseWindupApply);
                // 更新纠纷信息
                CaseInfo caseInfoPO = new CaseInfo();
                caseInfoPO.setId(dsrpjCaseTask.getCaseId());
                caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_6.getIndex());
                caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_6.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);
                // 更新纠纷扩展信息
                CaseInfoUnfold caseInfoUnfoldPO = new CaseInfoUnfold();
                caseInfoUnfoldPO.setId(dsrpjCaseTask.getCaseId());
                caseInfoUnfoldPO.setId(jashCaseTask.getCaseId());
                caseInfoUnfoldPO.setMediResult(caseWindupApply.getMediResult());
                caseInfoUnfoldPO.setMediResultName(caseWindupApply.getMediResultName());
                caseInfoUnfoldPO.setAgreeType(caseWindupApply.getAgreeType());
@@ -1961,6 +2055,15 @@
                caseInfoUnfoldPO.setUpdateTime(nowDate);
                caseInfoUnfoldService.updateCaseInfoUnfold(caseInfoUnfoldPO);
            }
            // 查询联合处置申请单,全部结束申请单
            QueryWrapper<CaseAssistApply> caseAssistApplyQueryWrapper = new QueryWrapper<>();
            caseAssistApplyQueryWrapper.eq("case_id", jasqCaseTask.getCaseId()).eq("apply_status", AuditBaseConsts.AUDIT_STATUS_0);
            List<CaseAssistApply> caseAssistApplyList = caseAssistApplyService.list(caseAssistApplyQueryWrapper);
            for (CaseAssistApply caseAssistApply: caseAssistApplyList){
                caseAssistApply.setApplyStatus(AuditBaseConsts.AUDIT_STATUS_2);
                caseAssistApply.setUpdateTime(nowDate);
                caseAssistApplyService.updateCaseAssistApply(caseAssistApply);
            }
            // 查询配合部门的任务,全部结束流程
            List<CaseTask> assistCaseTaskList = this.listAssistTasking(jasqCaseTask.getCaseId());
            for (CaseTask assistCaseTask: assistCaseTaskList){
@@ -2020,52 +2123,108 @@
                jashCaseTaskPO.setUpdateTime(nowDate);
                mapper.updateCaseTask(jashCaseTaskPO);
                // 完成当前结案审核工作流任务,走当事人评价任务
                FlowNode dsrpjFlowNode = flowInfoService.completeTask(jashCaseTask.getFlowableId(), jashCaseTask.getProcessTaskId(),
                FlowNode nextFlowNode = flowInfoService.completeTask(jashCaseTask.getFlowableId(), jashCaseTask.getProcessTaskId(),
                        FlowableConsts.OPERATION_jash_ty, userId);
                // 新建当事人评价任务
                CaseTask dsrpjCaseTask = new CaseTask();
                dsrpjCaseTask.setId(utilsClient.getNewTimeId());
                dsrpjCaseTask.setCaseId(jashCaseTask.getCaseId());
                dsrpjCaseTask.setFlowableId(dsrpjFlowNode.getFlowableId());
                dsrpjCaseTask.setProcessInstanceId(dsrpjFlowNode.getProcessInstanceId());
                dsrpjCaseTask.setProcessTaskId(dsrpjFlowNode.getProcessTaskId());
                dsrpjCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1);
                dsrpjCaseTask.setNodeType(dsrpjFlowNode.getNodeType());
                dsrpjCaseTask.setNodeId(dsrpjFlowNode.getNodeId());
                dsrpjCaseTask.setNodeName(dsrpjFlowNode.getNodeName());
                dsrpjCaseTask.setFlowId(dsrpjFlowNode.getFlowId());
                dsrpjCaseTask.setNodeShowName(dsrpjFlowNode.getNodeShowName());
                dsrpjCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1);
                // 受理任务,任务候选执行者类型是上一步骤选择
                dsrpjCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1);
                dsrpjCaseTask.setCandeUnitId(loginUser.getUnitId());
                dsrpjCaseTask.setCandeUnitName(loginUser.getUnitName());
                // 受理后的任务,不需要签收
                dsrpjCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
                dsrpjCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
                // 任务处理时限
                if (dsrpjFlowNode.getExpire() != 0) {
                    dsrpjCaseTask.setExpireTime(DateUtils.addDay(nowDate, dsrpjFlowNode.getExpire()));
                // 走当事人评价节点
                if (FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex().equals(nextFlowNode.getNodeId())){
                    // 新建当事人评价任务
                    CaseTask dsrpjCaseTask = new CaseTask();
                    dsrpjCaseTask.setId(utilsClient.getNewTimeId());
                    dsrpjCaseTask.setCaseId(jashCaseTask.getCaseId());
                    dsrpjCaseTask.setFlowableId(nextFlowNode.getFlowableId());
                    dsrpjCaseTask.setProcessInstanceId(nextFlowNode.getProcessInstanceId());
                    dsrpjCaseTask.setProcessTaskId(nextFlowNode.getProcessTaskId());
                    dsrpjCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1);
                    dsrpjCaseTask.setNodeType(nextFlowNode.getNodeType());
                    dsrpjCaseTask.setNodeId(nextFlowNode.getNodeId());
                    dsrpjCaseTask.setNodeName(nextFlowNode.getNodeName());
                    dsrpjCaseTask.setFlowId(nextFlowNode.getFlowId());
                    dsrpjCaseTask.setNodeShowName(nextFlowNode.getNodeShowName());
                    dsrpjCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1);
                    // 受理任务,任务候选执行者类型是上一步骤选择
                    dsrpjCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1);
                    dsrpjCaseTask.setCandeUnitId(loginUser.getUnitId());
                    dsrpjCaseTask.setCandeUnitName(loginUser.getUnitName());
                    // 受理后的任务,不需要签收
                    dsrpjCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
                    dsrpjCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
                    // 任务处理时限
                    if (nextFlowNode.getExpire() != 0) {
                        dsrpjCaseTask.setExpireTime(DateUtils.addDay(nowDate, nextFlowNode.getExpire()));
                    }
                    dsrpjCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
                    dsrpjCaseTask.setCustId(jashCaseTask.getCustId());
                    dsrpjCaseTask.setCreateTime(nowDate);
                    dsrpjCaseTask.setUpdateTime(nowDate);
                    mapper.insert(dsrpjCaseTask);
                    // 更新纠纷信息
                    CaseInfo caseInfoPO = new CaseInfo();
                    caseInfoPO.setId(jashCaseTask.getCaseId());
                    caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_6.getIndex());
                    caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_6.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);
                }
                dsrpjCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
                dsrpjCaseTask.setCustId(jashCaseTask.getCustId());
                dsrpjCaseTask.setCreateTime(nowDate);
                dsrpjCaseTask.setUpdateTime(nowDate);
                mapper.insert(dsrpjCaseTask);
                // 更新纠纷信息
                CaseInfo caseInfoPO = new CaseInfo();
                caseInfoPO.setId(dsrpjCaseTask.getCaseId());
                caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_6.getIndex());
                caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_6.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);
                // 走结案归档节点
                if (FlowNodeEnum.FLOW_NODE_JAGD.getIndex().equals(nextFlowNode.getNodeId())){
                    // 默认完成结案归档任务
                    CaseTask jagdCaseTask = new CaseTask();
                    jagdCaseTask.setId(utilsClient.getNewTimeId());
                    jagdCaseTask.setCaseId(jashCaseTask.getCaseId());
                    jagdCaseTask.setFlowableId(nextFlowNode.getFlowableId());
                    jagdCaseTask.setProcessInstanceId(nextFlowNode.getProcessInstanceId());
                    jagdCaseTask.setProcessTaskId(nextFlowNode.getProcessTaskId());
                    jagdCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1);
                    jagdCaseTask.setNodeType(nextFlowNode.getNodeType());
                    jagdCaseTask.setNodeId(nextFlowNode.getNodeId());
                    jagdCaseTask.setNodeName(nextFlowNode.getNodeName());
                    jagdCaseTask.setFlowId(nextFlowNode.getFlowId());
                    jagdCaseTask.setNodeShowName(nextFlowNode.getNodeShowName());
                    jagdCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1);
                    // 通过调度的,任务候选执行者类型是上一步骤选择
                    jagdCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1);
                    jagdCaseTask.setCandeUnitId(loginUser.getUnitId());
                    jagdCaseTask.setCandeUnitName(loginUser.getUnitName());
                    // 系不需要签收
                    jagdCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
                    jagdCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2);
                    // 任务处理时限
                    if (nextFlowNode.getExpire() != 0) {
                        jagdCaseTask.setExpireTime(DateUtils.addDay(nowDate, nextFlowNode.getExpire()));
                    }
                    jagdCaseTask.setHandleUnitId(loginUser.getUnitId());
                    jagdCaseTask.setHandleUnitName(loginUser.getUnitName());
                    jagdCaseTask.setHandleUserName("系统自动");
                    jagdCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1);
                    jagdCaseTask.setHandleTime(nowDate);
                    jagdCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
                    jagdCaseTask.setCustId(jashCaseTask.getCustId());
                    jagdCaseTask.setCreateTime(nowDate);
                    jagdCaseTask.setUpdateTime(nowDate);
                    mapper.insert(jagdCaseTask);
                    // 结束工作流流程
                    flowInfoService.completeTask(jagdCaseTask.getFlowableId(), jagdCaseTask.getProcessTaskId(),
                            FlowableConsts.OPERATION_jb_zszz, "系统自动");
                    // 更新纠纷信息
                    CaseInfo caseInfoPO = new CaseInfo();
                    caseInfoPO.setId(jashCaseTask.getCaseId());
                    caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_7.getIndex());
                    caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_7.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);
                }
                // 更新纠纷扩展信息
                CaseInfoUnfold caseInfoUnfoldPO = new CaseInfoUnfold();
                caseInfoUnfoldPO.setId(dsrpjCaseTask.getCaseId());
                caseInfoUnfoldPO.setId(jashCaseTask.getCaseId());
                caseInfoUnfoldPO.setCloseTime(nowDate);
                caseInfoUnfoldPO.setUpdateTime(nowDate);
                caseInfoUnfoldService.updateCaseInfoUnfold(caseInfoUnfoldPO);
@@ -2579,8 +2738,9 @@
                dfphCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1);
                // 受理任务,任务候选执行者类型是上一步骤选择
                dfphCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1);
                dfphCaseTask.setCandeUnitId(caseAppear.getAppearUnitId());
                dfphCaseTask.setCandeUnitName(caseAppear.getAppearUnitName());
                CaseAppear caseAppearBO = caseAppearService.getById(caseAppear.getId());
                dfphCaseTask.setCandeUnitId(caseAppearBO.getAppearUnitId());
                dfphCaseTask.setCandeUnitName(caseAppearBO.getAppearUnitName());
                // 受理后的任务,不需要签收
                dfphCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
                dfphCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
@@ -2608,4 +2768,22 @@
    public List<SignTaskDTO> listIdByTerms(Map<String, Object> terms){
        return mapper.listIdByTerms(terms);
    }
    /**
     * web端-工作台-已办事项
     * @param page 分页对象
     * @param terms 条件
     * @return Page
     */
    public Page<FrontPageListYBDTO> pageMyTaskYb(PageRequest page, Map<String, Object> terms){
        try {
            long total = mapper.countMyTaskYb(terms);
            List<FrontPageListYBDTO> frontPageListYBDTOList = mapper.pageMyTaskYb(page, terms);
            return new PageImpl<FrontPageListYBDTO>(frontPageListYBDTOList, page, total);
        }catch (Exception e) {
            log.error("[CaseTaskService.pageMyTaskYb]调用失败,异常信息:" + e, e);
            throw new ServiceException("CaseTaskService.pageMyTaskYb", e);
        }
    }
}