>[warning]注意:在实际应用中,完成任务前需要校验任务的负责人是否具有该任务的办理权限 。
:-: ![](https://img.kancloud.cn/29/02/29024480e2c69b430a9d441e1767364b_1156x215.png)
`evectionProcess.bpmn`
```java
public class TestPersonalTaskList {
/**
* 完成任务,判断当前用户是否有权限
*/
@Test
public void completTask() {
//1、获取processEngine
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
//2、获取TaskService
TaskService taskService = processEngine.getTaskService();
//3、根据任务id和任务负责人查询待完成任务
Task task = taskService.createTaskQuery()
.taskId("7505") //任务id
.taskAssignee("张三") //任务负责人
.singleResult();
//4、如果为null就是没有任务或者没有权限执行该任务
if (task != null) {
taskService.complete("7505");
//张三完成了任务7505
System.out.println(task.getAssignee() + "完成了任务" + task.getId());
} else {
System.out.println("张三没有id=7505的任务!");
}
}
}
```
- Activiti流程引擎
- 工作流介绍
- Activiti是什么
- Activiti流程处理步骤
- Activiti环境搭建
- 搭建步骤
- 表结构介绍
- ActivitiAPI结构
- 认识流程符号
- 流程设计器的使用
- 流程处理步骤
- 乱码问题
- 流程实例
- 流程实例是什么
- 业务标识
- 查询流程实例
- 挂起/激活流程实例
- 个人任务
- 分配任务负责人
- 查询待办任务
- 办理权限
- 流程变量
- 流程变量类型
- 流程变量作用域
- 使用流程变量控制流程
- 组任务
- 设置任务候选人
- 组任务办理流程
- 网关
- 4种网关类型
- 排他网关
- 并行网关
- 包含网关
- 事件网关
- Spring整合Activiti
- SpringBoot整合Activiti
- Flowable流程引擎
- Flowable是什么
- Flowable与Activiti
- Flowable环境搭建
- FlowableAPI
- 流程引擎API与服务
- 流程处理步骤
- 流程部署
- 流程部署方式
- 流程定义版本
- 删除已部署的流程
- 下载资源
- 流程实例
- 什么是流程实例
- 业务标识
- 查询流程实例
- 挂起/激活流程实例
- 分配任务负责人
- 固定分配
- UEL表达式分配
- 监听器分配
- 办理权限
- 流程变量
- 流程变量类型
- 流程变量作用域
- 流程变量控制流程
- 组任务
- 设置任务候选人
- 组任务办理流程
- 网关
- 排他网关
- 并行网关
- 包含网关
- 事件网关
- 历史查询
- 查询历史
- Spring整合Flowable
- 配置文件整合
- 配置类整合
- SpringBoot整合Flowable