相关定义

会签: 在流程业务管理中,任务是通常都是由一个人去处理的,而多个人同时处理一个任务,这种任务我们称之为会签任务。

串行会签:串行会签也叫顺序会签,指按照提交流程处理人的次序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值。若不配置则默认完成条件为:所有会签任务全部执行完成。

部分源码截图

  1. loopCardinality标签表达式解析

  2. collection使用elementVariable做变量传递,并设置流程变量

  3. completionCondition标签表达式解析:要么不配置,配置了就必须为boolean类型值


流程引擎(flowable)之会签相关相关推荐

  1. 基于camunda开源流程引擎如何实现会签及会签原理解析

    一.背景 市场上比较有名的开源流程引擎有osworkflow.jbpm.activiti.flowable.camunda.由于jbpm.activiti.flowable这几个流程引擎出现的比较早, ...

  2. 小白学流程引擎-FLowable(一) —FLowable是什么

    小白学流程引擎-FLowable(一) | FLowable是什么 一.什么是流程引擎? 通俗的说,流程引擎就是多种业务对象在一起合作完成某件事情的步骤,把步骤变成计算机能理解的形式就是流程引擎. 流 ...

  3. 小白学流程引擎-FLowable(五) — BPMN2.0模型规范

    前言: 不用到处百度BPMN2的博客了,本篇文章带你系统掌握BPMN2规范的核心知识点.全文2万字,全覆盖BPMN2知识点,图文并茂,泡杯咖啡,慢慢细品- 一.BPMN是什么 BPMN(Busines ...

  4. Spring Boot 整合流程引擎 Flowable,so easy

    为啥想写 flowable 呢?原因很简单,因为最近在录的 tienchin 项目视频会用到,先写一篇文章和大家打打预防针,后面视频再细讲. 流程引擎,也算是一个比较常见的工具了,我们在日常的很多开发 ...

  5. 整理流程引擎Flowable的前端流程设计器Modeler

    1.Flowable Modeler 官方提供的设计器,不是基于vue,另外拆分整合困难. 2.bpmn-js GitHub地址:https://github.com/bpmn-io/bpmn-js ...

  6. Spring Boot 整合流程引擎 Flowable(附源码地址)

    一.导入依赖 flowable依赖: <dependency><groupId>org.flowable</groupId><artifactId>fl ...

  7. 通过 Flowable-UI 来体验一把 Flowable 流程引擎

    [TOC] 本文为稀土掘金技术社区首发签约文章,14天内禁止转载,14天后未获授权禁止转载,侵权必究! 本专栏第一篇已发布,尚未看过的小伙伴请移步这里: Flowable 开篇,流程引擎扫盲 在我们使 ...

  8. 流程引擎之Flowable简介

    背景 Flowable 是一个流行的轻量级的采用 Java 开发的业务流程引擎,通过 Flowable 流程引擎,我们可以部署遵循 BPMN2.0 协议的流程定义(一般为XML文件)文件,并能创建流程 ...

  9. flowable 查询完成的流程_flowable流程引擎初体验,完成一个请假流程

    flowable是一个用Java写的轻量级商业流程引擎,用它可以部署BPMN2.0(在工业界被广泛接受的XML标准)流程定义, 并且可以创建流程实例,驱动节点流转,存储相关的历史数据等等.可能更多人先 ...

  10. flowable流程引擎基础概念总结

    flowable数据库说明 ACT_RE_* : 'RE'表示repository(存储).RepositoryService接口操作的表.带此前缀的表包含的是静态信息,如,流程定义,流程的资源(图片 ...

最新文章

  1. MariaDB/MySQL从数据库中选择随机的行
  2. 基于IPV6的数据包分析
  3. 开源一些Delphi系统:mp3play
  4. J2EE与.NET技术架构的比较
  5. 如何在ubuntu 12.04系统下开启nfs网络文件系统
  6. Exaple2_1(显示转换)
  7. php h5读写数据库,H5学习_番外篇_PHP数据库操作
  8. 我在德国做SAP CRM One Order redesign工作的心得 1
  9. php-java-bridge 作用_PHP-Java-Bridge的使用(平安银行支付功能专版)
  10. UNIX环境高级编程之第4章:文件和目录-习题
  11. Logstash filter 插件之 grok
  12. 从Cadence发展史中,看EDA的一段江湖故事
  13. springboot 接入 cachecloud redis 实践
  14. 金蝶eas怎么引出凭证_如何引出会计分录序时簿?
  15. Data Matrix二维码在医疗器械UDI中的应用
  16. 小米智能家居硬件的发展进程盘点
  17. 流量排名100W网站
  18. sublime 正则跨行匹配
  19. adjacent angle_帝学教育:新SAT数学词汇中英文对照(几何篇)
  20. matlab sort三维_三维数组存储顺序

热门文章

  1. 微信小程序(模仿上海随申办)
  2. 手机系统计算机怎么解决办法,手机与电脑怎么连接【解决教程】
  3. 达梦数据库(DM)的安装教程分享
  4. 违章查询源码 php,全国车辆违章查询API接口文档及demo
  5. 基姆拉尔森计算公式(根据日期判断星期几)
  6. 【STM32G4】备战蓝桥杯嵌入式---实战---第十二届嵌入式模拟赛
  7. 2021ccpc威海H city safety(最小割,最大权闭合子图)
  8. javascript获取当前时间后按规定样式输出
  9. 刘强东发布京东全员信:2000+位高管降薪,公司出资 100 亿提升 54 万员工福利!
  10. 英语口语练习六之 Where there is..., there is... (哪儿有……哪儿就有……)用法