码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • flowable 监听获取流程下一节点


    1. //任务启动时监听
    2. @Component
    3. @Transactional
    4. public class StartListener implements ExecutionListener {
    5. @Autowired
    6. private RepositoryService repositoryService;
    7. @Override
    8. public void notify(DelegateExecution execution) {
    9. List<SysUserEntity> userList = Lists.newArrayList();
    10. String crruentActivityId = execution.getCurrentActivityId();
    11. BpmnModel bpmnModel = repositoryService.getBpmnModel(execution.getProcessDefinitionId());
    12. ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery()
    13. .processDefinitionId(execution.getProcessDefinitionId()).singleResult();
    14. FlowNode flowNode = (FlowNode) bpmnModel.getFlowElement(crruentActivityId);
    15. // 输出连线
    16. List<SequenceFlow> outFlows = flowNode.getOutgoingFlows();
    17. for (SequenceFlow sequenceFlow : outFlows)
    18. {
    19. // 下一个审批节点
    20. FlowElement targetFlow = sequenceFlow.getTargetFlowElement();
    21. //如果是用户任务则获取待办人或组
    22. if (targetFlow instanceof UserTask)
    23. {
    24. // 如果下个审批节点为userTask
    25. UserTask userTask = (UserTask) targetFlow;
    26. //获取用户
    27. List<String> users = userTask.getCandidateUsers();
    28. //获取组
    29. List<String> group = userTask.getCandidateGroups();
    30. for (String str : users) {
    31. userList.add(UserUtils.getByLoginName(str));
    32. }
    33. for (String str : group) {
    34. userList.addAll(UserUtils.getUserListByRoleName(str));
    35. }
    36. }
    37. }
    38. //发送消息...
    39. }
    40. }

    《心脏病学》

  • 相关阅读:
    读《沟通的方法》推荐序有感
    通过Elasticsearch 8、Kibana、Filebeat实现日志的监控及统计
    Shell脚本中2>&1、>、>>等符号到底是什么含义
    Postman常用断言功能解析
    CSS动画 transition和animation
    LeetCode第 319 场周赛题解
    【Koltin Flow(四)】Flow背压
    c语言分层理解(c语言文件操作)
    模态逻辑介绍
    内存虚拟化技术-POD和Ballooning
  • 原文地址:https://blog.csdn.net/kan_Feng/article/details/127111583
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号