目录

  • 前言
  • 一、流程xml
  • 二、测试流程
    • 1.部署流程
    • 2.启动流程
    • 3.获取任务
  • 总结

前言

本文主要演示候选组和和候选人同时使用的场景。


一、流程xml

<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:bioc="http://bpmn.io/schema/bpmn/biocolor/1.0" xmlns:flowable="http://flowable.org/bpmn" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.flowable.org/processdef"><process id="group_assignee_test" name="候选组候选人同时使用测试"><startEvent id="startNode1" name="开始"><outgoing>Flow_14bgmff</outgoing></startEvent><endEvent id="Event_1x74o82"><incoming>Flow_10icilg</incoming></endEvent><userTask id="Activity_0xiexcw" name="测试审批" flowable:candidateGroups="${group1}" flowable:candidateUsers="${user1}"><incoming>Flow_14bgmff</incoming><outgoing>Flow_10icilg</outgoing></userTask><sequenceFlow id="Flow_14bgmff" sourceRef="startNode1" targetRef="Activity_0xiexcw" /><sequenceFlow id="Flow_10icilg" sourceRef="Activity_0xiexcw" targetRef="Event_1x74o82" /></process><bpmndi:BPMNDiagram id="BPMNDiagram_flow"><bpmndi:BPMNPlane id="BPMNPlane_flow" bpmnElement="group_assignee_test"><bpmndi:BPMNEdge id="Flow_10icilg_di" bpmnElement="Flow_10icilg"><di:waypoint x="720" y="215" /><di:waypoint x="1012" y="215" /></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="Flow_14bgmff_di" bpmnElement="Flow_14bgmff"><di:waypoint x="270" y="215" /><di:waypoint x="620" y="215" /></bpmndi:BPMNEdge><bpmndi:BPMNShape id="BPMNShape_startNode1" bpmnElement="startNode1" bioc:stroke=""><omgdc:Bounds x="240" y="200" width="30" height="30" /><bpmndi:BPMNLabel><omgdc:Bounds x="242" y="237" width="23" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNShape><bpmndi:BPMNShape id="Event_1x74o82_di" bpmnElement="Event_1x74o82"><omgdc:Bounds x="1012" y="197" width="36" height="36" /></bpmndi:BPMNShape><bpmndi:BPMNShape id="Activity_1lkyh98_di" bpmnElement="Activity_0xiexcw"><omgdc:Bounds x="620" y="175" width="100" height="80" /></bpmndi:BPMNShape></bpmndi:BPMNPlane></bpmndi:BPMNDiagram>
</definitions>

里面只有一个审批节点,定义了审批人和审批组两个变量,分别是 ${group1} 和 ${user1},流程的key是 group_assignee_test

<userTask id="Activity_0xiexcw" name="测试审批" flowable:candidateGroups="${group1}" flowable:candidateUsers="${user1}">

二、测试流程

1.部署流程

@Testpublic void createDeploymentTest() {Deployment deployment = repositoryService.createDeployment().addClasspathResource("候选组候选人同时使用测试.bpmn20.xml").deploy();System.out.println(deployment.getId());}

2.启动流程

给变量 group1 赋值 “开发组,测试组”,
给变量 user1 赋值 “张三,李四”,
然后启动 group_assignee_test 流程

 @Testpublic void startProcessDefinition() {Map<String, Object> variables = new HashMap<String, Object>();variables.put("group1", "开发组,测试组");variables.put("user1", "张三,李四");ProcessInstance processInstance =runtimeService.startProcessInstanceByKey("group_assignee_test", variables);System.out.println(processInstance.getName());}

3.获取任务

(1)通过候选人 “张三” 获取任务

 @Testpublic void getTaskByCandidateUser() {List<Task> tasks = taskService.createTaskQuery().active().includeProcessVariables().taskCandidateUser("张三").includeIdentityLinks().list();System.out.println("You have " + tasks.size() + " tasks:");for (int i = 0; i < tasks.size(); i++) {System.out.println((i + 1) + ") " + tasks.get(i).getName());}}

结果能查询出任务

You have 1 tasks:
1) 测试审批

(2)通过候选组 “开发组” 获取任务

 @Testpublic void getTaskByCandidateGroup() {List<Task> tasks = taskService.createTaskQuery().active().includeProcessVariables().taskCandidateGroupIn(List.of("开发组")).includeIdentityLinks().list();System.out.println("You have " + tasks.size() + " tasks:");for (int i = 0; i < tasks.size(); i++) {System.out.println((i + 1) + ") " + tasks.get(i).getName());}}

结果,同样能够查询出该任务

You have 1 tasks:
1) 测试审批

总结

通过测试,说明工作流是支持候选人和候选组同时使用的,在一些特殊业务场景就能够使用上。

