| | |
| | | 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; |
| | |
| | | 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<>(); |
| | |
| | | || 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()) |
| | |
| | | || 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()) |
| | |
| | | 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()) |
| | |
| | | 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())) { |
| | |
| | | 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())) { |
| | |
| | | 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 { |
| | |
| | | } |
| | | // 审核节点要判断通过/不通过 |
| | | 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()) |
| | |
| | | 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); |
| | | } |
| | |
| | | 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()); |
| | |
| | | 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); |
| | |
| | | }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); |
| | |
| | | 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); |
| | |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 根据编号物理删除 |
| | | * @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); |
| | | } |
| | | } |
| | | |
| | | } |