网站首页 > 博客文章 正文
产品说明
工作流低代码非常适合学习、项目研发、私活项目开发等工作场景,实现大部分场景可以无需编码,通过拖拽表单+流程设计实现流程审批功能,大大减少了研发的工作量。
本次升级文档及源码地址:
https://www.yuque.com/qingfengaibiancheng/chq3gg/thnfxb
一、什么是多实例(会签)
在流程业务管理中,任务通常是由一个人去处理的,而多个人同时处理一个任务,称之为会签任务。
Activiti实现会签是基于多实例任务,将节点设置成多实例,主要通过在UserTask节点的属性上配置。
如果想让某些特定的流程活动的行为执行多次,则可以将活动设置为多实例,让其按照配 置来执行相应的次数。User Task 会创建活动的实例, 流程是否通过 User Task ,由用户决定,这不属于活动的行为。活动的多实例可以让一个流程活动(甚至是子流程〉按顺序或者同时执行,在执行的过程中,会为活动产生多个实例,因此称该流程活动为多实例的流程活动。大部分的流程活动均可以被设置为循环执行,这些活动包 括大部分的流程任务、嵌入式子流程 和调用式子流程 。为流程活动的元素添
multilnstanceLoopCharacteristics 子元素,将该流程活动配置为一个多实例的活动,如以下的配
置片断:
<userTask id=” myTask ">
<multiinstanceLoopCharacteristics isSequent al false I true ”>
</multiinstanceLoopCharacteristics>
</userTask>
以上配置片断中的 multilnstanceLoopCharacteristics 元素的 isSequential 属性,用于配置这 个流程活动在执行时,是按顺序执行还是同时执行,为 true 表示按顺序执行, false 则同时执 丁。
多实例活动像是循环体,可以为它提供集合或者设定循环次数,让它循环,就像使用 Java
里面的循环语句一样。
<process id=” process l ” name=” processl ” >
<startEvent id=” starteventl " name=”Start ” ></startEvent>
<userTask id=” usertask2 " name=” Task 1 ”>
<multiinstanceLoopCharacteristicssSequential true
<loopCardinality>2</loopCardinality>
</multiinstanceLoopCharacteristics>
</userTask>
<endEvent id="endeventl" name="End"></ endEvent>
<seque ceFlow id="flowl" name= "" sourceRef=”starteventl”
targetRef usertask2 ></ seque ceFlow>
<sequenceFlow id=”flow2 ” name=”” sourceRef =” usertask2 ”
targetRef=”usertask3 ” ></sequenceFlow>
<sequenceFlow =” flow3 name =” sourceRef usertask3
targetRef=” endeventl” ></sequenceFlow>
</process>
中定义了 个多实例的用户任务,该用户任务的全部实例将会按顺序 执行( isSequential=true ),设置了循环次数为 代2。
二、多实例(会签)参数说明
会签的种类
- 按数量通过:达到一定数量的通过表决后,会签通过。
- 按比例通过:达到一定比例的通过表决后,会签通过。
- 一票否决:只要有一个表决是否定的,会签否决。
- 一票通过:只要有一个表决通过的,会签通过。
1、多实例包含的默认变量
- nrOfInstances:创建的实例总数
- nrOfActiveInstances:当前活动的实例数,针对顺序类型的多实例,该变量值等于1
- nrOfCompletedInstances:已执行实例数
- loopCounter:表示多实例流程循环的下标
2、多实例类型
顺序(sequential ):执行顺序,必选项。true:多实例顺序执行。false:多实例并行。
并行(parallel):多个实例会同时并行发放给处理人
loop cardinality:循环基数(实例数量),可选项。可填整数,表示会签的人数。
Collection:集合,可选项。会签人数的集合list,与loop cardinality二选一。
Element variable:元素变量。选择Collection时必选,为collection集合每次遍历的元素。
Completion condition:完成条件,可选项。
3、多实例基数
定义多实例生成的实例数。当结合采集方式生成多实例时,该基数只能小于或等于采集集合的size,否则执行过程中将发生系统错误 NoSuchElementException;当基数小于采集集合的size时,则按照集合中元素的顺序生成等于基数指定数量的实例。如果不配合使用采集方式,也可以直接指定基数,则系统会同时生成指定数量的相同实例。
4、多实例采集
用于指定一个List,自动生成等于List size数量的实例。可以将该List设置为处理人员列表,然后设置元素变量名,并将分配—固定值—处理人/代理人设置为元素变量名,则最后会为每一个集合中的人员生成一个已指派实例。
5、多实例元素变量
表示多实例采集中元素对应的变量,该变量保存着集合中元素的最新值,可以使用表达式获取。
6、多实例完成条件
是一个表达式,如果返回值为true则该多实例自动结束。例如 ${nrOfCompletedInstances/nrOfInstances >= 0.6 } 只要所有流程实例完成了60%即该多实例任务结束。
${nrOfInstances == nrOfCompletedInstances} 表示所有人员审批完成后会签结束。
${ nrOfCompletedInstances == 1}表示一个人完成审批,该会签就结束。
Activiti会签有个特性,比如设置一个人完成后会签结束,那么其他人的代办任务都会消失。
7、分配
在使用多实例的情况下,当将分配—固定值—处理人/代理人/候选人设置为多实例元素变量名时,则生成的实例会对应自动指派给列表中配置的处理人。
猜你喜欢
- 2024-10-18 一套集成工作流+地图引擎的快速开源平台源码
- 2024-10-18 Spring Boot + Security + MyBatis + Thymeleaf + Activiti 快速开发平台
- 2024-10-18 基于Java的快速开发平台-低代码集成工作流-快速开发表单系统
- 2024-10-18 30分钟学会:springboot+mysql+camunda开源工作流引擎
- 2024-10-18 工作审批流系统,快速落地平台(工作流和审批流的区别)
- 2024-10-18 Spring Boot 整合 xxl-job(spring boot整合thymeleaf)
- 2024-10-18 可视化Java工作流引擎开发,10分钟完成一个业务流程发布
- 2024-10-18 springboot+activiti7之拖拽表单k-form-design整合
- 2024-10-18 Activiti 6.0 流程引擎从零开始(第一天) 1
- 2024-10-18 Activiti 8.0.0 发布,业务流程管理与工作流系统
你 发表评论:
欢迎- 367℃用AI Agent治理微服务的复杂性问题|QCon
- 358℃初次使用IntelliJ IDEA新建Maven项目
- 356℃手把手教程「JavaWeb」优雅的SpringMvc+Mybatis整合之路
- 351℃Maven技术方案最全手册(mavena)
- 348℃安利Touch Bar 专属应用,让闲置的Touch Bar活跃起来!
- 346℃InfoQ 2024 年趋势报告:架构篇(infoq+2024+年趋势报告:架构篇分析)
- 345℃IntelliJ IDEA 2018版本和2022版本创建 Maven 项目对比
- 342℃从头搭建 IntelliJ IDEA 环境(intellij idea建包)
- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)