flowable 多实例并行 判断还有几个审批人
时间: 2023-07-28 17:07:16 浏览: 147
在Flowable中,可以使用`Execution`和`Task`两个类来判断多实例并行节点还有几个审批人。
对于`Execution`对象,可以通过以下方法来获取当前多实例节点中还有几个审批人:
```Java
// 获取当前执行实例的所有子执行实例
List<Execution> childExecutions = runtimeService.createExecutionQuery()
.parentId(executionId)
.list();
int remainingInstances = 0;
// 遍历所有子执行实例
for (Execution childExecution : childExecutions) {
// 如果子执行实例还没有完成,则数量加1
if (!childExecution.isEnded()) {
remainingInstances++;
}
}
System.out.println("还有 " + remainingInstances + " 个审批人需要审批");
```
对于`Task`对象,可以通过以下方法来获取当前多实例任务中还有几个审批人:
```Java
// 获取当前任务的所有子任务
List<Task> subTasks = taskService.createTaskQuery()
.parentTaskId(taskId)
.list();
int remainingInstances = subTasks.size();
// 遍历所有子任务
for (Task subTask : subTasks) {
// 如果子任务已经完成,则数量减1
if (subTask.isCompleted()) {
remainingInstances--;
}
}
System.out.println("还有 " + remainingInstances + " 个审批人需要审批");
```
需要注意的是,以上代码只是判断多实例并行节点还有几个审批人的一种方式,具体实现还需要根据业务需求进行调整。
阅读全文