| | |
| | | // 回退申请节点 |
| | | if(CaseTaskConsts.TASK_TYPE_2 == caseTask.getTaskType()){ |
| | | webCaseFlowDTO.setNodeShowName("事件回退"); |
| | | CaseReturn caseReturn = caseReturnService.getNewByCaseId(caseId); |
| | | CaseReturn caseReturn = caseReturnService.getNewByCaseId(caseId, caseTask.getCaseTaskType()); |
| | | if (StringUtils.isNotEmpty(caseReturn.getReturnContent())) { |
| | | webCaseFlowDTO.setHandleNotes("回退理由:" + caseReturn.getReturnContent()); |
| | | }else { |
| | |
| | | caseInfoUnfoldPO.setMediateUnitId(blfkCaseTask.getCandeUnitId()); |
| | | caseInfoUnfoldPO.setMediateUnitName(blfkCaseTask.getCandeUnitName()); |
| | | caseInfoUnfoldService.updateCaseInfoUnfold(caseInfoUnfoldPO); |
| | | return dslCaseTask.getId(); |
| | | return blfkCaseTask.getId(); |
| | | }catch (Exception e){ |
| | | log.error("[CaseTaskService.webStartFlowZXSL]调用失败,异常信息:"+e, e); |
| | | throw new ServiceException("CaseTaskService.webStartFlowZXSL", e); |
| | |
| | | collect(Collectors.joining(BaseConsts.COMMA)); |
| | | for (AssignAssistUnitDTO assignAssistUnitDTO: assignTaskDTO.getAssistUnitList()){ |
| | | // 启动联合处置工作流 |
| | | FlowNode firstFlowNode = flowInfoService.startFlow(FlowableConsts.FLOWABLE_ID_LHCZ, dfpCaseTask.getCaseId()); |
| | | // 创建配合部门待受理任务 |
| | | CaseTask lhczCaseTask = new CaseTask(); |
| | | lhczCaseTask.setId(utilsClient.getNewTimeId()); |
| | | lhczCaseTask.setCaseId(dfpCaseTask.getCaseId()); |
| | | lhczCaseTask.setFlowableId(firstFlowNode.getFlowableId()); |
| | | lhczCaseTask.setProcessInstanceId(firstFlowNode.getProcessInstanceId()); |
| | | lhczCaseTask.setProcessTaskId(firstFlowNode.getProcessTaskId()); |
| | | lhczCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1); |
| | | lhczCaseTask.setNodeType(firstFlowNode.getNodeType()); |
| | | lhczCaseTask.setNodeId(firstFlowNode.getNodeId()); |
| | | lhczCaseTask.setNodeName(firstFlowNode.getNodeName()); |
| | | lhczCaseTask.setFlowId(firstFlowNode.getFlowId()); |
| | | lhczCaseTask.setNodeShowName(firstFlowNode.getNodeShowName()); |
| | | lhczCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_2); |
| | | FlowNode lhczdfpFlowNode = flowInfoService.startFlow(FlowableConsts.FLOWABLE_ID_LHCZ, dfpCaseTask.getCaseId()); |
| | | // 新建并完成配合部门待分派任务 |
| | | CaseTask lhczdfpCaseTask = new CaseTask(); |
| | | lhczdfpCaseTask.setId(utilsClient.getNewTimeId()); |
| | | lhczdfpCaseTask.setCaseId(dfpCaseTask.getCaseId()); |
| | | lhczdfpCaseTask.setFlowableId(lhczdfpFlowNode.getFlowableId()); |
| | | lhczdfpCaseTask.setProcessInstanceId(lhczdfpFlowNode.getProcessInstanceId()); |
| | | lhczdfpCaseTask.setProcessTaskId(lhczdfpFlowNode.getProcessTaskId()); |
| | | lhczdfpCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1); |
| | | lhczdfpCaseTask.setNodeType(lhczdfpFlowNode.getNodeType()); |
| | | lhczdfpCaseTask.setNodeId(lhczdfpFlowNode.getNodeId()); |
| | | lhczdfpCaseTask.setNodeName(lhczdfpFlowNode.getNodeName()); |
| | | lhczdfpCaseTask.setFlowId(lhczdfpFlowNode.getFlowId()); |
| | | lhczdfpCaseTask.setNodeShowName(lhczdfpFlowNode.getNodeShowName()); |
| | | lhczdfpCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_2); |
| | | // 通过调度的,任务候选执行者类型是上一步骤选择 |
| | | lhczCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1); |
| | | lhczCaseTask.setCandeUnitId(assignAssistUnitDTO.getUitId()); |
| | | lhczCaseTask.setCandeUnitName(assignAssistUnitDTO.getUitName()); |
| | | // 需要签收 |
| | | lhczCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_1); |
| | | lhczCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1); |
| | | lhczdfpCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1); |
| | | lhczdfpCaseTask.setCandeUnitId(loginUser.getUnitId()); |
| | | lhczdfpCaseTask.setCandeUnitName(loginUser.getUnitName()); |
| | | // 不需要签收 |
| | | lhczdfpCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0); |
| | | lhczdfpCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2); |
| | | lhczdfpCaseTask.setHandleUnitId(loginUser.getUnitId()); |
| | | lhczdfpCaseTask.setHandleUnitName(loginUser.getUnitName()); |
| | | lhczdfpCaseTask.setHandleUserId(loginUser.getId()); |
| | | lhczdfpCaseTask.setHandleUserName(loginUser.getTrueName()); |
| | | lhczdfpCaseTask.setHandleContent(assignTaskDTO.getAssignContent()); |
| | | lhczdfpCaseTask.setHandleIllust("交办至:"+assistUnitName); |
| | | // 任务处理时限 |
| | | if (firstFlowNode.getExpire() != 0) { |
| | | lhczCaseTask.setExpireTime(DateUtils.addDay(nowDate, firstFlowNode.getExpire())); |
| | | if (lhczdfpFlowNode.getExpire() != 0) { |
| | | lhczdfpCaseTask.setExpireTime(DateUtils.addDay(nowDate, lhczdfpFlowNode.getExpire())); |
| | | } |
| | | lhczCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); |
| | | lhczCaseTask.setCustId(dfpCaseTask.getCustId()); |
| | | lhczCaseTask.setCreateTime(nowDate); |
| | | lhczCaseTask.setUpdateTime(nowDate); |
| | | mapper.insert(lhczCaseTask); |
| | | lhczdfpCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); |
| | | lhczdfpCaseTask.setCustId(dfpCaseTask.getCustId()); |
| | | lhczdfpCaseTask.setCreateTime(nowDate); |
| | | lhczdfpCaseTask.setUpdateTime(nowDate); |
| | | mapper.insert(lhczdfpCaseTask); |
| | | // 完成待分派任务 |
| | | FlowNode lhczdslFlowNode = flowInfoService.completeTask(lhczdfpCaseTask.getFlowableId(), lhczdfpCaseTask.getProcessTaskId(), |
| | | FlowableConsts.OPERATION_forward, loginUser.getId()); |
| | | // 创建配合部门待受理任务 |
| | | CaseTask lhczdslCaseTask = new CaseTask(); |
| | | lhczdslCaseTask.setId(utilsClient.getNewTimeId()); |
| | | lhczdslCaseTask.setCaseId(lhczdfpCaseTask.getCaseId()); |
| | | lhczdslCaseTask.setFlowableId(lhczdslFlowNode.getFlowableId()); |
| | | lhczdslCaseTask.setProcessInstanceId(lhczdslFlowNode.getProcessInstanceId()); |
| | | lhczdslCaseTask.setProcessTaskId(lhczdslFlowNode.getProcessTaskId()); |
| | | lhczdslCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1); |
| | | lhczdslCaseTask.setNodeType(lhczdslFlowNode.getNodeType()); |
| | | lhczdslCaseTask.setNodeId(lhczdslFlowNode.getNodeId()); |
| | | lhczdslCaseTask.setNodeName(lhczdslFlowNode.getNodeName()); |
| | | lhczdslCaseTask.setFlowId(lhczdslFlowNode.getFlowId()); |
| | | lhczdslCaseTask.setNodeShowName(lhczdslFlowNode.getNodeShowName()); |
| | | lhczdslCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_2); |
| | | // 通过调度的,任务候选执行者类型是上一步骤选择 |
| | | lhczdslCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1); |
| | | lhczdslCaseTask.setCandeUnitId(assignAssistUnitDTO.getUitId()); |
| | | lhczdslCaseTask.setCandeUnitName(assignAssistUnitDTO.getUitName()); |
| | | // 需要签收 |
| | | lhczdslCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_1); |
| | | lhczdslCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1); |
| | | // 任务处理时限 |
| | | if (lhczdslFlowNode.getExpire() != 0) { |
| | | lhczdslCaseTask.setExpireTime(DateUtils.addDay(nowDate, lhczdslFlowNode.getExpire())); |
| | | } |
| | | lhczdslCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); |
| | | lhczdslCaseTask.setCustId(lhczdfpCaseTask.getCustId()); |
| | | lhczdslCaseTask.setCreateTime(nowDate); |
| | | lhczdslCaseTask.setUpdateTime(nowDate); |
| | | mapper.insert(lhczdslCaseTask); |
| | | } |
| | | // 更新纠纷扩展信息 |
| | | CaseInfoUnfold caseInfoUnfoldPO = new CaseInfoUnfold(); |
| | |
| | | htshCaseTask.setNodeName(htshFlowNode.getNodeName()); |
| | | htshCaseTask.setFlowId(htshFlowNode.getFlowId()); |
| | | htshCaseTask.setNodeShowName(htshFlowNode.getNodeShowName()); |
| | | htshCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1); |
| | | htshCaseTask.setCaseTaskType(dslCaseTask.getCaseTaskType()); |
| | | // 受理任务,任务候选执行者类型是上一步骤选择 |
| | | htshCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1); |
| | | CtUnitDTO ctUnitDTO = custClient.getParentZzzxUnit(loginUser.getUnitId()); |
| | |
| | | mapper.insert(htshCaseTask); |
| | | // 新增回退申请信息 |
| | | caseReturn.setCaseTaskId(htshCaseTask.getId()); |
| | | caseReturn.setCaseTaskType(htshCaseTask.getCaseTaskType()); |
| | | caseReturnService.save(caseReturn); |
| | | }catch (Exception e){ |
| | | log.error("[CaseTaskService.webAppearApply]调用失败,异常信息:"+e, e); |
| | |
| | | htshCaseTaskPO.setHandleTime(nowDate); |
| | | htshCaseTaskPO.setUpdateTime(nowDate); |
| | | mapper.updateCaseTask(htshCaseTaskPO); |
| | | // 完成当前回退审核任务,走待分派任务 |
| | | // 完成当前回退审核任务,承办部门走待分派任务,配合部门结束流程 |
| | | FlowNode dfpFlowNode = flowInfoService.completeTask(htshCaseTask.getFlowableId(), htshCaseTask.getProcessTaskId(), |
| | | FlowableConsts.OPERATION_htsh_ty, userId); |
| | | // 新建待分派任务 |
| | | CaseTask dfphCaseTask = new CaseTask(); |
| | | dfphCaseTask.setId(utilsClient.getNewTimeId()); |
| | | dfphCaseTask.setCaseId(htshCaseTask.getCaseId()); |
| | | dfphCaseTask.setFlowableId(dfpFlowNode.getFlowableId()); |
| | | dfphCaseTask.setProcessInstanceId(dfpFlowNode.getProcessInstanceId()); |
| | | dfphCaseTask.setProcessTaskId(dfpFlowNode.getProcessTaskId()); |
| | | dfphCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1); |
| | | dfphCaseTask.setNodeType(dfpFlowNode.getNodeType()); |
| | | dfphCaseTask.setNodeId(dfpFlowNode.getNodeId()); |
| | | dfphCaseTask.setNodeName(dfpFlowNode.getNodeName()); |
| | | dfphCaseTask.setFlowId(dfpFlowNode.getFlowId()); |
| | | dfphCaseTask.setNodeShowName(dfpFlowNode.getNodeShowName()); |
| | | dfphCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1); |
| | | // 受理任务,任务候选执行者类型是上一步骤选择 |
| | | dfphCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1); |
| | | dfphCaseTask.setCandeUnitId(loginUser.getUnitId()); |
| | | dfphCaseTask.setCandeUnitName(loginUser.getUnitName()); |
| | | // 受理后的任务,不需要签收 |
| | | dfphCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0); |
| | | // 任务处理时限 |
| | | if (dfpFlowNode.getExpire() != 0) { |
| | | dfphCaseTask.setExpireTime(DateUtils.addDay(nowDate, dfpFlowNode.getExpire())); |
| | | if (CaseTaskConsts.CASE_TASK_TYPE_1 == htshCaseTask.getCaseTaskType()) { |
| | | // 新建待分派任务 |
| | | CaseTask dfphCaseTask = new CaseTask(); |
| | | dfphCaseTask.setId(utilsClient.getNewTimeId()); |
| | | dfphCaseTask.setCaseId(htshCaseTask.getCaseId()); |
| | | dfphCaseTask.setFlowableId(dfpFlowNode.getFlowableId()); |
| | | dfphCaseTask.setProcessInstanceId(dfpFlowNode.getProcessInstanceId()); |
| | | dfphCaseTask.setProcessTaskId(dfpFlowNode.getProcessTaskId()); |
| | | dfphCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1); |
| | | dfphCaseTask.setNodeType(dfpFlowNode.getNodeType()); |
| | | dfphCaseTask.setNodeId(dfpFlowNode.getNodeId()); |
| | | dfphCaseTask.setNodeName(dfpFlowNode.getNodeName()); |
| | | dfphCaseTask.setFlowId(dfpFlowNode.getFlowId()); |
| | | dfphCaseTask.setNodeShowName(dfpFlowNode.getNodeShowName()); |
| | | dfphCaseTask.setCaseTaskType(htshCaseTask.getCaseTaskType()); |
| | | // 受理任务,任务候选执行者类型是上一步骤选择 |
| | | dfphCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1); |
| | | dfphCaseTask.setCandeUnitId(loginUser.getUnitId()); |
| | | dfphCaseTask.setCandeUnitName(loginUser.getUnitName()); |
| | | // 受理后的任务,不需要签收 |
| | | dfphCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0); |
| | | // 任务处理时限 |
| | | if (dfpFlowNode.getExpire() != 0) { |
| | | dfphCaseTask.setExpireTime(DateUtils.addDay(nowDate, dfpFlowNode.getExpire())); |
| | | } |
| | | dfphCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1); |
| | | dfphCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); |
| | | dfphCaseTask.setCustId(dfphCaseTask.getCustId()); |
| | | dfphCaseTask.setCreateTime(nowDate); |
| | | dfphCaseTask.setUpdateTime(nowDate); |
| | | mapper.insert(dfphCaseTask); |
| | | // 更新纠纷信息 |
| | | CaseInfo caseInfoPO = new CaseInfo(); |
| | | caseInfoPO.setId(htshCaseTask.getCaseId()); |
| | | caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_1.getIndex()); |
| | | caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_1.getDes()); |
| | | caseInfoPO.setProcess(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getIndex()); |
| | | caseInfoPO.setProcessName(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getDes()); |
| | | caseInfoPO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getIndex()); |
| | | caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes()); |
| | | caseInfoPO.setUpdateTime(nowDate); |
| | | caseInfoService.updateCaseInfo(caseInfoPO); |
| | | } |
| | | dfphCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1); |
| | | dfphCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0); |
| | | dfphCaseTask.setCustId(dfphCaseTask.getCustId()); |
| | | dfphCaseTask.setCreateTime(nowDate); |
| | | dfphCaseTask.setUpdateTime(nowDate); |
| | | mapper.insert(dfphCaseTask); |
| | | // 更新纠纷信息 |
| | | CaseInfo caseInfoPO = new CaseInfo(); |
| | | caseInfoPO.setId(htshCaseTask.getCaseId()); |
| | | caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_1.getIndex()); |
| | | caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_1.getDes()); |
| | | caseInfoPO.setProcess(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getIndex()); |
| | | caseInfoPO.setProcessName(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getDes()); |
| | | caseInfoPO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getIndex()); |
| | | caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes()); |
| | | caseInfoPO.setUpdateTime(nowDate); |
| | | caseInfoService.updateCaseInfo(caseInfoPO); |
| | | }else { |
| | | // 审核不通过 |
| | | // 完成当前回退审核任务 |
| | | CaseTask sbshCaseTaskPO = new CaseTask(); |
| | | sbshCaseTaskPO.setId(caseReturn.getCaseTaskId()); |
| | | sbshCaseTaskPO.setStatus(CaseTaskConsts.TASK_STATUS_2); |
| | | sbshCaseTaskPO.setHandleUnitId(loginUser.getUnitId()); |
| | | sbshCaseTaskPO.setHandleUnitName(loginUser.getUnitName()); |
| | | sbshCaseTaskPO.setHandleUserId(loginUser.getId()); |
| | | sbshCaseTaskPO.setHandleUserName(loginUser.getTrueName()); |
| | | sbshCaseTaskPO.setHandleContent(caseReturn.getAuditContent()); |
| | | sbshCaseTaskPO.setHandleResult(CaseTaskConsts.HANDLE_RESULT_2); |
| | | sbshCaseTaskPO.setHandleTime(nowDate); |
| | | sbshCaseTaskPO.setUpdateTime(nowDate); |
| | | mapper.updateCaseTask(sbshCaseTaskPO); |
| | | CaseTask htshCaseTaskPO = new CaseTask(); |
| | | htshCaseTaskPO.setId(caseReturn.getCaseTaskId()); |
| | | htshCaseTaskPO.setStatus(CaseTaskConsts.TASK_STATUS_2); |
| | | htshCaseTaskPO.setHandleUnitId(loginUser.getUnitId()); |
| | | htshCaseTaskPO.setHandleUnitName(loginUser.getUnitName()); |
| | | htshCaseTaskPO.setHandleUserId(loginUser.getId()); |
| | | htshCaseTaskPO.setHandleUserName(loginUser.getTrueName()); |
| | | htshCaseTaskPO.setHandleContent(caseReturn.getAuditContent()); |
| | | htshCaseTaskPO.setHandleResult(CaseTaskConsts.HANDLE_RESULT_2); |
| | | htshCaseTaskPO.setHandleTime(nowDate); |
| | | htshCaseTaskPO.setUpdateTime(nowDate); |
| | | mapper.updateCaseTask(htshCaseTaskPO); |
| | | CaseReturn btyCaseReturn = caseReturnService.getById(caseReturn.getId()); |
| | | CtUnitDTO returnUnit = custClient.getUnitById(btyCaseReturn.getReturnUnitId()); |
| | | String operation = FlowableConsts.OPERATION_htsh_bty; |
| | |
| | | dslCaseTask.setNodeName(dslFlowNode.getNodeName()); |
| | | dslCaseTask.setFlowId(dslFlowNode.getFlowId()); |
| | | dslCaseTask.setNodeShowName(dslFlowNode.getNodeShowName()); |
| | | dslCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1); |
| | | dslCaseTask.setCaseTaskType(htshCaseTask.getCaseTaskType()); |
| | | // 受理任务,任务候选执行者类型是上一步骤选择 |
| | | dslCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1); |
| | | dslCaseTask.setCandeUnitId(btyCaseReturn.getReturnUnitId()); |
| | |
| | | mapper.insert(dslCaseTask); |
| | | } |
| | | }catch (Exception e){ |
| | | log.error("[CaseTaskService.webAppearAudit]调用失败,异常信息:"+e, e); |
| | | throw new ServiceException("CaseTaskService.webAppearAudit", e); |
| | | log.error("[CaseTaskService.webReturnAudit]调用失败,异常信息:"+e, e); |
| | | throw new ServiceException("CaseTaskService.webReturnAudit", e); |
| | | } |
| | | } |
| | | |