待办列表,涉及表act_run_task
@PostMapping("qryTodoList")
public R<IPage<TaskVo>> qryTodoList(@RequestBody Req flowTaskReq) {
SecurityUtil bean = SpringUtils.getBean(SecurityUtil.class);
bean.logInAs(flowTaskReq.getCandidateUser());
ProcessEngine defaultProcessEngine = ProcessEngines.getDefaultProcessEngine();
TaskService taskService = defaultProcessEngine.getTaskService();
// 创建TaskQuery查询当前用户的待办任务
int firstResult = (flowTaskReq.getPageNo() - 1) * flowTaskReq.getPageSize();
TaskQuery taskQuery = taskService.createTaskQuery();
taskQuery.taskCandidateUser(flowTaskReq.getCandidateUser());
List<Task> tasks = taskQuery.listPage(firstResult,flowTaskReq.getPageSize());
long total = taskQuery.count();
IPage<TaskVo> page = new Page<>();
List<TaskVo> list = new ArrayList<>();
// 遍历并打印任务信息
for (Task task : tasks) {
// 根据需要打印其他任务信息
list.add(toVo(task));
}
page.setRecords(list);
page.setTotal(total);
return R.ok(page);
}
private static TaskVo toVo(Task task) {
TaskVo taskVo = new TaskVo();
taskVo.setId(task.getId());
taskVo.setStartTime(task.getCreateTime());
taskVo.setName(task.getName());
taskVo.setAssignee(task.getAssignee());
taskVo.setOwner(task.getOwner());
taskVo.setProcessInstanceId(task.getProcessInstanceId());
taskVo.setProcessDefinitionId(task.getProcessDefinitionId());
taskVo.setCreateTime(task.getCreateTime());
taskVo.setDueDate(task.getDueDate());
taskVo.setTaskInstName(task.getName());
taskVo.setProcInstId(task.getProcessInstanceId());
taskVo.setExecutionId(task.getExecutionId());
return taskVo;
}