camunda快速入门(四):如何设计一个带条件分支的流程

在本节中,您将学习如何使用 BPMN 2.0 排他网关(Exclusive Gateways)使流程更加动态。

1、添加两个网关

我们想修改我们的流程,使其更具动态性。

为此,请在 Camunda Modeler 中打开该过程。

接下来,从 Modeler 的左侧菜单中,选择网关形状(菱形)并将其拖动到“开始事件”和“服务任务”之间的位置。根据需要再次使用创建空间工具。向下移动用户任务,并在其后添加另一个网关。最后,调整序列流,使模型如下所示:

IMG_257

现在也相应地命名新元素:

2-向进程添加网关 (1)

2、配置网关路由条件

接下来,打开属性面板,在画布上选择select the <1000 € 网关之后的序列流。这将更新属性面板中的选择。滚动到名为Condition的属性,并将其更改为Expression。然后输入 ${amount<1000}作为表达式。我们正在使用 Java 统一表达式语言( Java Unified Expression Language)来评估网关。

IMG_259

接下来,也更改其他序列流的表达式。

对于 >=1000 € 序列流,请使用表达式: ${amount>=1000}

4-向进程添加网关 (1)

对于Yes序列流,请使用表达式: ${approved}

IMG_261

对于No序列流,请使用表达式: ${!approved}

6-向进程添加网关 (1)

3、部署网关流程

流程设计完成后,使用 Camunda Modeler 中的Deploy按钮将更新的流程部署到 Camunda,记得要附加表单模型一起发布。

7-发布流程

4、处理任务,验证网关

转到任务列表 (http://localhost:8080/camunda/app/tasklist/) 并使用凭据“demo / demo”登录。点击 启动过程按钮启动付款检索流程的流程实例。接下来,使用表单为流程实例设置变量,正如我们在“用户任务”部分中所了解的那样。

8-启动流程

填写屏幕截图中所示的表单,并确保使用大于或等于 1000 的金额,以便查看用户任务批准付款。完成后,单击“开始”。

单击“所有任务”时,您应该会看到“Approve Payment(批准付款)”任务。

8-流程实例

在本快速入门中,我们以管理员用户身份登录 Tasklist,因此我们可以看到与流程关联的所有任务。但是,可以在任务列表中创建筛选器,以确定哪些用户可以根据用户授权以及其他条件查看哪些任务。

要处理该任务,请选择“表单”选项卡并选中“已批准”复选框,以便我们的付款检索获得批准。我们应该看到我们的工作线程将某些内容打印到控制台。

9-流程表单

您可以重复相同的步骤,创建一个数量小于 1000 的实例,以确认第一个网关是否正常工作。

5、源码和文档

在线体验系统:http://www.yunchengxc.com

源代码下载:https://github.com/camunda/camunda-get-started-quickstart/archive/Step-4.zip

官方文档地址:https://docs.camunda.org/get-started/quick-start/gateway/

接下来,让我们看一下如何将业务规则添加到流程中,使用决策自动化执行流程,初步了解camunda规则引擎的使用,DMN决策表的基本配置。

posted @ 2024-07-09 08:22  大龄码农有梦想  阅读(287)  评论(0编辑  收藏  举报