flowable 判断多实例节点是否完成
时间: 2023-08-02 20:26:08 浏览: 153
在Flowable中,可以使用`Execution`和`Task`两个类来判断多实例节点是否完成。
对于`Execution`对象,可以通过以下方法来获取多实例节点的状态:
```Java
// 获取当前执行实例的所有子执行实例
List<Execution> childExecutions = runtimeService.createExecutionQuery()
.parentId(executionId)
.list();
// 遍历所有子执行实例
for (Execution childExecution : childExecutions) {
// 如果子执行实例还没有完成,则多实例节点还没有完成
if (!childExecution.isEnded()) {
System.out.println("多实例节点还没有完成");
break;
}
}
```
对于`Task`对象,可以通过以下方法来获取多实例任务的状态:
```Java
// 获取当前任务的所有子任务
List<Task> subTasks = taskService.createTaskQuery()
.parentTaskId(taskId)
.list();
// 遍历所有子任务
for (Task subTask : subTasks) {
// 如果子任务还没有完成,则多实例节点还没有完成
if (!subTask.isCompleted()) {
System.out.println("多实例节点还没有完成");
break;
}
}
```
需要注意的是,以上代码只是判断多实例节点是否完成的一种方式,具体实现还需要根据业务需求进行调整。