flowable 根据流程实例id获取任务节点下的多实例标签属性
时间: 2023-10-09 22:17:23 浏览: 267
您好!根据流程实例id获取任务节点下的多实例标签属性可以通过流程引擎提供的API进行操作,具体步骤如下:
1. 获取流程实例的所有任务节点
您可以根据流程实例ID获取当前流程实例的所有任务节点,方法如下:
```
List<Task> taskList = taskService.createTaskQuery()
.processInstanceId(processInstanceId)
.list();
```
其中,`processInstanceId`为流程实例的ID。
2. 获取任务节点的多实例标签属性
在获取到任务节点列表后,您可以遍历所有任务节点,然后通过`task.getVariableLocal("multiInstance")`获取每个任务节点的多实例标签属性,其中`multiInstance`为多实例标签的名称。
您可以在任务节点的XML配置文件中添加`multiInstance`标签,如下所示:
```
<userTask id="task1" name="Task 1">
<multiInstanceLoopCharacteristics isSequential="false" flowable:collection="users" flowable:elementVariable="user">
<completionCondition>${nrOfCompletedInstances/nrOfInstances >= 0.6}</completionCondition>
</multiInstanceLoopCharacteristics>
</userTask>
```
在上面的XML配置中,`multiInstance`标签的属性`flowable:collection`表示多实例的数据源,`flowable:elementVariable`表示多实例的元素变量,`isSequential`表示多实例的执行方式(顺序或并行),`completionCondition`表示多实例的完成条件。
您可以根据实际需求来修改`multiInstance`标签的属性,然后在任务监听器中获取相应的多实例标签属性。
阅读全文