flowable实现流程回退功能
时间 2021-01-19
标签
flowable
回退
跳转
1、自己新写了一个Command,需要实现org.flowable.engine.common.impl.interceptor.Command
接口,覆盖其execute
方法,并增加一个有参构造方法
2、通过flowable的org.flowable.engine.ManagementService,调用自己写的Command,实现回退。
manageMentService.executeCommand(new JumpCmd(flowElement,currentTask,hisTaskEntity));
//第一个参数flowElement是需要跳转到的节点信息,这里因为要求的是回退到上一节点,所以这里只上一节点信息
//第二个参数是值当前任务实体
//第三个参数指需要跳转到的节点的任务实体,这里指上一节点的任务实体
说明:对于无分支的流程,需要回退到上一节点,可以直接利用flowable现有的API,调用方法如下:
runtimeService.createChangeActivityStateBuilder().processInstanceId(processInstanceId).cancelActivityId(currentNode).startActivityId(beforeNode).changeState();