flowable 动态多实例

在这里插入图片描述

<?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:xsd="http://www.w3.org/2001/XMLSchema" xmlns:flowable="http://flowable.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.flowable.org/processdef"><process id="多实例动态测试" name="多实例动态测试" isExecutable="true"><documentation>多实例动态测试</documentation><startEvent id="startEvent1"></startEvent><userTask id="sid-69B389BF-845E-45FA-A44A-8A44A1F12286" name="多实例" flowable:candidateUsers="${assigneeList}"><multiInstanceLoopCharacteristics isSequential="false"><completionCondition>${nrOfCompletedInstances/nrOfInstances &gt;= 0.25}</completionCondition></multiInstanceLoopCharacteristics></userTask><sequenceFlow id="sid-B19A4BBB-F31D-493E-AFF7-B3FC0B3B6F6F" sourceRef="startEvent1" targetRef="sid-69B389BF-845E-45FA-A44A-8A44A1F12286"></sequenceFlow><userTask id="sid-23E2155A-0DC7-47D4-A7D5-AF7BE11F5414" name="多实例完成" flowable:assignee="${assignee}"><extensionElements><flowable:taskListener event="create" class="com.flowable.conf.TaskListener"></flowable:taskListener><modeler:initiator-can-complete xmlns:modeler="http://flowable.org/modeler"><![CDATA[false]]></modeler:initiator-can-complete></extensionElements></userTask><sequenceFlow id="sid-653E21AF-A7C4-4939-8EF5-7C18478686B4" sourceRef="sid-69B389BF-845E-45FA-A44A-8A44A1F12286" targetRef="sid-23E2155A-0DC7-47D4-A7D5-AF7BE11F5414"></sequenceFlow><endEvent id="sid-203FE8C0-11FD-4264-A2D1-1AD3B7194832"></endEvent><sequenceFlow id="sid-A4710C6E-E9FB-4004-A588-6C21A712591E" sourceRef="sid-23E2155A-0DC7-47D4-A7D5-AF7BE11F5414" targetRef="sid-203FE8C0-11FD-4264-A2D1-1AD3B7194832"></sequenceFlow></process><bpmndi:BPMNDiagram id="BPMNDiagram_多实例动态测试"><bpmndi:BPMNPlane bpmnElement="多实例动态测试" id="BPMNPlane_多实例动态测试"><bpmndi:BPMNShape bpmnElement="startEvent1" id="BPMNShape_startEvent1"><omgdc:Bounds height="30.0" width="30.0" x="100.0" y="163.0"></omgdc:Bounds></bpmndi:BPMNShape><bpmndi:BPMNShape bpmnElement="sid-69B389BF-845E-45FA-A44A-8A44A1F12286" id="BPMNShape_sid-69B389BF-845E-45FA-A44A-8A44A1F12286"><omgdc:Bounds height="80.0" width="100.0" x="165.0" y="135.0"></omgdc:Bounds></bpmndi:BPMNShape><bpmndi:BPMNShape bpmnElement="sid-23E2155A-0DC7-47D4-A7D5-AF7BE11F5414" id="BPMNShape_sid-23E2155A-0DC7-47D4-A7D5-AF7BE11F5414"><omgdc:Bounds height="80.0" width="100.0" x="315.0" y="135.0"></omgdc:Bounds></bpmndi:BPMNShape><bpmndi:BPMNShape bpmnElement="sid-203FE8C0-11FD-4264-A2D1-1AD3B7194832" id="BPMNShape_sid-203FE8C0-11FD-4264-A2D1-1AD3B7194832"><omgdc:Bounds height="28.0" width="28.0" x="465.0" y="164.0"></omgdc:Bounds></bpmndi:BPMNShape><bpmndi:BPMNEdge bpmnElement="sid-653E21AF-A7C4-4939-8EF5-7C18478686B4" id="BPMNEdge_sid-653E21AF-A7C4-4939-8EF5-7C18478686B4"><omgdi:waypoint x="264.9499999999581" y="175.0"></omgdi:waypoint><omgdi:waypoint x="315.0" y="175.0"></omgdi:waypoint></bpmndi:BPMNEdge><bpmndi:BPMNEdge bpmnElement="sid-B19A4BBB-F31D-493E-AFF7-B3FC0B3B6F6F" id="BPMNEdge_sid-B19A4BBB-F31D-493E-AFF7-B3FC0B3B6F6F"><omgdi:waypoint x="129.94340692927761" y="177.55019845363262"></omgdi:waypoint><omgdi:waypoint x="164.99999999999906" y="176.4985"></omgdi:waypoint></bpmndi:BPMNEdge><bpmndi:BPMNEdge bpmnElement="sid-A4710C6E-E9FB-4004-A588-6C21A712591E" id="BPMNEdge_sid-A4710C6E-E9FB-4004-A588-6C21A712591E"><omgdi:waypoint x="414.95000000000005" y="175.0"></omgdi:waypoint><omgdi:waypoint x="440.0" y="175.0"></omgdi:waypoint><omgdi:waypoint x="440.0" y="178.0"></omgdi:waypoint><omgdi:waypoint x="465.0" y="178.0"></omgdi:waypoint></bpmndi:BPMNEdge></bpmndi:BPMNPlane></bpmndi:BPMNDiagram>
</definitions>
/*** 启动流程** @param users       用户组* @param processName 流程key* @return 流程id*/
@PostMapping("startGroup")
@ResponseBody
public String start_process_group(@RequestParam(value = "users", required = false) String[] users, @RequestParam(value = "processName", required = false) String processName) {List<String> assigneeList = Arrays.asList("group1", "group2", "group3", "group4", "group5");String s = flowableUtil.startProcess(assigneeList, processName);return s;
}
/*** 启动流程** @param assigneeList 候选组* @param processName  流程key*/
public String startProcess(List<String> assigneeList, String processName) {//启动流程Map<String, Object> map = CollectionUtil.singletonMap("assigneeList", assigneeList);map.put("num", assigneeList.size());ProcessInstance processInstance = runtimeService.startProcessInstanceByKey(processName, map);saveFLowModel(processInstance.getId(), processName);return "提交成功.流程Id为:" + processInstance.getId();
}

