flowable如何驳回
时间: 2023-12-05 11:23:06 浏览: 137
flowable高亮流程已执行节点及连线.txt
在Flowable中,驳回操作通常是通过撤销当前任务并将流程实例返回到之前的任务节点来实现的。具体步骤如下:
1. 首先,需要查询当前待办任务的ID和流程实例ID。
2. 调用`runtimeService.createProcessInstanceQuery().processInstanceId(processInstanceId).singleResult()`方法获取当前流程实例的信息。
3. 调用`taskService.createTaskQuery().processInstanceId(processInstanceId).singleResult()`方法获取当前待办任务的信息。
4. 调用`repositoryService.getBpmnModel(processDefinitionId)`方法获取当前流程定义的BPMN模型。
5. 根据BPMN模型获取当前任务的上一级任务节点。
6. 调用`taskService.addComment(taskId, processInstanceId, "驳回", comment)`方法添加一条评论。
7. 调用`taskService.complete(taskId)`方法完成当前任务。
8. 调用`runtimeService.createProcessInstanceModification(processInstanceId).cancelAllForActivity(task.getTaskDefinitionKey()).startBeforeActivity(previousTask.getTaskDefinitionKey()).execute()`方法撤销当前任务并将流程实例返回到上一级任务节点。
注意:如果要实现驳回操作,必须保证流程实例没有结束,否则无法进行撤销操作。
阅读全文