flowable 根据流程实例id 查询参数nrOfCompletedInstances
时间: 2023-08-04 20:05:54 浏览: 57
可以通过调用 Flowable 的 API 来根据流程实例 ID 查询参数 nrOfCompletedInstances。具体的代码示例可以参考下面的 Java 代码:
```
RuntimeService runtimeService = processEngine.getRuntimeService();
ProcessInstance processInstance = runtimeService.createProcessInstanceQuery()
.processInstanceId(processInstanceId)
.singleResult();
if (processInstance != null) {
int nrOfCompletedInstances = runtimeService.getVariable(processInstance.getId(), "nrOfCompletedInstances");
// 处理 nrOfCompletedInstances 的值
} else {
// 流程实例不存在的处理逻辑
}
```
其中,processInstanceId 是要查询的流程实例 ID,nrOfCompletedInstances 是要查询的参数名称。如果流程实例不存在,则会返回 null。
相关问题
flowable 根据流程实例id 查询当前多实例节点的完成数
可以使用Flowable的API来查询当前多实例节点的完成数,具体步骤如下:
1. 首先根据流程实例id获取当前的流程实例对象:
```
ProcessInstance processInstance = runtimeService.createProcessInstanceQuery()
.processInstanceId(processInstanceId)
.singleResult();
```
2. 然后根据流程实例对象获取当前正在执行的任务:
```
List<Task> tasks = taskService.createTaskQuery()
.processInstanceId(processInstance.getId())
.list();
```
3. 遍历任务列表,获取每个任务节点的多实例信息:
```
for (Task task : tasks) {
MultiInstanceLoopCharacteristics multiInstance =
(MultiInstanceLoopCharacteristics)
((ExecutionEntity) runtimeService.createExecutionQuery()
.executionId(task.getExecutionId())
.singleResult()).getActivity().getProperty("multiInstanceLoopCharacteristics");
if (multiInstance != null) {
int completedInstances = multiInstance.getCompletedCount();
int nrOfInstances = multiInstance.getLoopCardinality();
// completedInstances 即为当前多实例节点的完成数
// nrOfInstances 即为多实例节点的总数
}
}
```
通过以上步骤,即可查询到当前多实例节点的完成数。注意,如果当前节点不是多实例节点,则会返回null。
flowable 根据实例id查询流程实例
您好!根据实例id查询流程实例可以使用Flowable提供的查询API,如下所示:
```
ProcessInstance processInstance = runtimeService.createProcessInstanceQuery()
.processInstanceId(instanceId)
.singleResult();
```
其中,`instanceId`为流程实例的ID。这个方法会返回一个`ProcessInstance`对象,您可以通过该对象获取流程实例的各种信息。如果找不到对应的流程实例,返回值为`null`。