- 工作流结束流程,原理是将当前进行中的节点全部跳转到结束节点。
其中单分支和多分支执行,跳转的API是不同的,这点需要注意。
/**
* 获取结束节点
* @param processInstanceId
* @return
*/
public FlowElement getEndFlowElement(String processInstanceId) {
RuntimeService runtimeService = SpringUtil.getBean(RuntimeService.class);
ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().processInstanceId(processInstanceId).singleResult();
BpmnModel bpmnModel = repositoryService.getBpmnModel(processInstance.getProcessDefinitionId());
Collection<FlowElement> flowElements = bpmnModel.getMainProcess().getFlowElements();
for(FlowElement element : flowElements)