【13】Camunda7-第一个BPMN流程

在前一篇博文里,我们介绍了Camunda Modeler,那么接下来,我们就使用这个设计器工具绘制我们的第一个BPMN流程。


1. 场景概述

关于第一个流程,这里计划以我们最常见的请假审批流程为例,它涉及到表单设计、人工审批任务等典型节点。下面将详述设计过程。

2.模型设计

2.1 建立模型工程

首先,新建一个Camunda7 BPMN的空白画布。

2.2 添加图元,构建完整流程

在创建空白画布后,可以看到,默认情况下只有一个默认图元存在,即开始事件。这里我们安装请假流程所需的各个环节,把相应的图元拖拽至设计区域,初步构建完整流程:

  • 开始事件:标志流程开始,申请人填写表单
  • 用户任务1:模拟一级审批,例如组长审批等
  • 用户任务2:模拟二级审批,例如经理审批等
  • 结束事件:标志流程结束

2.3 图元选择与属性配置

2.3.1 流程全局配置

填写流程名称:请假流程示例,并勾选Executable,其他使用默认配置即可。

2.3.2 创建表单

众所周知,一般请假的场景下,申请人是需要填写一个请假申请表的,基本涵盖申请人、申请天数等信息,这里我们就设计一个简单的请假申请表单。 我们使用Camunda开始事件的From属性来实现表单相关需求,具体如下。

选择Generated Task Forms并创建两个fields:name-申请人,day-请假天数,均不设置默认值。

2.3.3 配置人工审批任务

在案例场景中,我们有2个用户任务,分别模拟组长、经理审批。因此,修改Task图元为具体的UserTask用户任务图元。

完成图元类型修改后,我们进一步对2个用户任务进行配置,这里我们假定组长是张三,经理是李四,进而配置用户任务指定的处理人分别为zhangsan, lisi。

2.3.4 完成流程建模

在第一个流程案例中,结束事件无需其他位置。至此,第一个流程案例的建模已经完成,具体流程如下。

2.4 保存流程定义/模型

点击file-save file保存已完成建模的流程定义;同时也可以导出流程定义的xml形式。

<?xml version="1.0" encoding="UTF-8"?>
<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:modeler="http://camunda.org/schema/modeler/1.0" id="Definitions_0vpu411" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="5.19.0" modeler:executionPlatform="Camunda Platform" modeler:executionPlatformVersion="7.20.0">
  <bpmn:process id="Process_1p8hbtn" name="请假流程示例" isExecutable="true" camunda:historyTimeToLive="180">
    <bpmn:startEvent id="StartEvent_1" name="开始">
      <bpmn:extensionElements>
        <camunda:formData>
          <camunda:formField id="name" label="申请人" type="string" />
          <camunda:formField id="day" label="请假天数" type="long" />
        </camunda:formData>
      </bpmn:extensionElements>
      <bpmn:outgoing>Flow_1xnw69x</bpmn:outgoing>
    </bpmn:startEvent>
    <bpmn:sequenceFlow id="Flow_1xnw69x" sourceRef="StartEvent_1" targetRef="Activity_1i9x3bn" />
    <bpmn:sequenceFlow id="Flow_1pxf9yp" sourceRef="Activity_1i9x3bn" targetRef="Activity_080lqdu" />
    <bpmn:endEvent id="Event_0ea6i5r">
      <bpmn:incoming>Flow_006sco1</bpmn:incoming>
    </bpmn:endEvent>
    <bpmn:sequenceFlow id="Flow_006sco1" sourceRef="Activity_080lqdu" targetRef="Event_0ea6i5r" />
    <bpmn:userTask id="Activity_1i9x3bn" name="组长审批" camunda:assignee="zhangsan">
      <bpmn:incoming>Flow_1xnw69x</bpmn:incoming>
      <bpmn:outgoing>Flow_1pxf9yp</bpmn:outgoing>
    </bpmn:userTask>
    <bpmn:userTask id="Activity_080lqdu" name="经理审批" camunda:assignee="lisi">
      <bpmn:incoming>Flow_1pxf9yp</bpmn:incoming>
      <bpmn:outgoing>Flow_006sco1</bpmn:outgoing>
    </bpmn:userTask>
  </bpmn:process>
  <bpmndi:BPMNDiagram id="BPMNDiagram_1">
    <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Process_1p8hbtn">
      <bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="StartEvent_1">
        <dc:Bounds x="179" y="99" width="36" height="36" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="186" y="142" width="23" height="14" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Event_0ea6i5r_di" bpmnElement="Event_0ea6i5r">
        <dc:Bounds x="592" y="99" width="36" height="36" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Activity_1dc59bl_di" bpmnElement="Activity_1i9x3bn">
        <dc:Bounds x="270" y="77" width="100" height="80" />
        <bpmndi:BPMNLabel />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Activity_1b471g9_di" bpmnElement="Activity_080lqdu">
        <dc:Bounds x="430" y="77" width="100" height="80" />
        <bpmndi:BPMNLabel />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge id="Flow_1xnw69x_di" bpmnElement="Flow_1xnw69x">
        <di:waypoint x="215" y="117" />
        <di:waypoint x="270" y="117" />
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_006sco1_di" bpmnElement="Flow_006sco1">
        <di:waypoint x="530" y="117" />
        <di:waypoint x="592" y="117" />
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_1pxf9yp_di" bpmnElement="Flow_1pxf9yp">
        <di:waypoint x="370" y="117" />
        <di:waypoint x="430" y="117" />
      </bpmndi:BPMNEdge>
    </bpmndi:BPMNPlane>
  </bpmndi:BPMNDiagram>
