Activiti7工作流引擎:进阶篇 CallActivityTask
Posted vbirdbest
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Activiti7工作流引擎:进阶篇 CallActivityTask相关的知识,希望对你有一定的参考价值。
方法之间可以相互调用,同理,流程定义之间也可以相关调用,达到流程定义复用的目的。
一:流程定义1
二:流程定义2
Called Element: 调用其它流程,值为其它流程Id。
三:启动和启动流程
@Test
public void delopyAllBpmn()
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
processEngine.getRepositoryService()
.createDeployment()
.addClasspathResource("bpmn/LeaveProcess2.bpmn")
.name("请假流程")
.deploy();
processEngine.getRepositoryService()
.createDeployment()
.addClasspathResource("bpmn/LeaveProcess1.bpmn")
.name("请假流程2")
.deploy();
@Test
public void startProcessInstance()
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
processEngine.getRuntimeService()
.startProcessInstanceByKey("LeaveProcess1");
四:发起申请
@Test
public void testApplyTask()
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
TaskService taskService = processEngine.getTaskService();
Task task = taskService
.createTaskQuery()
.singleResult();
taskService.setAssignee(task.getId(), "zhangsan");
taskService.complete(task.getId());
张三发起请假流程,然后并审核自己,进入下一个节点,直接进入了LeaveProcess2.bpmn文件中定义的第一个流程。
五:经理审批
@Test
public void testPMTask()
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
TaskService taskService = processEngine.getTaskService();
Task task = taskService
.createTaskQuery()
.singleResult();
taskService.setAssignee(task.getId(), "pm");
taskService.complete(task.getId());
经理审批完,又回到了LeaveProcess1.bpmn中的人事审批了。
以上是关于Activiti7工作流引擎:进阶篇 CallActivityTask的主要内容,如果未能解决你的问题,请参考以下文章
Activiti7工作流引擎:进阶篇 SpringBoot整合工作流Activiti7