Activiti7查看已办任务的操作

本文介绍了如何通过Java代码利用historyService获取登录用户的已完成任务,包括查询条件(指定审批人、结束时间排序和过滤撤销任务)、以及获取任务创建人信息的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、获取已办任务

通过historyService进行获取已办任务

首先获取登录人的username

//获取登录人的username
LoginUser loginUser = SecurityUtils.getLoginUser();
        SysUser sysUser = loginUser.getSysUser();
        securityUtil.logInAs(sysUser.getUserName());
       

通过history根据获取到的username来获取已经完成的task列表

//通过historyServce获取任务列表
List<HistoricTaskInstance> list = historyService.createHistoricTaskInstanceQuery()
                //添加审批人username获取特定task
                .taskAssignee(sysUser.getUserName())
                //获取已经完成的任务
                .finished()
                //根据结束时间进行倒序排序
                .orderByHistoricTaskInstanceEndTime()
                .desc()
                //进行分页操作
                .list();

可以通过流来过滤掉主动撤销的完成任务

List<HistoricTaskInstance> collect = list.stream().filter(ht -> {
            //deleteReason为空时,表示没有撤销
            return ht.getDeleteReason() == null;
        }).collect(Collectors.toList());

通过查出的task中的instanceId可以获取创建人id

//获取历史流程
HistoricProcessInstance processInstance = historyService.createHistoricProcessInstanceQuery()
.processInstanceId(item.getProcessInstanceId()).singleResult();
//获取流程创建人id
String startUserId = processInstance.getStartUserId();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

weixin_50568029

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值