Activiti7工作流引擎:高阶篇 内嵌子流程 SubProcess

Posted vbirdbest

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Activiti7工作流引擎:高阶篇 内嵌子流程 SubProcess相关的知识,希望对你有一定的参考价值。

为什么普通人要想成佛就得经过九九八十一难,
而坏人只需要放下屠刀就能立地成佛呢?

一:定义.bpmn文件

二:启动并完成第一个任务

@Test
void testStartAndComplete() 
	runtimeService.startProcessInstanceByKey("SubProcessExample");
	Task task = taskService.createTaskQuery().processDefinitionKey("SubProcessExample")
			.taskAssignee("zhangsan")
			.singleResult();
	taskService.complete(task.getId());

zhangsan完成任务后进入了子流程的第一个节点(内部审核)。

内嵌子流程启动了一个父流程实例,也启动了一个子流程实例,子流程实例隶属于父流程实例PARENT_ID_。而调用子流程CallActivityTask的SUPER_EXEC_是有值的。

三:完成内部审核

public void testCompleteTask() 
	Task task = taskService.createTaskQuery().processDefinitionKey("SubProcessExample")
			.taskAssignee("lisi")
			.singleResult();
	taskService.complete(task.getId());

五:最终审核

@Test
public void testCompleteTask() 
	Task task = taskService.createTaskQuery().processDefinitionKey("SubProcessExample")
			.taskAssignee("wangwu")
			.singleResult();
	taskService.complete(task.getId());

调用子流程:多个流程之间相互独立,会分别启动多个流程实例。
内嵌子流程:嵌套之流程只能在当前流程中使用,不能被其它流程调用,只启动一个实例。

以上是关于Activiti7工作流引擎:高阶篇 内嵌子流程 SubProcess的主要内容,如果未能解决你的问题,请参考以下文章

Activiti7工作流引擎:高阶篇 CallActivityTask 子流程跳转到父流程

Activiti7工作流引擎:高阶篇 CallActivityTask 子流程跳转到父流程

Activiti7工作流引擎:高阶篇 ProcessDefinitionUtil

Activiti7工作流引擎:高阶篇 ProcessDefinitionUtil

Activiti7工作流引擎:高阶篇 前进和后退任务

Activiti7工作流引擎:高阶篇 前进和后退任务