多实例需要给用户组签收任务

/*** 签收任务*/
public void claim(String taskId, String userId) {taskService.claim(taskId, userId);
}
查看用户未签收的任务/*** 待签收任务查询*/
public List<Task> getNotClaim(String userId) {return taskService.createTaskQuery().taskCandidateUser(userId).list();
}

查看 ACT_RU_IDENTITYLINK 表

nr_of_instances 实例总数
nr_of_completed_instances 当前还没有完成的实例 nr是number单词缩写
loop_counter 已经循环的次数
nr_of_active_instances 已经完成的实例个数
${nrofcompletedinstances/nrofinstances >= 0.25} //条件表达式 总共4个人大于0.25,也就是一个人通过流程便通过

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/522760.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

手机站的view.php,织梦网站文章内容页动态地址plus/view.php路径修改

织梦系统的漏洞很多来自plus目录&#xff0c;一般的文章站根本用不了那么多功能&#xff0c;因此可以考虑直接把整个plus文件夹删除掉。在发布文章时要预览文章&#xff0c;因此我把plus下除了view.php 和 img文件夹(存放样式图标)的其他文件都删除了。但是plus也容易暴露问题&…

为什么MaxCompute采用列式存储?列式存储和行式存储的主要区别在哪

摘要&#xff1a; 1 为什么要按列存储 列式存储(Columnar or column-based)是相对于传统关系型数据库的行式存储(Row-basedstorage)来说的。简单来说两者的区别就是如何组织表(翻译不好&#xff0c;直接抄原文了)&#xff1a; Row-based storage stores atable in a sequence …

Hive精华问答 | Hive和传统数据库有什么不同?

Hive是一个数据仓库基础工具&#xff0c;它是建立在Hadoop之上的数据仓库&#xff0c;在某种程度上可以把它看做用户编程接口&#xff08;API&#xff09;&#xff0c;本身也并不存储和处理数据&#xff0c;依赖于HDFS存储数据&#xff0c;依赖MR处理数据。它提供了一系列对数据…

flowable 多实例动态添加人

1.背景&#xff1a; 由于在日常情况下&#xff0c;我们的多实例要动态添加人员的场景&#xff0c;有没有这样的api呢&#xff1f;新的flowable有这样的功能。 2.具体实现 xml <userTask id"miTasks" name"My Task ${loopCounter}" activiti:assignee&…

MaxCompute SQL原理解析及性能调优

摘要&#xff1a; 分享内容 介绍了ODPS SQL的基于mapreduce是如何实现的及一些使用小技巧&#xff0c;回顾了mapreduce各个阶段可能产生的问题及相应的处理方法&#xff0c;同时介绍了一些应对数据倾斜的处理方法&#xff0c;最后介绍了一些关于数据集构造、特征选择的技巧帮助…

首字母大写转换 java,Java InitialsTransformation(字符串首字母大小写转换)

版权声明&#xff1a;本文为原创博文&#xff0c;最终解释权归一个集 帅气 与 智慧 和 手速 于一身的男人-灭世奶神-所有&#xff01;- - - - - - - - - - - - -转载&#xff1a;请附上--源作者 / 源博文--相关链接信息&#xff01; https://blog.csdn.net/qq_36823679--------…

flowable用户组的处理

背景 flowable有自己的用户账号信息&#xff0c;用户信息&#xff0c;用户组信息&#xff0c;其实这些用户信息都我们系统可能都存在&#xff0c;那么我们如何去使用一份数据呢&#xff1f; 1.我们可以建立视图直接取我们的组织信息&#xff0c;这个可以参考相关的文档 2.我们…

微软 SQL Server 2019 将免费支持 Java;Rancher Labs获2500万美元融资;腾讯云进军日本市场……...

关注并标星星CSDN云计算极客头条&#xff1a;速递、最新、绝对有料。这里有企业新动、这里有业界要闻&#xff0c;打起十二分精神&#xff0c;紧跟fashion你可以的&#xff01;每周三次&#xff0c;打卡即read更快、更全了解泛云圈精彩newsgo go go “2019世界计算机大会”新闻…