flowable 候选人候选组同时使用相关推荐

  1. activiti工作流动态绑定审批人、候选人与候选组

    引言 activiti原生的编辑器不能实现A8一样的可视化设置UserTask节点的受理人,但是业务需求是想要让用户可以动态的设置每个流程图的受理人,所以开发了节点设置审批人的功能,其中后台有职位表, ...

  2. 4.1 任务办理人,任务候选人,任务候选组

    1.定义描述 1.1 任务办理人:assignee 办理人只能指定一个人,不能使用逗号分隔. 默认执行签收操作taskService.claim(taskId, currentUserId); 在AC ...

  3. 学习记录553@flowable候选人机制

    流程 <?xml version="1.0" encoding="UTF-8"?> <definitions xmlns="http ...

  4. activiti5.22代理人、候选人改造--前端

    本文借鉴断翅绝尘Activiti流程编辑器针对自定义用户角色表优化改造一文 针对自定义的用户.角色表,对Activiti的在线流程设计器进行优化改造,使之能直接在图形界面上完成对节点办理人.候选人.候 ...

  5. flowable理论(三)工作流框架的主要功能探讨

    一.流程建模与管理功能 1.web化的流程建模:BPMN2.0规范的支持,即节点(开始事件/结束事件节点,用户任务节点,服务节点,定时任务节点,会签节点等),路由(普通路由/并行网关/排他网关),子流 ...

  6. activiti任务TASK

    一.概要 设计TASK的表主要是:ACT_RU_TASK,ACT_HI_TASKINST(见参考-activiti表): 任务主要有:人工任务(usertask),服务任务(servicetask)等 ...

  7. 《Activiti/Flowable  深入BPM工作流》-组任务的办理流程是什么?

        <Activiti/Flowable  深入BPM工作流>-组任务的办理流程是什么? 一. 问题          组任务的办理流程是什么? 二. 详情 第一步:查询组任务 指定候 ...

  8. 【flowable】九、flowable候选人和候选人组

    flowable候选人和候选人组 之前在流程定义中的任务节点设置的负责人assignee都是固定的负责人,在流程定义设计时将参与者与文件固定设置了,如需变更任务负责人需要修改流程定义,系统可扩展性差. ...

  9. activiti自定义代理人、候选人、候选组选择

    介绍 AdminEAP框架中集成了Activiti工作流组件,使用了activiti-explorer中的在线流程设计器,其中在选择代理人(审批人)中,原生的操作是输入数据,没有和系统自动关联.同时, ...

最新文章

  1. 程序员饭碗不保了?GPT-3 最强应用发布,动动手指就自动写代码的神器来了!...
  2. 利用ajax技术 实现用户注册。
  3. 什么端口可以抓LINUX,linux下抓包工具
  4. Syntax error: word unexpected (expecting ))错误的解决方法
  5. Using join buffer (Batched Key Access)
  6. Git 新建仓库推送远程技巧
  7. 深度 | 伯克利教授Stuart Russell:人工智能基础概念与34个误区
  8. 解决vue视图不渲染
  9. 安全验证框架使用笔记002---Shiro实现基本的身份验证
  10. 报童问题模型matlab,报童模型matlab
  11. 软件设计文档编写概述
  12. 美团云苏宁云倒下了,他们却顺利突围
  13. 4.5.2 地址变换机构 4.5.3  访问内存的有效时间
  14. 基于PyQt的分组工具
  15. Corel VideoStudio会声会影2020免费版+汉化包+序列号PC端电脑下载
  16. 【离散椭圆弧】将椭圆弧按弧长等分为一定数量弧上点
  17. 微盟战略进阶赢得逆势增长,WOS奠定未来生态基础
  18. 指挥系统核心服务器,应急指挥中心指挥调度系统-20210623121945.pdf-原创力文档
  19. 【转】淘宝接口API开发 taobao代购系统API接口调用
  20. 【观察】从计算力到智算力的跃迁,如何筑牢数实相融的智算底座?

热门文章

  1. 解决ImportError: /home/xxx/Software/anaconda3/lib/libstdc++.so.6: version `GLIBCXX_3.4.29‘ not found报错
  2. 记录问题:No startup URLs supplied and no plausible ones found -- use -startupUrl
  3. 台湾校长高震东演讲震动国人
  4. 蓝桥杯-打水问题(贪心+模拟)
  5. “高大上”的机器人世界杯RoboCup也能如此“接地气”
  6. 实验室云检验信息系统(云LIS源码)
  7. mac电脑怎么打开终端
  8. 配置 KDC 主服务器
  9. 传感器系列之4.4超声测距传感器
  10. 使用预计算实时全局光照优化照明-教程目录