</bpmn:definitions>

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

从0开始用TCN预测股价

源码地址 由于用的是tensflow&#xff0c;其实和pytorch差不多看懂就行&#xff08;pytorch版本我还在改&#xff0c;有些难度&#xff09;因为这里面的tcn结构是用的 别人的代码https://github.com/philipperemy/keras-tcn 首先说一下什么是TCN 首先我想说 我们预测股票价格…

Science项目文章 | 中国农科院作科所研究团队解析“复粒稻”多粒簇生的机制

2024年3月8日&#xff0c;由中国农业科学院作物科学研究所童红宁研究员领衔的研究团队在Science发表题为“Enhancing rice panicle branching and grain yield through tissue-specific brassinosteroid inhibition”的研究论文。该研究报道了复粒稻多粒簇形成的机制&#xff0…

python-flask项目的服务器线上部署

在部署这部分我首先尝试了宝塔面板&#xff0c;始终连接失败 换了一种思路选择了Xshell成功连接 首先我们需要下载个免费版本的Xshell 免费的&#xff1a;家庭/学校免费 - NetSarang Website 下载完毕打开 1新建-> 输入服务器的账号密码&#xff1a; 在所有会话中点击自…

WalleWeb简化你的DevOps部署流程

walle-web&#xff1a;简化部署流程&#xff0c;提升开发效率&#xff0c;Walle Web让DevOps触手可及 - 精选真开源&#xff0c;释放新价值。 概览 Walle Web是一个功能强大且免费开源的DevOps平台&#xff0c;旨在简化和自动化代码部署流程。它支持多种编程语言&#xff0c;包…

学习axios拦截器

axios拦截器的作用&#xff1a;用于在请求发送前和响应返回后对请求和响应进行统一处理&#xff0c;例如添加公共请求头、处理请求参数、统一处理错误信息等。拦截器提供了一种灵活、高效的方式来管理HTTP请求和响应&#xff0c;帮助在前端开发中更好地处理数据交互。 这是一个…

Commons-Collections篇-CC3链

前言 我们分析前两条链CC1和CC6时&#xff0c;都是利用invoke反射调用的Runtime().getRuntime().exec()来执行命令。而很多时候服务器的代码当中的黑名单会选择禁用Runtime CC3链主要通过动态加载类加载机制来实现自动执行恶意类代码 1.环境安装 可以接着使用我们之前分析C…

植物大战僵尸杂交版2.0.88最新版安装包

游戏简介 游戏中独特的杂交植物更是为游戏增添了不少亮点。这些杂交植物不仅外观独特&#xff0c;而且拥有更强大的能力&#xff0c;能够帮助玩家更好地应对游戏中的挑战。玩家可以通过一定的条件和方式&#xff0c;解锁并培养这些杂交植物&#xff0c;从而不断提升自己的战斗…

重大变化,2024软考!

根据官方发布的2024年度计算机技术与软件专业技术资格&#xff08;水平&#xff09;考试安排&#xff0c;2024年软考上、下半年开考科目有着巨大变化&#xff0c;我为大家整理了相关信息&#xff0c;大家可以看看&#xff01; &#x1f3af;2024年上半年&#xff1a;5月25日&am…

【动手学深度学习】卷积神经网络(AlexNet)的研究详情

目录 &#x1f30a;1. 研究目的 &#x1f30a;2. 研究准备 &#x1f30a;3. 研究内容 &#x1f30d;3.1 卷积神经网络&#xff08;AlexNet&#xff09; &#x1f30d;3.2 练习 &#x1f30a;4. 研究体会 &#x1f30a;1. 研究目的 多层感知机模型选择&#xff1a;比较不同…

