根据流程实例查询activi中act_ru_task数据
时间: 2023-10-03 09:11:00 浏览: 40
要查询Activiti中的`act_ru_task`表,可以使用以下SQL语句:
```
SELECT * FROM act_ru_task WHERE proc_inst_id = #{processInstanceId}
```
其中,`#{processInstanceId}`是流程实例的ID,可以根据自己的实际情况传入。
如果你使用的是Mybatis框架,可以在Mapper文件中编写以下SQL语句:
```
<select id="getTasksByProcessInstanceId" resultType="org.activiti.engine.task.Task">
SELECT * FROM act_ru_task WHERE proc_inst_id = #{processInstanceId}
</select>
```
然后在Java代码中调用此方法即可查询到相应的任务。
相关问题
java代码实现根据流程实例查询activi中act_ru_task数据
可以使用 Activiti 提供的 API 进行查询,以下是一个简单的 Java 代码示例:
```java
import org.activiti.engine.ProcessEngine;
import org.activiti.engine.ProcessEngines;
import org.activiti.engine.task.Task;
import java.util.List;
public class QueryTasksByProcessInstance {
public static void main(String[] args) {
// 获取流程引擎实例
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
// 根据流程实例 ID 查询任务
String processInstanceId = "123456";
List<Task> taskList = processEngine.getTaskService().createTaskQuery()
.processInstanceId(processInstanceId)
.list();
// 遍历任务列表并输出任务信息
for (Task task : taskList) {
System.out.println("任务 ID:" + task.getId());
System.out.println("任务名称:" + task.getName());
System.out.println("任务创建时间:" + task.getCreateTime());
System.out.println("任务处理人:" + task.getAssignee());
}
}
}
```
以上代码中,我们通过 `processEngine.getTaskService().createTaskQuery().processInstanceId(processInstanceId).list()` 方法查询指定流程实例中的任务,结果是一个任务列表。遍历列表后可以获取任务的相关信息,如任务 ID、任务名称、任务创建时间和任务处理人等。
ACT_RU_TASK
ACT_RU_TASK 是 Activiti Workflow Engine 中的一个数据库表,用于存储运行时任务的信息。该表包含了任务的唯一标识、所属流程实例的ID、任务名称、任务描述、任务创建时间、任务到期时间等信息。通过查询 ACT_RU_TASK 表,可以获取当前待办的任务列表、已完成的任务列表以及任务的详细信息等。