flowable 待办里有没有实例di
时间: 2023-07-27 10:23:37 浏览: 53
在Flowable中,待办任务中包含有关任务本身的信息,例如任务ID、任务名称、任务创建时间、任务描述等等。但是,待办任务并不包含关于流程实例的信息,例如流程实例ID、流程定义ID等等。
如果需要获取与某个待办任务相关的流程实例信息,可以通过查询流程实例对象来实现。具体步骤如下:
1. 获取待办任务对象。可以使用`TaskService`提供的`createTaskQuery`方法,通过`taskId`参数查询待办任务对象。
```java
Task task = taskService.createTaskQuery()
.taskId(taskId)
.singleResult();
```
2. 根据待办任务对象获取流程实例ID。可以通过待办任务对象的`getProcessInstanceId`方法获取流程实例ID。
```java
String processInstanceId = task.getProcessInstanceId();
```
3. 根据流程实例ID查询流程实例对象。可以使用`RuntimeService`提供的`createProcessInstanceQuery`方法,通过`processInstanceId`参数查询流程实例对象。
```java
ProcessInstance processInstance = runtimeService.createProcessInstanceQuery()
.processInstanceId(processInstanceId)
.singleResult();
```
4. 对查询结果进行处理,获取流程实例相关的信息。
下面是一个示例代码,用于获取某个待办任务相关的流程实例信息:
```java
String taskId = "123"; // 待查询的任务ID
Task task = taskService.createTaskQuery()
.taskId(taskId)
.singleResult();
String processInstanceId = task.getProcessInstanceId();
ProcessInstance processInstance = runtimeService.createProcessInstanceQuery()
.processInstanceId(processInstanceId)
.singleResult();
String processDefinitionId = processInstance.getProcessDefinitionId();
```
该代码通过查询待办任务对象,获取其关联的流程实例ID,然后再根据流程实例ID查询流程实例对象。最终返回的是该流程实例的相关信息,例如流程定义ID等等。