工作流实战_28_flowable 任务多实例

原文连接:https://blog.csdn.net/liuwenjun05101/article/details/103680299

项目地址:https://gitee.com/lwj/flowable.git 分支flowable-base

任务多实例由2种形式:

第1种场景:当多实例中的每一个势力都办理完任务后,节点流转。
案例:当多实例节点由2个人(A,B)需要办理此任务,A和B的代办任务中都会有次任务需要办理,当A办理此任务后,会在已办任务列表中查看已办任务,同时,A的代办列在表中,仍然会有此待办任务;当B办理此任务后,节点进行流转,AB待办队列中,无此待办任务,均在已办任务队列中。
第2种场景:当多实例中设置结束条件,当满足条件后,节点流转。
案例:如下所述

业务场景
收集每个员工的绩效考核信息;
收集一次组织活动的信息;
一个合同需要三个经理审批,可以是顺序的也可以是并行的;
一个合同计划审批有30个人审批,只需要其中70%的人审批通过即可。等等 *

1、任务多实例四个内置变量

属性解释
nrOfInstances一共有多少个实例
nrOfCompletedInstances已经完成的实例个数
nrOfActiveInstances未完成的实例个数

2、配置多实例
2.1、配置参数
在这里插入图片描述
2.2、配置候选人
在这里插入图片描述
2.3、配置结束条件
在这里插入图片描述
3、启动设置userList