【devops】 Bytebase 一站式开源 数据库DevOps平台

初识 Bytebase 1、安装 安装地址 https://www.bytebase.com/docs/get-started/self-host/#docker 安装指令 docker run --init \--name bytebase \--publish 8080:8080 --pull always \--volume ~/.bytebase/data:/var/opt/bytebase \bytebase/bytebase:2.18.02、登录-dashboa…

山东大学软件学院项目实训-创新实训-基于大模型的旅游平台(二十七)- 微服务(7)

11.1 : 同步调用的问题 11.2 异步通讯的优缺点 11.3 MQ MQ就是事件驱动架构中的Broker 安装MQ docker run \-e RABBITMQ_DEFAULT_USERxxxx \-e RABBITMQ_DEFAULT_PASSxxxxx \--name mq \--hostname mq1 \-p 15672:15672 \-p 5672:5672 \-d \rabbitmq:3-management 浏览器访问1…

gkuubibiih

c语言中的小小白-CSDN博客c语言中的小小白关注算法,c,c语言,贪心算法,链表,mysql,动态规划,后端,线性回归,数据结构,排序算法领域.https://blog.csdn.net/bhbcdxb123?spm1001.2014.3001.5343 给大家分享一句我很喜欢我话&#xff1a; 知不足而奋进&#xff0c;望远山而前行&am…

SwiftUI中Menu和ControlGroup的使用

本篇文章主要介绍一下Menu组件和ControlGroup组件的使用。Menu组件是在iOS 14&#xff08;tvOS 17&#xff09;推出的一个组件&#xff0c;点击后提供一个可选择的操作列表。ControlGroup组件是一个容器视图&#xff0c;以视觉上适当的方式为给定的上下文显示语义相关的控件&am…

钢基础知识介绍

钢铁是一种铁碳合金&#xff0c;含有一定量的碳和其他合金元素&#xff0c;如硅、锰等。而钢材则是经过加工处理后的钢铁材料&#xff0c;具有更高的强度、硬度、塑性和韧性。钢铁的硬度、强度和耐磨性相对较低&#xff0c;而钢材经过加工处理后&#xff0c;其硬度、强度和耐磨…

训练营第二十七天 | 491.递增子序列46.全排列47.全排列 II332.重新安排行程51. N皇后

491.递增子序列 力扣题目链接(opens new window) 给定一个整型数组, 你的任务是找到所有该数组的递增子序列&#xff0c;递增子序列的长度至少是2。 示例: 输入: [4, 6, 7, 7]输出: [[4, 6], [4, 7], [4, 6, 7], [4, 6, 7, 7], [6, 7], [6, 7, 7], [7,7], [4,7,7]] 说明: …

企业(园区)智慧能源双碳平台解决方案

园区作为工业企业集聚区&#xff0c;在提供了大量基础设施和公共服务的同时也成为了碳排放的主要源头。工业园区的耗能约占全社会总耗能的69%&#xff0c;碳排放占全国总排放约31%。工业园区节能、减耗、提质、减碳工作的落实&#xff0c;是我国实现碳达峰碳中和目标的必然要求…

关系代数与规范化

本文是根据自己的理解&#xff0c;结合实践整理所得&#xff0c;有兴趣的可以参考学习。

P3. 创建个人中心页面

P3. 创建个人中心页面 0 概述Tips1 个人中心页面1.1 创建 Bot 表及 pojo, mapper1.2 实现 Bot 增删改查的 API1.3 实现个人中心页面前端 0 概述 主要介绍了一下添加一个表(类)&#xff0c;及其CRUD的前端和后端的实现方式&#xff0c;介绍的是通用的方法。 后端的CRUD很好写&am…

TCP/IP协议介绍——三次握手四次挥手

TCP/IP&#xff08;Transmission Control Protocol/Internet Protocol&#xff0c;传输控制协议/网际协议&#xff09;是指能够在多个不同网络间实现信息传输的协议簇。TCP/IP协议不仅仅指的是TCP 和IP两个协议&#xff0c;而是指一个由FTP、SMTP、TCP、UDP、IP等协议构成的协议…

Capture One Pro 23:专业 Raw 图像处理的卓越之选

在当今的数字摄影时代&#xff0c;拥有一款强大的图像处理软件至关重要。而 Capture One Pro 23 for Mac/Win 无疑是其中的佼佼者&#xff0c;为摄影师和图像爱好者带来了前所未有的体验。 Capture One Pro 23 以其出色的 Raw 图像处理能力而闻名。它能够精准地解析和处理各种…