当前位置: 首页 > news >正文

springCloud集成activiti5.22.0流程引擎(分支)

springCloud集成activiti5.22.0流程引擎

   点关注不迷路,欢迎再访!	

精简博客内容,尽量已行业术语来分享。
努力做到对每一位认可自己的读者负责。
帮助别人的同时更是丰富自己的良机。

文章目录

    • springCloud集成activiti5.22.0流程引擎
      • 一.Spring boot2.x与Activiti 5.22.0整合
        • 1.POM文件中添加依赖
      • 二.制作bpmn流程文件
        • 创建bpmn文件
      • 三.流程演示
        • 分支审批

一.Spring boot2.x与Activiti 5.22.0整合

1.POM文件中添加依赖
<dependency><groupId>org.activiti</groupId><artifactId>activiti-spring-boot-starter-basic</artifactId><version>5.22.0</version><exclusions><!-- 排除activiti的mybatis,避免和外面的mybatis-plus冲突 --><exclusion><artifactId>mybatis</artifactId><groupId>org.mybatis</groupId></exclusion></exclusions>
</dependency>

二.制作bpmn流程文件

创建bpmn文件

右键该文件夹New–>BPMN File 创建名为leave_flow的流程文件
在这里插入图片描述

文件名"xxx.bpmn" 更改为 “xxx.bpmn.xml”
注: 因为activiti的默认流程图格式是bpmn, 但是idea必须xml格式才能生成图片, 所以改为这样, 后面部署流程的时候才可以部署上去, 否则是存不进数据库.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:activiti="http://activiti.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:tns="http://www.activiti.org/testm1723732311976" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" expressionLanguage="http://www.w3.org/1999/XPath" id="m1723732311976" name="" targetNamespace="http://www.activiti.org/testm1723732311976" typeLanguage="http://www.w3.org/2001/XMLSchema"><process id="leaveProcess" isClosed="false" isExecutable="true" name="请假审批流程" processType="None"><startEvent id="STEP1" name="开始"/><userTask activiti:assignee="${userId}" activiti:exclusive="true" id="STEP2" name="员工"/><userTask activiti:assignee="${userId}" activiti:exclusive="true" id="STEP3" name="经理"/><endEvent id="STEP4" name="结束"/><sequenceFlow id="_6" sourceRef="STEP1" targetRef="STEP2"/><sequenceFlow id="_7" sourceRef="STEP2" targetRef="STEP3"/><exclusiveGateway gatewayDirection="Unspecified" id="_8" name="ExclusiveGateway"/><sequenceFlow id="_2" name="同意" sourceRef="_8" targetRef="STEP4"><conditionExpression xsi:type="tFormalExpression"><![CDATA[${accept==”同意”}]]></conditionExpression></sequenceFlow><sequenceFlow id="_3" sourceRef="STEP3" targetRef="_8"/><sequenceFlow id="_4" name="驳回" sourceRef="_8" targetRef="STEP2"><conditionExpression xsi:type="tFormalExpression"><![CDATA[${accept==”驳回”}]]></conditionExpression></sequenceFlow></process><bpmndi:BPMNDiagram documentation="background=#3C3F41;count=1;horizontalcount=1;orientation=0;width=842.4;height=1195.2;imageableWidth=832.4;imageableHeight=1185.2;imageableX=5.0;imageableY=5.0" id="Diagram-_1" name="New Diagram"><bpmndi:BPMNPlane bpmnElement="leaveProcess"><bpmndi:BPMNShape bpmnElement="STEP1" id="Shape-STEP1"><dc:Bounds height="32.0" width="32.0" x="160.0" y="40.0"/><bpmndi:BPMNLabel><dc:Bounds height="32.0" width="32.0" x="0.0" y="0.0"/></bpmndi:BPMNLabel></bpmndi:BPMNShape><bpmndi:BPMNShape bpmnElement="STEP2" id="Shape-STEP2"><dc:Bounds height="55.0" width="85.0" x="130.0" y="145.0"/><bpmndi:BPMNLabel><dc:Bounds height="55.0" width="85.0" x="0.0" y="0.0"/></bpmndi:BPMNLabel></bpmndi:BPMNShape><bpmndi:BPMNShape bpmnElement="STEP3" id="Shape-STEP3"><dc:Bounds height="55.0" width="85.0" x="135.0" y="275.0"/><bpmndi:BPMNLabel><dc:Bounds height="55.0" width="85.0" x="0.0" y="0.0"/></bpmndi:BPMNLabel></bpmndi:BPMNShape><bpmndi:BPMNShape bpmnElement="STEP4" id="Shape-STEP4"><dc:Bounds height="32.0" width="32.0" x="325.0" y="525.0"/><bpmndi:BPMNLabel><dc:Bounds height="32.0" width="32.0" x="0.0" y="0.0"/></bpmndi:BPMNLabel></bpmndi:BPMNShape><bpmndi:BPMNShape bpmnElement="_8" id="Shape-_8" isMarkerVisible="false"><dc:Bounds height="32.0" width="32.0" x="325.0" y="400.0"/><bpmndi:BPMNLabel><dc:Bounds height="32.0" width="32.0" x="0.0" y="0.0"/></bpmndi:BPMNLabel></bpmndi:BPMNShape><bpmndi:BPMNEdge bpmnElement="_2" id="BPMNEdge__2" sourceElement="_8" targetElement="STEP4"><di:waypoint x="341.0" y="432.0"/><di:waypoint x="341.0" y="525.0"/><bpmndi:BPMNLabel><dc:Bounds height="0.0" width="0.0" x="0.0" y="0.0"/></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge bpmnElement="_3" id="BPMNEdge__3" sourceElement="STEP3" targetElement="_8"><di:waypoint x="175.0" y="330.0"/><di:waypoint x="175.0" y="410.0"/><di:waypoint x="331.0" y="410.0"/><bpmndi:BPMNLabel><dc:Bounds height="0.0" width="0.0" x="0.0" y="0.0"/></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge bpmnElement="_4" id="BPMNEdge__4" sourceElement="_8" targetElement="STEP2"><di:waypoint x="340.0" y="401.0"/><di:waypoint x="340.0" y="285.0"/><di:waypoint x="215.0" y="172.5"/><bpmndi:BPMNLabel><dc:Bounds height="0.0" width="0.0" x="0.0" y="0.0"/></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge bpmnElement="_6" id="BPMNEdge__6" sourceElement="STEP1" targetElement="STEP2"><di:waypoint x="176.0" y="72.0"/><di:waypoint x="176.0" y="145.0"/><bpmndi:BPMNLabel><dc:Bounds height="0.0" width="0.0" x="0.0" y="0.0"/></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge bpmnElement="_7" id="BPMNEdge__7" sourceElement="STEP2" targetElement="STEP3"><di:waypoint x="175.0" y="200.0"/><di:waypoint x="175.0" y="275.0"/><bpmndi:BPMNLabel><dc:Bounds height="0.0" width="0.0" x="0.0" y="0.0"/></bpmndi:BPMNLabel></bpmndi:BPMNEdge></bpmndi:BPMNPlane></bpmndi:BPMNDiagram>
</definitions>

