点击▲关注 “爪哇笔记” 给公众号标星置顶
更多精彩 第一时间直达
前言
在工作流中,最常用的就是待办任务列表了,如果你仅仅是通过 Activiti 自带的 API 进行查询,大多数情况下查询的数据会不准确。
案例
API:
//查询待办任务
taskService.createTaskQuery().taskCandidateOrAssigned(userId);
SQL:
首先查询用户所在组权限
SELECT
g.*
FROM ACT_ID_GROUP g,
ACT_ID_MEMBERSHIP membership
WHERE g.ID_ = membership.GROUP_ID_
AND membership.USER_ID_ = ?
如果存在角色
SELECT DISTINCT
RES.*
FROM ACT_RU_TASK RES
LEFT JOIN ACT_RU_IDENTITYLINK I
ON I.TASK_ID_ = RES.ID_
WHERE (RES.ASSIGNEE_ = ?
O