工作流activiti笔记(六)已办列表

待办列表可以用 taskService.createTaskQuery()

但是已办列表就比较麻烦了。为什么呢?直接查询act_hi_procinst是不行的,已办要查询每个环节是否有当前登录工号处理过的记录,那这个记录是在act_hi_taskinst里的。

方式一:left join (不满足分页要求)

select * from act_hi_procinst left join act_hi_taskinst on ahp.PROC_INST_ID_ =aht.PROC_INST_ID_  

这样写是没问题的,但是列表这东西不可能说不分页,一分页,由于它们是一对多的关系,因此就会出现一页中条数变少的问题,这个大家都懂,不懂的去补一下知识。

方式二:mybatis collection子查询 (不满足处理人条件过滤)

collection子查询是先查询主表,再根据主表查询结果再去查子表,因此现在子表act_hi_taskinst要过滤处理人条件,无法实现。

方式三:最终方案

select aa.NAME_  as '当前环节',aa.ASSIGNEE_ as '当前环节处理人',aa.START_TIME_ as '当前环节到达时间' ,aa.end_time_,ahp.*
from act_hi_procinst ahp 
left join(
select aht.* from act_hi_taskinst aht where aht.START_TIME_ in(
select max(aht1.START_TIME_) from act_hi_taskinst aht1 where aht1.PROC_INST_ID_ in(
select   PROC_INST_ID_   from act_hi_taskinst aht2 where aht2.ASSIGNEE_ ='张三'
 )
 group by aht1.PROC_INST_ID_
 )
) aa  on ahp.PROC_INST_ID_ =aa.P
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值