三.流程演示

分支审批
 @Overridepublic void assginLeaveWorkFlow(String processInstanceId,int isAccept,String userId) {Map<String,Object> map = new HashMap<>();//得到当前实例下的taskTask task = taskService.createTaskQuery().processInstanceId(processInstanceId).singleResult();taskService.addComment(task.getId(), processInstanceId, "审核人是否同意该请假流程");if(isAccept == 0){map.put("accept","同意");task.setAssignee(userId);map.put("userId", userId);}else{map.put("accept","驳回");//审核驳回后task.setAssignee("发起人");map.put("auditor","发起人");}task.setDescription("请假的描述信息");//执行当前这个工作流任务taskService.saveTask(task);taskService.complete(task.getId(), map);}

相关文章:

springCloud集成activiti5.22.0流程引擎(分支)

springCloud集成activiti5.22.0流程引擎 点关注不迷路&#xff0c;欢迎再访&#xff01; 精简博客内容&#xff0c;尽量已行业术语来分享。 努力做到对每一位认可自己的读者负责。 帮助别人的同时更是丰富自己的良机。 文章目录 springCloud集成activiti5.22.0流程引擎一.Sprin…...

ppt模板免费网站有哪些?自动美化工具推荐

新的8月&#xff0c;是时候以全新面貌迎接高效办公挑战了&#xff01; 想要你的PPT演示脱颖而出&#xff0c;却苦于找不到精美又免费的模板&#xff1f; 别担心&#xff0c;今天我来告诉你们&#xff1a;哪个软件有精美免费ppt模板&#xff1f; 今天我为你们精心汇总了6款PPT…...

java实现解析pdf格式发票

为了减少用户工作量及误操作的可能性&#xff0c;需要实现用户上传PDF格式的发票&#xff0c;系统通过解析PDF文件获取发票内容&#xff0c;并直接将其写入表单。以下文章记录了功能实现的代码。 发票样式 发票内容解析 引用Maven 使用pdfbox <dependency><groupI…...

数据结构初阶——算法复杂度超详解

文章目录 1. 数据结构前言1. 1 数据结构1. 2 算法 2. 算法效率2. 1 复杂度的概念 3. 时间复杂度3. 1 大O的渐进表示法3. 2 时间复杂度计算示例3. 2. 1 示例13. 2. 2 示例23. 2. 3 示例33. 2. 4 示例43. 2. 5 示例53. 2. 6 示例63. 2. 7 示例7 4. 空间复杂度4. 1 空间复杂度计算…...

ArcGIS Pro SDK (十二)布局 4 预定义的形状和箭头

ArcGIS Pro SDK (十二)布局 4 预定义的形状和箭头 文章目录 ArcGIS Pro SDK (十二)布局 4 预定义的形状和箭头1 创建预定义的形状图形元素2 创建预定义的形状图形元素3 创建预定义的形状图形元素4 创建线箭头元素环境:Visual Studio 2022 + .NET6 + ArcGIS Pro SDK 3.0 1 …...

在 Ubuntu 14.04 服务器上安装 ISPConfig3 的方法

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站。 简介 虽然命令行是一个强大的工具&#xff0c;可以让您在许多情况下快速轻松地工作&#xff0c;但在某些情况下&#xff0c;可视化界面…...

ELK学习笔记

ElasticStack分布式日志系统概述 Elasticsearch: 一个分布式搜索引擎&#xff0c;能够快速存储、搜索和分析大量数据。核心概念包括索引&#xff08;Index&#xff09;、文档&#xff08;Document&#xff09;和分片&#xff08;Shard&#xff09;。使用 RESTful API 进行数据操…...

Python+Selenium+Pytest+POM自动化测试框架封装详解

1、测试框架简介 1&#xff09;测试框架的优点 代码复用率高&#xff0c;如果不使用框架的话&#xff0c;代码会显得很冗余。可以组装日志、报告、邮件等一些高级功能。提高元素等数据的可维护性&#xff0c;元素发生变化时&#xff0c;只需要更新一下配置文件。使用更灵活的…...

Hidden Marlov Model(HMM)

一、Model 1、将声学特征设为X&#xff0c;经过语音识别得到的tokens设为Y&#xff0c;目标是找到通过X得到Y的最大概率&#xff0c;可以通过概率公式改变为 分为两个概率 2、将tokens序列Y转化为states序列S&#xff0c;声学特征分得更细 3、从states到声学特征的过程 二、HM…...

mamba的安装及下载速度慢问题解决

同事反馈mamba的安装时网络慢 mamba是conda的加速工具&#xff0c;相比于conda 对包和环境的管理&#xff0c;mamba可以实现并行运算。相比于 conda&#xff0c;mamba 是用C重写了 conda 的部分功能&#xff0c;运行效率显著提高&#xff0c;可以进行并行的下载&#xff0c;使…...

【Linux入门】Linux环境搭建

目录 前言 一、发行版本 二、搭建Linux环境 1.Linux环境搭建方式 2.虚拟机安装Ubuntu 22.02.4 1&#xff09;安装VMWare 2&#xff09;下载镜像源 3&#xff09;添加虚拟机 4&#xff09;换源 5&#xff09;安装VM Tools 6)添加快照 总结 前言 Linux是一款自由和开放…...

CPU缓存一致性机制详解

CPU缓存一致性机制详解 在多核处理器中&#xff0c;缓存一致性是保证系统正常运行的重要环节。本文详细介绍了缓存一致性协议、写入策略、总线嗅探、目录协议等相关概念&#xff0c;并通过示例代码解释了这些机制是如何在实际应用中工作的。通过学习本文&#xff0c;读者可以深…...

Android 12系统源码_屏幕设备(一)DisplayManagerService的启动

前言 DisplayManagerService是Android Framework中管理显示屏幕相关的模块&#xff0c;各种Display的连接、配置等&#xff0c;都是通过DMS和来管理控制。 在DMS模块中&#xff0c;对显示屏幕的描述分为物理显示屏(physical display)和逻辑显示屏(logical display)&#xff0c…...

《AI视频类工具之十——​D-ID》

一.简介 官网:D-ID | The #1 Choice for AI Generated Video Creation Platform D-ID是一个人工智能生成的视频创建平台,可以轻松快速地从文本输入中创建高质量、高性价比和引人入胜的视频,背后的Al技术是由Stable Difusion和GPT.3提供支持,可以在没有任何技术知识的情况…...

【网络】局域网LAN、广域网WAN、TCP/IP协议、封装和分用

文章目录 局域网 LAN广域网 WAN网络中的重要概念IP 地址端口号 认识协议协议分层是什么OSI 七层网络模型TCP/IP 五层网络模型&#xff08;或四层&#xff09;物理层传输层网络层数据链表层应用层网络设备所在分层 封装和分用[站在发送方视角]&#xff08;封装&#xff09;[站在…...

我司搜索中台的三次演变

本人从入职就开始负责我司的搜索中台了&#xff0c;总共是经历了三个大版本的迭代。 分别是&#xff1a; 基于阿里云智能开放搜索OpenSearch实现的第一代自研&#xff0c;开源canal&#xff08;数据同步&#xff09; 底层阿里云elasticsearch 对索引封装 实现的第二代自研&a…...

html+css+js网页设计 电商模版4个页面

htmlcssjs网页设计 电商模版4个页面 带js 网页作品代码简单&#xff0c;可使用任意HTML编辑软件&#xff08;如&#xff1a;Dreamweaver、HBuilder、Vscode 、Sublime 、Webstorm、Text 、Notepad 等任意html编辑软件进行运行及修改编辑等操作&#xff09;。 获取源码 1&…...

区块链技术在Facebook中的潜力:未来趋势与挑战

数据安全的新高度 区块链技术以其去中心化和不可篡改的特性&#xff0c;正在成为提升数据安全和隐私保护的重要工具。Facebook作为全球最大的社交媒体平台之一&#xff0c;正积极探索如何将区块链技术应用于其平台&#xff0c;以增强用户数据的安全性和隐私保护。Facebook在应…...

dockerfile自定义镜像

目录 概念 基于dockerfile创建 dockerfile的命令 构建容器 FROM ENTRYPOINT和CMD RUN COPY和ADD 工作目录和环境变量以及容器卷&#xff08;挂载卷&#xff09; EXPOSE 实战 概念 dockerfile就是自定义镜像&#xff0c;通过dockerfile创建的都是镜像&#xff0c;而…...

【工作状态】如何保持专注?

好的睡眠计划主题化 1、保持足够的睡眠&#xff0c;才能头脑清晰和有精力&#xff0c;工作不是纯拼体力&#xff0c;要用脑力的。 2、脑力主要工作放在午餐前&#xff0c;在脑力充足的时候使用脑力&#xff0c;下午五点后可以安排脑力活动较低的工作&#xff0c;比如听课读书。…...

欧科云链研究院对话:风浪越大鱼越贵—链上数据洞悉加密市场规律

作者 Hedy 出品 OKG Research “我们从来就不是理性人。但可以用最简单的工具——链上数据做‘最猛’的分析。” 在经历了超级宏观周之后&#xff0c;金融市场产生了巨大的震荡&#xff0c;加密市场的表现也越来越受到宏观经济因素的影响。欧科云链研究院OKG Research 集结多…...

SQLite库笔记:日期和时间函数

1. 函数概述 SQLite支持7个日期和时间函数&#xff0c;如下&#xff1a; 1 date(time-value, modifier, modifier, ...) 返回YYYY-MM-DD格式的日期 2 time(time-value, modifier, modifier, ...) 返回HH:MM:SS格式的时间 3 datetime(time-value, modifier, modifier, ...…...

Linux开发板运行报错/system/bin/sh: can‘t create /dev/leds: Permission denied

Linux开发板运行报错/system/bin/sh: cant create /dev/leds: Permission denied 1.问题解决 1.问题解决 /system/bin/sh: can’t create /dev/leds: Permission denied 在linux开发板下运行驱动报错没有权限&#xff0c;需要运行 su,同时也会停止打印 在运行&#xff1a; ch…...

月薪5W的项目经理是如何面试的?这份面试攻略请收好!

面试是项目经理求职必须经历的一关&#xff0c;但很多经验不够丰富的项目经理不知道面试会问些什么问题&#xff0c;也不知道要怎么回答&#xff0c;无疑会直接影响面试企业的判断&#xff0c;使项目经理求职受阳.所以&#xff0c;项目经理想要顺利求职&#xff0c;还是有必要掌…...

接口隔离原则

接口隔离原则 接口隔离原则就是客户端不应该依赖它不需要的接口&#xff0c;或者说类间的依赖关系应该建立在最小的接口上。 我们以搜索美女为例&#xff0c;设计了如下的类图&#xff1a; 源代码如下。美女及其实现类&#xff1a; 搜索程序及其子类源代码如下&#xff1a; 最…...

【C++ 面试 - 基础题】每日 3 题(十六)

✍个人博客&#xff1a;Pandaconda-CSDN博客 &#x1f4e3;专栏地址&#xff1a;http://t.csdnimg.cn/fYaBd &#x1f4da;专栏简介&#xff1a;在这个专栏中&#xff0c;我将会分享 C 面试中常见的面试题给大家~ ❤️如果有收获的话&#xff0c;欢迎点赞&#x1f44d;收藏&…...

端到端测试自动化:使用JavaScript打造可靠的Web应用

端到端测试&#xff08;End-to-End Testing&#xff0c;简称E2E测试&#xff09;是软件测试的一种形式&#xff0c;用于验证整个应用从端到端的流程是否按预期工作。在JavaScript生态系统中&#xff0c;E2E测试通常使用专门的框架来模拟用户交互&#xff0c;验证应用的业务逻辑…...

『大模型笔记』基于LLM生成真实世界数据的合成问答数据!

基于LLM生成真实世界数据的合成问答数据! 文章目录 一. 基于LLM生成真实世界数据的合成问答数据!1. 概述(Overview)2. 场景(Scenario)2.1. 概述2.1.1. 第1阶段:构建种子数据集(Stage 1. Constructing a seed dataset)2.1.2. 第2阶段:数据增强(可选)(Data Augmentation…...

一个使用Python和`scikit-learn`库实现KMeans聚类算法的简单示例

一个使用Python和scikit-learn库实现KMeans聚类算法的简单示例。首先&#xff0c;请确保您已经安装了scikit-learn库。如果没有安装&#xff0c;可以通过pip安装它&#xff1a; pip install scikit-learn下面是一个简单的例子&#xff0c;展示如何使用scikit-learn中的KMeans进…...

记录一下vue2和vue3中如何配置keep-alive及写法上的差异

应用场景 跳转下一个页面后&#xff0c;返回当前页面&#xff0c;或者在多个页面之间切换&#xff0c;保留页面中的所有状态&#xff0c;常见的就是填写到一半的表单。h5的tabbar页面缓存&#xff0c;避免重复加载数据。 主要实现思路 这个东西很常见&#xff0c;动态路由一…...

wordpress可视化菜单/黄页推广

一、选择题(本题为单项选择题&#xff0c;每题1分&#xff0c;多选&#xff0c;不选或错选均不得分&#xff0c;)&#xff1a;(25分)1、世界上第一台电子数字计算机是(B)年出现的。A、1958B、1946C、1965D、19472、微型计算机的发展史可以看作是(A )的发展历史。A、微处理器B、…...

南城网站建设公司案例/镇江网页设计

table在第一次往HashMap中put元素的时候初始化&#xff0c;如果HashMap初始化的时候没有指定容量&#xff0c;那么初始化table的时候会使用默认的DEFAULT_INITIAL_CAPACITY参数&#xff0c;也就是16&#xff0c;作为table初始化时的长度。 如果HashMap初始化的时候指定了容量&…...

网站建设交接协议书/站长工具seo综合查询官网

关联博客&#xff1a;《kubernetes/k8s CRI 分析-容器运行时接口分析》 《kubernetes/k8s CRI 分析-kubelet创建pod分析》 之前的博文先对 CRI 做了介绍&#xff0c;然后对 kubelet CRI 相关源码包括 kubelet 组件 CRI 相关启动参数分析、CRI 相关 interface/struct 分析、CRI…...

我是做网站的 怎么才能提高业绩/全网整合营销平台

文章目录前言1、乐观锁2、悲观锁3、自旋锁4、可重入锁&#xff08;递归锁&#xff09;5、读写锁6、公平锁7、非公平锁8、共享锁9、独占锁10、重量级锁11、轻量级锁12、偏向锁13、分段锁14、互斥锁15、同步锁16、死锁17、锁粗化18、锁消除19、synchronized20、Lock和synchronize…...

建设银行网站的目的是什么/关键词词库

数据结构中的栈不要与 Java 中的栈混淆&#xff0c;他们俩不是一回事&#xff0c;数据结构中的栈是一种受限制的线性表&#xff0c;栈具有先进后出、后进先出的特点&#xff0c;因为栈只允许访问最后一个数据项&#xff0c;即最后插入的数据项。也许你会有疑问&#xff0c;栈既…...

网站建设哪个品牌好/2345网址导航下载桌面

题目背景 大家都知道&#xff0c;基因可以看作一个碱基对序列。它包含了444种核苷酸&#xff0c;简记作A,C,G,TA,C,G,TA,C,G,T。生物学家正致力于寻找人类基因的功能&#xff0c;以利用于诊断疾病和发明药物。 在一个人类基因工作组的任务中&#xff0c;生物学家研究的是&#…...