一、知识点

会签:指同一个审批节点设置多个人,如ABC三人,三人会同时收到审批,需全部同意之后,审批才可到下一审批节点;

或签:指同一个审批节点设置多个人,如ABC三人,三人会同时收到审批,只要其中任意一人审批即可到下一审批节点。

所以不管是会签还是或签它都是多实例节点,而会签又可以分为并行与串行。

三条垂直线表示实例将并行执行,而三条水平线表示顺序【串行】执行。

  • nrOfInstances : 实例总数
  • nrOfActiveInstances:当前活动的实例的数量。对于串行而言该值始终为1
  • nrOfCompletedInstances:已经完成的实例数
  • loopCounter 循环计数器

二、实现或签

这样设置完后该节点就是多实例节点了,点击该节点后可以看到需要填写一些参数

Loop Cardinality:循环基数,表示会签的人数。
Collection:集合。会签人数的集合,通常为list,和loop cardinality二选一。
Element Variable:元素变量。选择Collection时必选,为collection集合每次遍历的元素。
Completion Condition:完成条件。比如我们这里设置nrOfCompletedInstances == 1

具体把审批人变量的值设置到节点上还是得靠Assignee,所以注意上图的参数设置。

部署流程定义和启动流程请参考之前的博文,就不赘述了。

public ResultReturn startProcessInstanceByKey(String processDefinitionKey, String businessKey,String initiator) {try {Map<String,Object> map = new HashMap<>();//设置流程发起人identityService.setAuthenticatedUserId("initiator");List<String> userList = new ArrayList<>(4);userList.add("userOne");userList.add("userTwo");userList.add("userThree");map.put("userList",userList);ProcessInstance processInstance=runtimeService.startProcessInstanceByKey(processDefinitionKey,businessKey,map);if (ObjectUtil.isNull(processInstance)) {return ResultReturnUtil.error(ResponseEnums.PROCESS_INSTANCE_START_FAIL);} else {String processInstanceId = processInstance.getProcessInstanceId();return ResultReturnUtil.success(processInstanceId);}}catch (Exception e){log.error(e.getMessage());throw new ProcessException(ResponseEnums.PROCESS_INSTANCE_START_FAIL.getMsg());}}

然后发起流程

来到Camunda监控平台看一下

我们去模拟审批一次

回到监控平台,可以发现该流程实例已经完成了

三、实现会签

前文也提到会签和或签只是该节点的完成条件不一样。

意思就是当已完成实例数等于实例总数该节点就算完成

${nrOfInstances == nrOfCompletedInstances}

【Camunda六】Camunda实现会签和或签相关推荐

  1. 流程图的会签、或签、转审、加签、一票否决实现

    参考了流程图的会签.或签.转审.加签这篇博客,针对这篇博客做一些补充,记录一下. 1.加签 加签的代码如下: /*** @Description: 加签* @param taskId 任务id* @p ...

  2. 工作流引擎会签,加签,主持人,组长模式专题讲解

    第1章: 概要说明 关键字: ccflow 工作流引擎 会签,加签,主持人,多人处理规则 会签定义:会签就是多人在一个节点上表达意见,每个人只能在一个节点上填写一个意见. 我们提供两种模式的会签:协作 ...

  3. Camunda教程|Camunda视频

    Camunda教程|Camunda视频 因为Camunda资料是在是太少了,为此分享牛推出了一套Camunda视频 ,方便大家快速入手Camunda. 目录 因为Camunda资料是在是太少了,为此分 ...

  4. Camunda 工作流并行子流程、工作流会签、或签、加签、比例签、跳转节点

    如下图为一个流程图,其需求过程如下: 1.某业务员发起一个登记单 2.领导审批 3.领导选择多个部门进行阅办,每个部门并行进行 4.部门内有两个审批环节(环节一:部门经理或经理助理或签,环节二:部门内 ...

  5. flowable 会签和或签的实现 任务多实例

    会签:指同一个审批节点设置多个人,如ABC三人,三人会同时收到审批,需全部同意之后,审批才可到下一审批节点: 或签:指同一个审批节点设置多个人,如ABC三人,三人会同时收到审批,只要其中任意一人审批即 ...

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

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

  7. 基于camunda如何实现会签:camunda会签流程配置与原理解析

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

  8. camunda框架学习(十四)表单系列

    一.表单生命周期.定义方式 表单使用两种方式 FormService: 表单定义支持的节点: 二.外置表单 <bpmn:startEvent id="StartEvent_1" ...

  9. [13]深入浅出工作开源框架Camunda:多实例并行用户任务

    Camunda提供了多实例并行用户任务,比如下面的并行多任务流程! 必须选择三条竖杠. 选择之后,就可以让"并行会签预审批"任务同时由多个人处理~ 参考<基于camunda如 ...

最新文章

  1. Quzrtz 使用oracle集群无法正常启动问题解决
  2. 编程中检查IIS7组件的安装情况
  3. 如何实现一个可复用的分布式事务消息架构方案?
  4. js map 箭头_JS异常函数之箭头函数
  5. 【Matlab】parfor并行运算如何显示进度条?
  6. java class 关键字_java关键字及其作用
  7. 锁 唤醒_Java笔记|等待唤醒机制
  8. python代码显示进度条 tqdm
  9. Odoo12 添加新项目安装后无法在菜单中看到链接的解决方案
  10. 【网络教程】Chrome内核浏览器开启多线程下载(edge chrome)
  11. 怎么用odbc连接mysql数据库连接_怎么用odbc连接mysql数据库
  12. apple苹果IOS内购申请教程协议、税务和银行业务配置
  13. python调用百度识图识取本地图片
  14. LaTeX中插入文本框并且设置文本框底色(填充色)的方法
  15. oracle 限制条数的查询
  16. html5时钟在图片上画指针,HTML5使用canvas元素绘制指针式动画时钟_网页代码站(www.webdm.cn)...
  17. 1000亿资本“壕掷”!乡村旅游迎来黄金时代?
  18. 拓展软文写作主题角度
  19. Python爬虫入门教程13:高质量电脑桌面壁纸爬取
  20. 东北大学软件项目管理与过程改进复习提纲(2020)——第三章

热门文章

  1. 重装上阵怎么造简便机器人_重装上阵机器人蓝图怎么做?机器人蓝图制作方法详解[多图]...
  2. 从诸葛亮的三个锦囊妙计谈策略模式
  3. 哨兵二号数据下载(欧空局)
  4. Qt编写可视化大屏电子看板系统26-模块4模具进度
  5. 读安晓辉老师的访谈有感
  6. linux中出现不在 sudoers 文件中。此事将被报告的解决方法
  7. NET Framework合集(官方)
  8. 关于点击微信图文信息直接跳转至外部链接
  9. 解决安装出现用户在命令上发出enlas_agreed=1的问题
  10. 为什么springboot项目的pom.xml引入依赖不需要加版本号