flowable实现退回
时间: 2023-10-18 13:05:22 浏览: 83
Flowable是一个流程引擎,可以通过其提供的API实现流程的退回功能。在Flowable中,可以使用以下两种方式实现退回:
1. 直接跳转到指定节点:可以通过设置任务的目标节点ID,使用`taskService.createTaskQuery()`方法获取当前任务,再使用`taskService.setVariable()`方法设置退回原因等变量,最后使用`taskService.complete()`方法完成任务,将任务直接跳转到指定节点。
2. 创建新的退回任务:可以使用`runtimeService.createProcessInstanceModification()`方法创建一个新的流程实例变更对象,通过`cancelAllForActivity()`方法取消当前节点及其后续节点的所有任务,再通过`startBeforeActivity()`方法创建一个新的任务,并将其指定为退回节点。最后,可以使用`setVariable()`方法设置退回原因等变量,使用`execute()`方法执行流程实例变更。
需要注意的是,在使用退回功能时,需要考虑流程实例的状态、历史记录等因素,以保证流程的正确性和完整性。同时,应该根据具体的业务需求,选择合适的退回方式和实现方法。