public ReturnVo add(Leave leave, String sessionId) {ReturnVo returnVo = new ReturnVo(ReturnCode.FAIL, "添加失败");try {String leaveId = UUIDGenerator.generate();leave.setId(leaveId);StartProcessInstanceVo startProcessInstanceVo = new StartProcessInstanceVo();startProcessInstanceVo.setBusinessKey(leaveId);User user = SecurityUtils.getCurrentUserObject();startProcessInstanceVo.setCreator(user.getId());startProcessInstanceVo.setCurrentUserCode(user.getId());startProcessInstanceVo.setFormName("请假流程");startProcessInstanceVo.setSystemSn("flow");startProcessInstanceVo.setProcessDefinitionKey("leave");Map<String, Object> variables = new HashMap<>();variables.put("days", leave.getDays());startProcessInstanceVo.setVariables(variables);//设置三个人作为多实例的人员List<String> userList = new ArrayList<>();userList.add("00000005");userList.add("00000006");variables.put("userList", userList);ReturnVo<ProcessInstance> returnStart = flowableProcessInstanceService.startProcessInstanceByKey(startProcessInstanceVo);if (returnStart.getCode().equals(ReturnCode.SUCCESS)){String processInstanceId = returnStart.getData().getProcessInstanceId();leave.setProcessInstanceId(processInstanceId);this.LeaveService.insertLeave(leave);returnVo = new ReturnVo(ReturnCode.SUCCESS, "添加成功");}else {returnVo = new ReturnVo(returnStart.getCode(), returnStart.getMsg());}} catch (Exception e) {logger.error("LeaveController-add:", e);e.printStackTrace();}return returnVo;}

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

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

相关文章

架构师如何应对复杂业务场景?领域建模的实战案例解析

摘要&#xff1a; 阿里妹导读&#xff1a;你还在用面向对象的语言写面向过程的代码吗&#xff1f;你是否正在被复杂的业务逻辑折磨&#xff1f;是否有时觉得应用开发没意思、没挑战、技术含量低&#xff1f;其实&#xff0c;应用开发一点都不简单&#xff0c;也不无聊&#xff…

python函数传值还是地址_Python传值与传址

1. 传值与传址的区别 传值就是传入一个参数的值&#xff0c;传址就是传入一个参数的地址&#xff0c;也就是内存的地址&#xff08;相当于指针&#xff09;。他们的区别是如果函数里面对传入的参数重新赋值&#xff0c;函数外的全局变量是否相应改变&#xff1a;用传值传入的参…

【深圳云栖大会】阿里云弹性计算ESSD云盘产品全面解析

摘要&#xff1a; 2018年3月29日&#xff0c;在深圳云栖大会弹性计算技术专场上&#xff0c;来自阿里云弹性计算产品专家崆闻做了主题为《百万级别IOPS云盘产品全面解析》的技术分享&#xff0c;主要就阿里云新一代ESSD云盘的产品特点、适用业务场景和对业务的实际性能提升进行…

git分支合并指定代码_git的几种实用操作(合并代码与暂存复原代码)

总述git工具也用了很久&#xff0c;自己也写了几篇使用教程&#xff0c;今天继续给大家分享一些我工作中使用过的git操作。1.git合并远程仓库的代码2.git stash保存当前的修改这两种情况大家应该都使用比较多&#xff0c;现在大家使用git进行团队开发代码的情况比较普遍&#x…

flowable实战(十五)关于流程设计器 bpmn.js与vue的整合

一、前言&#xff1a; 由于flowable本身带的Moder风格实在与前端页面风格不一样&#xff0c;同时由于Modeler采用Angular.js写的&#xff0c;改造起来相对有一定的难度&#xff0c;所以打算换成bpmn.js当成流程设计器。二、与vue的整合 1.安装以下包进开发环境 npm install -…

大数据实践的6个阶段

戳蓝字“CSDN云计算”关注我们哦&#xff01;来源公众号 | 智领云科技作者 | 智领云 彭锋博士在最新的“2018年Gartner数据管理技术成熟度曲线”报告中&#xff0c;DataOps的概念被首次提出&#xff0c;Gartner标记其目前在“极为初级”这个阶段里面&#xff0c;并预计需要5-10…

离线计算成本节省的神兵利器

摘要&#xff1a; 对于创业成长型的企业来说&#xff0c;离线计算已经必不可少了&#xff0c;通过离线计算我们可以生成复杂的业务报表&#xff0c;通过离线计算我们也能精确的算出用户画像。离线计算已经当今的企业中成为了不可或缺的存在。那么使用弹性计算能够对离线计算领域…

opencv论坛_Opencv批量添加logo的解决方案

知乎的水印是如何批量添加的&#xff1f;您想拥有这个本领吗&#xff1f;我在opencv论坛发现了这个趣图添加logo的方法&#xff0c;也许您正需要这个代码&#xff0c;那我就诚心分享下吧。如何删除结果图像中mainlogo.png周围的黑色边框?import cv2 import numpy as np import…

「深圳云栖大会」大数据时代以及人工智能推动下的阿里云异构计算

摘要&#xff1a; 最近几年&#xff0c;在大数据和人工智能的推动下&#xff0c;异构计算有了长足的发展。无论是在产品形态上&#xff0c;还是在应用领域上&#xff0c;阿里云异构计算都取得了累累硕果。 最近几年&#xff0c;在大数据和人工智能的推动下&#xff0c;异构计算…

flowable实战(十四) 关于流程设计器 act_de_mode的表详解

flowable从6.4.1开始&#xff0c;act_de_model代替原来的act_re_model表&#xff0c;act_re_model将作废&#xff0c;大家要注意。 字段名中文名说明id主键idname流程模型名称model_key流程模型keydescription流程模型描述model_commentcreated创建时间created by创建人last_u…

mysql表设计要注意什么?

戳蓝字“CSDN云计算”关注我们哦&#xff01;转自 | 孤独烟引言大家应该知道烟哥最近要(tiao 咳咳咳)&#xff0c;嗯&#xff0c;不可描述&#xff01;随手讲其中一部分知识&#xff0c;都是一些烟哥自己平时工作的总结以及经验。大家看完&#xff0c;其实能避开很多坑。而且很…

html table样式_CSS表格样式

表格的样式一般可以在HTML中直接定义&#xff0c;但是结构和样式需要分开声明&#xff0c;这可以方便后期的维护和修改。CSS中的表格样式有caption-side(表格标题位置)、border-collapse(表格边框合并)、border-spacing(表格边框间距)。 caption-sidecaption-side属性取值只有2…

AI开发者福音!阿里云推出国内首个基于英伟达NGC的GPU优化容器

摘要&#xff1a; 3月28日&#xff0c;在2018云栖大会深圳峰会上&#xff0c;阿里云宣布与英伟达GPU 云 合作 &#xff08;NGC&#xff09;&#xff0c;开发者可以在云市场下载NVIDIA GPU 云镜像和运行NGC 容器&#xff0c;来使用阿里云上的NVIDIA GPU计算平台。 阿里云推出国内…

SpringBoot配置文件敏感信息加密,springboot配置文件数据库密码加密jasypt

使用过SpringBoot配置文件的朋友都知道&#xff0c;资源文件中的内容通常情况下是明文显示&#xff0c;安全性就比较低一些。打开application.properties或application.yml&#xff0c;比如mysql登陆密码&#xff0c;redis登陆密码以及第三方的密钥等等一览无余&#xff0c;这里…

TensorFlow Hub介绍:TensorFlow中可重用的机器学习模块库

摘要&#xff1a; 本文对TensorFlow Hub库的介绍&#xff0c;并举例说明其用法。 在软件开发中&#xff0c;最常见的失误就是容易忽视共享代码库&#xff0c;而库则能够使软件开发具有更高的效率。从某种意义上来说&#xff0c;它改变了编程的过程。我们常常使用库构建块或模块…

新建文本文档好玩的代码_(03)用什么工具写ASP源代码?

有很多工具可以书写ASP源代码&#xff0c;我使用Windows自带的记事本来编写ASP源代码。下面做一下简要介绍。一&#xff0e; ASP源代码文件的格式1. ASP源代码文件是以.asp为后缀命名的文本文件&#xff0c;如index.asp,conn.asp等&#xff0c;前面设置的IIS就是执行这些文件内…

js中组装拼接json对象,通过java后端接收并解析

核心点说明&#xff1a; 一、首先将js对象转为json&#xff0c;然后将json通过base64加密&#xff08;防止后台接收乱码&#xff0c;特殊符号等各种奇葩问题&#xff09; json JSON.stringify(list); console.log(BASE64.encoder(json));js的base64加密传送门 二、java后台…

漫话:如何给女朋友解释鸿蒙OS是怎样实现跨平台的?

戳蓝字“CSDN云计算”关注我们哦&#xff01;周末在家休息&#xff0c;女朋友在刷朋友圈&#xff0c;突然她问我&#xff1a;鸿蒙OS回顾2019年8月9日华为开发者大会上&#xff0c;华为消费者业务CEO余承东正式宣布发布自有操作系统鸿蒙&#xff0c;内核为Linux内核、鸿蒙微内核…

apache ant 安装_Jmeter+ Ant+jenkins 接口自动化框架实现

一、文件配置•编写jmeter脚本 •上传jmx脚本到jmeter目录下&#xff0c;新建一个Loadtest目录&#xff0c;•在Tomcat webapp 文件夹下面新建报告输出文件夹testReport&#xff1b;•将jmeter中extras 文件夹ant-jmeter-1.1.1.jar 包放置于ant目录下lib文件夹 •将jmeter的ext…

机器学习必备:前20名Python人工智能和机器学习开源项目

摘要&#xff1a; 机器学习之旅必了解&#xff1a;前20名Python人工智能和机器学习开源项目&#xff01; 如今机器学习和人工智能已经变得家喻户晓&#xff0c;有很多爱好者进入了该领域。但是&#xff0c;什么才是能够进入该领域的正确路径呢&#xff1f;如何保持自己跟上该领…