若离RuoLi 2024-08-19 10:37 采纳率: 50%
浏览 6

activiti5 个人查看已办

activiti5当审批节点到达本人时,可以从待办看到数据,也可以查看本条的审批记录,但是一旦审批通过,就无法从待办中查看数据。
怎么从历史记录表中查找自己的审批记录呢
配置

@Bean
    public ProcessEngineConfiguration processEngineConfiguration(DataSource dataSource, PlatformTransactionManager transactionManager) {
        SpringProcessEngineConfiguration processEngineConfiguration = new SpringProcessEngineConfiguration();
//...
        processEngineConfiguration.setHistory("full");
//...
        return processEngineConfiguration;
    }

获取个人已办

List<HistoricTaskInstance> list = historyService.createHistoricTaskInstanceQuery().taskAssignee("123").list();//审批人id

但是拿到的list是空的。
目前系统设计的是,有一个提交人的提交审批表,记录了提交人id,我可以通过这个id做一个提交人的已办,但是审批人就没办法了,请问怎么拿到审批人的个人已办呢?

  • 写回答

1条回答 默认 最新

  • 何事_ 2024-08-19 10:37
    关注

    以下回复参考:皆我百晓生券券喵儿等免费微信小程序作答:

    要解决这个问题,我们需要修改processEngineConfiguration中的history属性值为partial,这样在没有审批的情况下,用户仍然可以查看他们的个人已办任务。然后我们可以在createHistoricTaskInstanceQuery方法中添加一个参数assigneeId来过滤出只包含当前用户的任务。

    以下是修改后的代码示例:

    @Bean
    public ProcessEngineConfiguration processEngineConfiguration(DataSource dataSource, PlatformTransactionManager transactionManager) {
        SpringProcessEngineConfiguration processEngineConfiguration = new SpringProcessEngineConfiguration();
        //...
        processEngineConfiguration.setHistory("partial"); // 更改为"partial"
        //...
        return processEngineConfiguration;
    }
    

    接下来,我们需要创建一个新的查询来获取只包含当前用户的已办任务。这将包括未完成的任务以及已完成但尚未关闭的审批。

    List<HistoricTaskInstance> list = historyService.createHistoricTaskInstanceQuery()
        .taskAssignee("123") // 批准人ID
        .list(); // 获取所有符合条件的任务实例
    

    这样,你就得到了仅属于当前用户的已办任务列表。

    评论

报告相同问题?

问题事件

  • 创建了问题 8月19日

悬赏问题

  • ¥15 Mac版Fiddler Everywhere4.0.1提示强制更新
  • ¥15 android 集成sentry上报时报错。
  • ¥50 win10链接MySQL
  • ¥35 跳过我的世界插件ip验证
  • ¥15 抖音看过的视频,缓存在哪个文件
  • ¥15 自定义损失函数报输入参数的数目不足
  • ¥15 如果我想学习C大家有是的的资料吗
  • ¥15 根据文件名称对文件进行排序
  • ¥15 deploylinux的ubuntu系统无法成功安装使用MySQL❓
  • ¥15 有人会用py或者r画这种图吗