说明:userId代表用户登录名,就是将系统用户同步到activiti用户中的id
1.activiti查询未签收任务:TaskQuery toClaimQuery = taskService.createTaskQuery().taskCandidateUser(userId).active()
2.activiti查询已签收任务:TaskQuery todoTaskQuery = taskService.createTaskQuery().taskAssignee(userId).active()
但是这种要分两步,有的需求是想将这两种任务合并在一起,这样更加方便,如果将两个合在一起的话 就不好分页,解决办法是运用activiti提供的原始sql,而不使用它所提供的api:
SELECT * FROM (
SELECT DISTINCT
RES1.*
FROM
ACT_RU_TASK RES1 inner join ACT_RE_PROCDEF D on RES1.PROC_DEF_ID_ = D.ID_ inner join ACT_RU_VARIABLE V ON V.PROC_INST_ID_=RES1.PROC_INST_ID_
WHERE
RES1.ASSIGNEE_ = 'wbzr' //查询用户名为wbzr的已签收任务
UNION ALL //连接
SELECT DISTINCT
RES1.*
FROM
ACT_RU_TASK RES1 inner join ACT_RE_PROCDEF D on RES1.PR