流程引擎(flowable)之会签相关
相关定义
会签: 在流程业务管理中,任务是通常都是由一个人去处理的,而多个人同时处理一个任务,这种任务我们称之为会签任务。
串行会签:串行会签也叫顺序会签,指按照提交流程处理人的次序user1、user2、user3依次接收待办任务,并按顺序处理流程。
并行会签:指user1、user2、user3同时接收到流程待办任务,并行处理。
循环基数:会签任务的个数,若设置为3,在执行到会签任务时会出现3个任务。
会签完成条件:达到此条件该会签任务结束。
相关配置
会签任务需要在流程定义配置时设置好的,一下代码是会签任务的基本配置项。
<!--userTask:该标签标识用户任务assignee:审批人 id:流程节点唯一编号 name:任务名称-->
<bpmn2:userTask flowable:assignee="${zhangxiaohei}" id="Activity_1inhrs5" name="会签"><!--multiInstanceLoopCharacteristics:该标签标识多实例循环任务,也就是会签任务,会签任务此配置为必须填配置isSequential:是否串行,控制会签任务是并行执行还是串行执行,默认为 :falsecollection:会签任务执行人集合,可以是el表达式通过流程变量传递值elementVariable:元素变量,主要作用:属性传递--><bpmn2:multiInstanceLoopCharacteristics isSequential="false" flowable:collection="${userList}"flowable:elementVariable="zhangxiaohei"><!--loopCardinality:循环基数,即会签任务的分发个数。可以是el表达式通过流程变量传递值。可选配置,但是和上面的collection属 性两者必须有一个必须使用项。这个属性是number类型并且为必填属性。--><bpmn2:loopCardinality>${userList.size()}</bpmn2:loopCardinality><!--completionCondition:会签完成条件。可选配置,可以是el表达式通过流程变量传递值。若不配置则默认完成条件为:所有会签任务全 部执行完成。这个属性是boolean类型并且为必填属性。--><bpmn2:completionCondition>${nrOfInstances == nrOfCompletedInstances}</bpmn2:completionCondition></bpmn2:multiInstanceLoopCharacteristics>
</bpmn2:userTask>
配置项总结
1. 会签任务是一个用户任务2. 会签任务可以设置并行还是串行3. 会签任务使用multiInstanceLoopCharacteristics多实例循环维护的,在多实例循环中通过几个属性控制会签任务的运行规则,分别有:a). isSequential:是否串行,控制会签任务是并行执行还是串行执行,默认为 :falseb). collection:会签任务执行人集合,可以是el表达式通过流程变量传递值c). <p>elementVariable:元素变量,主要作用:属性传递。元素变量一帮和<userTask/>标签的assignee属性匹配,在解析的过程中会将collection集合中的属性遍历,在遍历的过程中将集合中的属性依次赋值给elementVariable元素变量,再通过元素变量传递给<userTask/>的assignee属性,实现给每一个会签任务设置审批人,整个过程和for循环遍历赋值类似。</p>d). <p>loopCardinality:循环基数,即会签任务的分发个数。可以是el表达式通过流程变量传递值。这个属性是number类型并且为必填属性,需要注意的是该属性在设置时其大小必须小于等于collection集合大小,若循环基数等于collection集合大小,在编排任务时候会根据遍历顺序依次从collection集合中获取审批人并设置审批人若小于collection集合大小,在编排任务时候会根据遍历顺序丢弃掉集合中的部分审批人。若大于collection集合大小,抛出NoSuchElementException异常,底层使用迭代器Iterator遍历集合属性。</p>e). completionCondition:会签完成条件。可选配置,可以是el表达式通过流程变量传递值,但必须为boolean值。若不配置则默认完成条件为:所有会签任务全部执行完成。
部分源码截图
loopCardinality标签表达式解析
collection使用elementVariable做变量传递,并设置流程变量
completionCondition标签表达式解析:要么不配置,配置了就必须为boolean类型值
流程引擎(flowable)之会签相关相关推荐
- 基于camunda开源流程引擎如何实现会签及会签原理解析
一.背景 市场上比较有名的开源流程引擎有osworkflow.jbpm.activiti.flowable.camunda.由于jbpm.activiti.flowable这几个流程引擎出现的比较早, ...
- 小白学流程引擎-FLowable(一) —FLowable是什么
小白学流程引擎-FLowable(一) | FLowable是什么 一.什么是流程引擎? 通俗的说,流程引擎就是多种业务对象在一起合作完成某件事情的步骤,把步骤变成计算机能理解的形式就是流程引擎. 流 ...
- 小白学流程引擎-FLowable(五) — BPMN2.0模型规范
前言: 不用到处百度BPMN2的博客了,本篇文章带你系统掌握BPMN2规范的核心知识点.全文2万字,全覆盖BPMN2知识点,图文并茂,泡杯咖啡,慢慢细品- 一.BPMN是什么 BPMN(Busines ...
- Spring Boot 整合流程引擎 Flowable,so easy
为啥想写 flowable 呢?原因很简单,因为最近在录的 tienchin 项目视频会用到,先写一篇文章和大家打打预防针,后面视频再细讲. 流程引擎,也算是一个比较常见的工具了,我们在日常的很多开发 ...
- 整理流程引擎Flowable的前端流程设计器Modeler
1.Flowable Modeler 官方提供的设计器,不是基于vue,另外拆分整合困难. 2.bpmn-js GitHub地址:https://github.com/bpmn-io/bpmn-js ...
- Spring Boot 整合流程引擎 Flowable(附源码地址)
一.导入依赖 flowable依赖: <dependency><groupId>org.flowable</groupId><artifactId>fl ...
- 通过 Flowable-UI 来体验一把 Flowable 流程引擎
[TOC] 本文为稀土掘金技术社区首发签约文章,14天内禁止转载,14天后未获授权禁止转载,侵权必究! 本专栏第一篇已发布,尚未看过的小伙伴请移步这里: Flowable 开篇,流程引擎扫盲 在我们使 ...
- 流程引擎之Flowable简介
背景 Flowable 是一个流行的轻量级的采用 Java 开发的业务流程引擎,通过 Flowable 流程引擎,我们可以部署遵循 BPMN2.0 协议的流程定义(一般为XML文件)文件,并能创建流程 ...
- flowable 查询完成的流程_flowable流程引擎初体验,完成一个请假流程
flowable是一个用Java写的轻量级商业流程引擎,用它可以部署BPMN2.0(在工业界被广泛接受的XML标准)流程定义, 并且可以创建流程实例,驱动节点流转,存储相关的历史数据等等.可能更多人先 ...
- flowable流程引擎基础概念总结
flowable数据库说明 ACT_RE_* : 'RE'表示repository(存储).RepositoryService接口操作的表.带此前缀的表包含的是静态信息,如,流程定义,流程的资源(图片 ...
最新文章
- MariaDB/MySQL从数据库中选择随机的行
- 基于IPV6的数据包分析
- 开源一些Delphi系统:mp3play
- J2EE与.NET技术架构的比较
- 如何在ubuntu 12.04系统下开启nfs网络文件系统
- Exaple2_1(显示转换)
- php h5读写数据库,H5学习_番外篇_PHP数据库操作
- 我在德国做SAP CRM One Order redesign工作的心得 1
- php-java-bridge 作用_PHP-Java-Bridge的使用(平安银行支付功能专版)
- UNIX环境高级编程之第4章:文件和目录-习题
- Logstash filter 插件之 grok
- 从Cadence发展史中,看EDA的一段江湖故事
- springboot 接入 cachecloud redis 实践
- 金蝶eas怎么引出凭证_如何引出会计分录序时簿?
- Data Matrix二维码在医疗器械UDI中的应用
- 小米智能家居硬件的发展进程盘点
- 流量排名100W网站
- sublime 正则跨行匹配
- adjacent angle_帝学教育:新SAT数学词汇中英文对照(几何篇)
- matlab sort三维_三维数组存储顺序
热门文章
- 微信小程序(模仿上海随申办)
- 手机系统计算机怎么解决办法,手机与电脑怎么连接【解决教程】
- 达梦数据库(DM)的安装教程分享
- 违章查询源码 php,全国车辆违章查询API接口文档及demo
- 基姆拉尔森计算公式(根据日期判断星期几)
- 【STM32G4】备战蓝桥杯嵌入式---实战---第十二届嵌入式模拟赛
- 2021ccpc威海H city safety(最小割,最大权闭合子图)
- javascript获取当前时间后按规定样式输出
- 刘强东发布京东全员信:2000+位高管降薪,公司出资 100 亿提升 54 万员工福利!
- 英语口语练习六之 Where there is..., there is... (哪儿有……哪儿就有……)用法