| | |
| | | processVariables.put(BpmnVariableConstants.PROCESS_INSTANCE_VARIABLE_START_USER_ID, loginUserId); |
| | | } |
| | | // 1.3 读取其它相关数据 |
| | | ProcessDefinition processDefinition = processDefinitionService.getProcessDefinition( |
| | | historicProcessInstance != null ? historicProcessInstance.getProcessDefinitionId() |
| | | : reqVO.getProcessDefinitionId()); |
| | | String processDefinitionId = historicProcessInstance != null |
| | | ? historicProcessInstance.getProcessDefinitionId() : reqVO.getProcessDefinitionId(); |
| | | ProcessDefinition processDefinition = processDefinitionService.getProcessDefinition(processDefinitionId); |
| | | if (processDefinition == null) { |
| | | // 流程定义不存在时返回明确的业务错误,避免 NPE / Flowable 异常变成 500「系统异常」 |
| | | throw exception(ErrorCodeConstants.PROCESS_DEFINITION_NOT_EXISTS); |
| | | } |
| | | BpmProcessDefinitionInfoDO processDefinitionInfo = processDefinitionService |
| | | .getProcessDefinitionInfo(processDefinition.getId()); |
| | | BpmnModel bpmnModel = processDefinitionService.getProcessDefinitionBpmnModel(processDefinition.getId()); |
| | |
| | | // 获得流程定义 |
| | | ProcessDefinition definition = processDefinitionService |
| | | .getProcessDefinition(createReqVO.getProcessDefinitionId()); |
| | | if (definition == null) { |
| | | throw exception(ErrorCodeConstants.PROCESS_DEFINITION_NOT_EXISTS); |
| | | } |
| | | // 发起流程 |
| | | return createProcessInstance0(userId, definition, createReqVO.getVariables(), null, |
| | | createReqVO.getStartUserSelectAssignees()); |