需求
用户登录系统后,发现待办任务,然后去执行该任务
涉及到的表
act_hi_taskinst:对于已经完成的任务,加以结束时间,并插入下一级任务待办人
act_hi_actinst:对于已经完成的任务,加以结束时间,并插人下一级任务待办人,这个表和上个表的区别就是,本章表加入了启动实例开始结束时间
act_ru_task:更新当前任务执行人
act_ru_execution:更新任务执行到哪一步(act_id)
方案
根据任务当前负责人和当前任务id,依赖taskservice服务,进行任务完成操作
代码
//办理任务
@Test
public void completeTask(){
//查询任务使用taskservice
TaskService taskService = processEngine.getTaskService();
//任务id
String taskId = "2302";
//任务办理人
String assignee = "wangwu";
//根据任务id和assignee查询该任务
Task task = taskService
.createTaskQuery()
.taskId(taskId)
.taskAssignee(assignee)
.singleResult();
if (task != null) {
//说明assignee是该任务的办理人,有权限完成
taskService.complete(taskId);
System.out.println("完成任务:" + taskId);
}
}