java 监听桌面鼠标事件,鼠标事件的监听和使用

鼠标操作是图形操作系统最常用操作&#xff0c;用户使用鼠标单击&#xff0c;双击&#xff0c;右击&#xff0c;拖动等操作实现与软件的交互。 鼠标事件监听器 鼠标事件监听器由MouseListener接口和MouseMotionListener接口定义&#xff0c;分别定义鼠标捕获不同的鼠标操作方法…

玩 High API 系列之:实现钉钉Ding功能

摘要&#xff1a; 钉钉是企业IM市场上的领先者&#xff0c;深受中小企业客户的喜欢&#xff0c;就再几天前刚刚宣布用户数超过1亿&#xff01;在钉钉里面有个特别实用的功能&#xff0c;那就是Ding一下&#xff0c;如果你发的消息特别紧急&#xff0c;可以直接通过短信、电话等…

flowable中动态显示节点的审批人信息

1、上面的流程图当任务还没有到的节点&#xff0c;用户想看看节点的人的信息&#xff0c;如果我们常规的是不能实现的。 2、思路就是我们取出节点的表达式&#xff0c;然后用我们流程实例的变量来给他翻译出来即可&#xff0c;如何做呢&#xff1f; 2.1、通过流程实例id查出历…

InfoComm China 2019,揭秘“NVIDIA风格”数据科学!

戳蓝字“CSDN云计算”关注我们哦&#xff01;作者|刘晶晶在炫酷的复联4电影中&#xff0c;超过2600个特效镜头层出不穷&#xff0c;意味着电影的后期剪辑与特效对于硬件设备的要求越发提高&#xff0c;毕竟特效制作着力依赖画面渲染。我们了解&#xff0c;在没有GPU之前&#x…

玩 High API 系列之:智能云相册

摘要&#xff1a; 相册是手机中的一个非常重要的功能&#xff0c;然而目前的大部分手机的相册非常普通&#xff0c;仅仅有查看照片&#xff0c;编辑相片的等几个简单功能。我们来看看如果在API时代&#xff0c;如何通过调用API快速实现一个好玩的&#xff0c;具备智能分析识别、…

Flowable通过api查询流程返回流程图节点

通过传入流程启动id去查询当前流执行节点 返回流程图 到期节点 标红显示 /*** 生成流程图** param processId 任务ID*/RequestMapping(value "processDiagram")public void genProcessDiagram(HttpServletResponse httpServletResponse, String processId) throws E…

玩 High API 系列好文:UGC内容检测、视频智能、拍照翻译、懂天气的草地喷水头...

摘要&#xff1a;玩 High API 系列好文&#xff1a;UGC内容检测、视频智能、拍照翻译、懂天气的草地喷水头 导读&#xff1a;初创公司可以利用API来解决问题。了解更多场景如何玩High API&#xff1f;如何将API变现&#xff1f;请下载阿里云 API Playbook&#xff08;免费下载&…

java项目功能详情介绍,JAVAEE—spring的详细介绍

一、spring介绍1.三层架构中spring位置2.spring一站式框架正是因为spring框架性质是属于容器性质的.容器中装什么对象就有什么功能.所以可以一站式.不仅不排斥其他框架,还能帮其他框架管理对象.aop支持、ioc思想、spring jdbc、aop 事务、junit 测试支持二、spring搭建1.导包日…

乘势而起,走进2019年风口“边缘计算”

戳蓝字“CSDN云计算”关注我们哦&#xff01;作者| pasca原创 | 蛋蛋团&#xff08;ID&#xff1a;dandan_tuan&#xff09;5G火了&#xff0c;也带火了边缘计算。2019年3月&#xff0c;一篇《5G风口扩散&#xff0c;超清视频边缘计算概念崛起》的文章意外走红&#xff0c;直接…

flowable笔记 - 简单的通用流程

简介 通用流程可以用于一些基本的申请&#xff0c;例如请假、加班。 大致过程是: 1. 创建申请 2. 分配给审批人&#xff08;需要审批人列表&#xff0c;当前审批人&#xff09; -> 有下一个审批人 -> 3 -> 无 -> 4 3. 审批人审批 -> 同意 -> 2 -> 拒绝 -…

详解SLB、EIP、NAT网关之间区别, 合理选择云上公网入口

摘要&#xff1a; 概述 阿里云的公网入口产品共有三个&#xff0c;SLB、EIP、NAT网关&#xff0c;这几个产品都可以作为云上资源的公网入口&#xff0c;他们之间有何区别&#xff0c;又分别应该在什么场景下使用呢&#xff1f; 点此查看原文&#xff1a;http://click.aliyun.co…

matlab 求n 的和,MATLAB求1的阶乘加到n的阶乘和 不要现有的函数,要自己编写出来的...

点击查看MATLAB求1的阶乘加到n的阶乘和 不要现有的函数&#xff0c;要自己编写出来的具体信息答&#xff1a;myfactorial (n) factorial(n) myfactorial (n) prod(1:n) 两个都可以吧。&#xff1a;)答&#xff1a;编写一个matlab文件&#xff0c;求1到n的阶乘之和。其代码编写…