此分组的意思是,该任务节点为多个人员,当其中之一完成后,流程就进入下一个节点。

JPDL

<?xml version="1.0" encoding="UTF-8"?>

<process key="task" name="task" xmlns="http://jbpm.org/4.4/jpdl">
<start name="start1" g="243,29,48,48">
<transition name="提交到任务A" to="任务A" g="-63,-11"/>
</start>
<end name="end1" g="243,393,48,48"/>
<task candidate-groups="mgr" name="任务A" g="224,115,92,52">
<transition name="提交到任务B" to="任务B" g="-77,-11"/>
</task>
<task name="任务B" g="220,221,92,52">
<transition name="提交到任务C" to="任务C" g="-83,-14"/>
</task>
<task name="任务C" g="224,308,92,52">
<transition name="通过" to="end1" g="-62,-25"/>
</task>
</process>

部署流程

//创建用户组
String group = identityService.createGroup("mgr");
identityService.createUser("a1", "tom", "uu");
identityService.createUser("a2", "tom2", "uu2");
identityService.createMembership("a1", group);
identityService.createMembership("a2", group);

repositoryService.createDeployment().addResourceFromClasspath("com/tgb/node/task/Candidate/task3.jpdl.xml").deploy();

创建流程实例

ProcessInstance processInstance = executionService.startProcessInstanceByKey("task");
print("流程实例ID",processInstance.getId());

获取当前节点名称
String name = executionService.createProcessInstanceQuery().processInstanceId("task.480001").uniqueResult().findActiveActivityNames().toString();
print("当前节点名词:",name);

获取任务列表(分配任务后,就可以查询任务数量)

要想执行该任务,需要事先把任务交给a1处理,然后再完成处理,否则通过findPersonalTasks时拿不到任务的。

//把任务分配给a1
taskService.takeTask("480002", "a1");
List<Task> tasks = taskService.findPersonalTasks("a1");
print("任务数量",tasks.size());
print("任务名词",tasks.get(0).getActivityName());
print("任务ID",tasks.get(0).getId());

获取任务列表(获取任务组任务列表)

通过findGroupTasks可以拿到组任务。可以显示在每个收到此任务的人的代办任务列表中。

List<Task> tasks = taskService.findGroupTasks("a1");
print("任务数量",tasks.size());
print("任务名词",tasks.get(0).getActivityName());
print("任务ID",tasks.get(0).getId());

完成任务

taskService.completeTask("390001");

【JBPM4】任务节点-任务分配candidate-groups的更多相关文章

  1. 【JBPM4】任务节点-任务分配swimlane

    swimlane泳道,几个任务受理人相同的任务节点,可以划分为一个泳道 JPDL <?xml version="1.0" encoding="UTF-8" ...

  2. 【JBPM4】任务节点-任务分配assignment-Handler

    JPDL <?xml version="1.0" encoding="UTF-8"?> <process key="task&quo ...

  3. 【JBPM4】任务节点-任务分配assignee

    JPDL <process key="task" name="task" xmlns="http://jbpm.org/4.4/jpdl&quo ...

  4. activiti学习总结

    Activiti界面元素的使用总结 一.图形设计中元素的使用 1.SequenceFlow:连接线,可以连接两个任务,来管理流程实例的流向 -----General -----id:流程的id,用与程 ...

  5. Activiti 框架学习

    1:工作流的概念 说明: 1)      假设:这两张图就是华谊兄弟的请假流程图 2)      图的组成部分: 人物:范冰冰 冯小刚 王中军 事件(动作):请假.批准.不批准 工作流(Workflo ...

  6. Activiti工作流学习笔记一

    Activiti工作流 一:Activiti第一天 1:工作流的概念 说明: 假设:这两张图就是华谊兄弟的请假流程图 图的组成部分: 人物:范冰冰冯小刚王中军 事件(动作):请假.批准.不批准 工作流 ...

  7. activiti学习笔记二

    上一篇文章大概讲了下什么是流程引擎,为什么我们要用流程引擎,他的基本原理是啥,以及怎么进行基本的使用,这篇文章我们再讲下其他的一些使用. 删除流程部署 package activiti02; impo ...

  8. java activity工作流

    java activity工作流 参考资料: 1.https://blog.csdn.net/jiangyu1013/article/details/73250902 2.https://blog.c ...

  9. PHP7函数大全(4553个函数)

    转载来自: http://www.infocool.net/kb/PHP/201607/168683.html a 函数 说明 abs 绝对值 acos 反余弦 acosh 反双曲余弦 addcsla ...

随机推荐

  1. P2075 [NOIP2012T5]借教室 区间更新+二分查找

    P2075 [NOIP2012T5]借教室 时间: 1000ms / 空间: 131072KiB / Java类名: Main 背景 noip2012-tg 描述 在大学期间,经常需要租借教室.大到院 ...

  2. 洛谷:P3809 【模板】后缀排序(后缀数组模板)

    P3809 [模板]后缀排序 题目链接:https://www.luogu.org/problemnew/show/P3809 题目背景 这是一道模板题. 题目描述 读入一个长度为 nn 的由大小写英 ...

  3. TCP/UDP HTTP

    TPC/IP协议是传输层协议,主要解决数据如何在网络中传输,而HTTP是应用层协议,主要解决如何包装数据.关于TCP/IP和HTTP协议的关系,网络有一段比较容易理解的介绍:“我们在传输数据时,可以只 ...

  4. uva 11424

    uva 11424 GCD - Extreme (I) 题意:思路:(见http://www.cnblogs.com/Duahanlang/p/3184994.html ) 差别在于数据规模和时间,其 ...

  5. 手脱ACProtect V1.4X(有Stolen Code)

    1.载入PEID ACProtect V1.4X -> risco 首先需要说明的是,这个壳被偷取的代码非常多,如果去找的话会比较麻烦,所以我们换一种另类的方法,不脱壳也可以使用资源修改器对程序 ...

  6. [LeetCode] 15. 3Sum ☆☆

    Given an array S of n integers, are there elements a, b, c in S such that a + b + c = 0? Find all un ...

  7. Ajax请求回调函数没有被调用

    $.ajax({        type:"post",        url:"http://172.16.41.91:8080/FcsServletSSM/users ...

  8. Rabbit MQ 面试题相关

    项目中的MQ: #rabbitmq spring.rabbitmq.host=127.0.0.1 主机 spring.rabbitmq.port=5672 端口 spring.rabbitmq.use ...

  9. java将文件转为UTF8工具类

    package hiveTest; import java.io.BufferedReader; import java.io.DataInputStream; import java.io.File ...

  10. 策略模式 C#

    策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换.策略模式让算法独立于使用它的客户而独立变化. 抽象策略角色: 策略类,通常由一个接口或者抽象类实现. 具体策略角色:包装了 ...