决策自动化

在本章中,我们将使用DMN为流程添加一个业务规则

将业务规则添加到流程中

打开 Camunda Modeler,点击 “批准付款”,在右面的扳手菜单中,将类型改为“Business Rule Task ”(业务规则任务)

image-20210528073900585

下一步,将属性面板中的 Implementation 选择为DMN

输入 Decision Refapprove-payment

为了将决策的结果存入流程变量,我们还需要编辑结果变量Result Variableapproved

结果类型 Map Decision Result 选择为 singleEntry ,最后结果如下:

image-20210528074516059

最后保存并部署到流程引擎

使用 amunda Modeler 创建DMN表

点击 File > New File > DMN Diagram 创建一个新的DMN

现在画布上已经存在一个决策元素了,选择它,然后在右侧属性面板中更改Id和Name,这里的Id需要和流程中的Decision Ref属性一致,这次我们输入Id为approve-payment

image-20210528075445291

接下来,点击决策元素左上角的表格按钮,创建新的DMN表

image-20210528075559654

编辑DMN表

首先编辑输入参数,在本例中,为了简单,我们依据项目名进行判断,规则可以使用 FEEL 表达式JUEL 或者 Script 书写,详情可以阅读DMN引擎中的表达式

双击表格中的Input,编辑第一个输入参数

Label : 项目

Expression : item

image-20210528081127492

下面,设置输入参数,双击Output编辑

Label : 是否同意

Name: approved

Type : boolean

image-20210528081536874

下面,我们点击左侧的蓝色加号,添加一些规则,最后类似这样:

image-20210528083218327

部署DMN表

点击顶部的部署按钮,将DMN部署到流程引擎中

image-20210528081952664

测试一下

现在打开 http://localhost:8080/camunda/app/cockpit/ ,使用demo/demo登录,可以看到决策定义增加了一个,点击进去可以看到刚才编辑的DMN

image-20210528082215962

接下来,打开 http://localhost:8080/camunda/app/tasklist/ ,使用demo/demo登录,点击 Start process 按钮,使用以下参数启动:

再点击一次 Start process 按钮,使用如下参数启动:

这里,我们改变了输入的 item,下面我们打开 http://localhost:8080/camunda/app/cockpit/ 点击 Decision Definitions ,可以看到刚才创建的两个流程实例,点击查看“批准付款”的决策情况

image-20210528083538709

到此第五部分结束,如果想直接获取到现在为止的进度,可以使用如下命令

git checkout -f Step-5

恭喜:你已经完成了快速入门部分
接下来进入 Spring Boot集成与进阶内容 的学习