第 16 章 Business Central 中的业务流程
业务流程是一个图,描述必须使用流图表执行一系列步骤的顺序。业务流程包含一组节点,它们通过连接相互连接。每个节点代表整个过程中的一个步骤,而连接指定了如何从一个节点转换到另一个节点。
Mortgage_Process 示例包含以下预定义的 MortgageApprovalProcess 业务流程。
16.1. 创建业务流程 复制链接链接已复制到粘贴板!
以下流程逐步指导您完成组成 MortgageApprovalProcess 业务流程的任务、连接和网关。mortgage 验证业务流程确定了分流应用程序是否包含所有必需数据。如果满足指定的数据要求,则应用程序将继续进入分流计算业务流程。
流程
-
在 Business Central 中,前往 Menu
Design Projects Mortgage-Process。 -
点 Add Asset
Business Process。 输入以下值:
-
业务流程 :
MortgageApprovalProcess
软件包 :选择
com.myspace.mortgage_app
软件包 指定创建资产的现有项目中的位置。在本例中,会在
com/myspace/mortgage_app
中创建。
-
业务流程 :
- 点 确定。图表编辑器将打开。
-
在右上角点击 Properties
图标。
-
向下滚动并展开 Process Data,然后点击 Process Variables 部分中的
。
输入以下值:
-
名称 :
应用程序
-
数据类型:
Application [com.myspace.mortgage_app]
-
名称 :
16.1.1. 创建出站连接和专用网关 复制链接链接已复制到粘贴板!
本节演示了如何创建传出连接、专用网关和业务规则任务。使用专用网关来做出决策,并根据可用数据对事件做出响应。
Red Hat Process Automation Manager 包含用于简化业务流程创建预定义节点类型。预定义的节点面板位于图表编辑器的左侧。
流程
- 将启动事件节点拖到 canvas 上。
从启动事件创建传出连接到专用网关:
在 canvas 上,点击启动事件节点并点击 Create Parallel 图标。
将鼠标悬停在并行的
图标上,然后点击 Convert into Exclusive 图标。
从专用网关到商业规则任务创建传出连接:
- 在 canvas 上,点 exclusive gateway,再点击 Create Task 图标。
将鼠标悬停在任务的
图标上,然后点击 Convert into Business Rule 图标。
配置商业规则任务:
- 点击 业务规则任务。
-
如果没有打开 Properties 面板,点右上角的 Properties
图标。
-
在 Properties 面板中,在 Name 字段中输入
Validation
。 - 展开 实现/执行,从 Rule Flow Group 菜单中选择 New,并输入 验证。
在 On Exit Action 字段中,输入以下 Java 表达式:
System.out.println(application.getProperty());
System.out.println(application.getProperty());
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
展开 数据分配,然后点击分配
旁边的。
在 Validation Data I/O 窗口中,点 Add 并创建以下分配:
数据输入和分配
- Name: application
- Data Type: Application [com.myspace.mortgage_app]
- 源:应用程序
数据类型和分配
- Name: application
- Data Type: Application [com.myspace.mortgage_app]
目标:应用程序
图 16.1. 验证数据 I/O 分配
- 在 Validation Data I/O 窗口中,单击 OK。
- 在 canvas 的上方点击 Save 来确认您的更改。
16.1.2. 定义验证数据 复制链接链接已复制到粘贴板!
本节演示了如何定义验证数据,这些数据决定了应用程序数据是否正确、包含错误或缺少的信息。
流程
从 Validation 任务创建传出连接到专用网关:
- 单击 Validation 任务,再单击 Create Parallel 图标。
将鼠标悬停在并行的
图标上,然后点击 Convert into Exclusive 图标。
从专用网关创建传出连接到新商业规则任务:
- 点 exclusive Gateway,点 Create Task 图标。
- 在下列镜像所示,将新任务拖到专用网关下方。
将鼠标悬停在任务的
图标上,然后点击 Convert into Business Rule 图标。
-
如果没有打开 Properties 面板,点右上角的 Properties
图标。
-
在 Properties 面板中,在 Name 字段中输入
Retract Validation
。 -
展开 Implementation/Execution,从 Rule Flow Group 菜单中选择 New,并
输入错误
。
配置专用网关和业务规则任务之间的连接:
点连接。
-
如果没有打开 Properties 面板,点右上角的 Properties
图标。
-
在 Properties 面板中,在 Name 字段中输入
Invalid
。 - 展开 实现/执行 并在条件表达式 部分中选择 Expression 。
从列表中,选择 drools,然后在 Condition Expression 字段中输入
ValidationErrorDO()
。
从 Retract Validation 任务创建传出连接到新用户任务:
- 点 Retract Validation 任务,点 Create Task 图标。
- 在 Validation 任务下拖动新任务,如下所示。
将鼠标悬停在任务的
图标上,然后点击 Convert into User 图标。
-
单击新用户任务并在 Properties 面板中的 Name 字段中输入
Correct Data
。 -
展开 实现/执行,并在 Task Name 字段中输入
CorrectData
。 -
从 Groups 菜单中选择 New,并输入
代理
。 -
点 Assignments 旁边的
。
在 Correct Data I/O 窗口中,点 Add 并创建以下分配:
- Name: application
- Data Type: Application [com.myspace.mortgage_app]
源:应用程序
- 数据类型和分配
- Name: application
- Data Type: Application [com.myspace.mortgage_app]
目标:应用程序
图 16.2. 正确的数据 I/O 分配
- 在 Correct Data I/O 窗口中点击 OK。
- 在 canvas 的上方点击 Save。
单击 Correct Data user 任务,然后单击 Create sequence Flow 图标,并将它拖到第一个专用网关。您的工作流应类似以下示例:
16.1.3. 计算mortgage 复制链接链接已复制到粘贴板!
mortgage 计算业务流程决定了申请者的抵押制约限制。
流程
- 返回到第二个专用网关,再创建与新警报规则任务的传出连接。
点创建的连接并在 Properties 面板中的 Name 字段中输入
Valid
。- 展开 实现/执行 并在条件表达式 部分中选择 Expression 。
-
从列表中,选择 drools,并在 Condition Expression 字段中输入
not ValidationErrorDO()
。
在 Properties 面板中点新的业务规则任务和 Properties 面板,在 Name 字段中输入
Mortgage Calculation
。-
展开 实施/执行,从 规则流组 菜单中选择 New,并输入m
ortgagecalculation
。
-
展开 实施/执行,从 规则流组 菜单中选择 New,并输入m
-
展开 数据分配,然后点击分配
旁边的。
在 Mortgage Calculation Data I/O 窗口中,点 Add 创建以下分配并点 Save。
图 16.3. mortgage Calculation Data I/O 分配
- 在 Mortgage Calculation Data I/O 窗口中单击 OK。
点 canvas 上的空空间,向下滚动、展开 Process Data,然后点击 Process Variables 旁边的
。输入以下值:
-
名称 :
inlimit
-
数据类型 :
布尔值
-
名称 :
- 从 Mortgage Calculation 任务创建传出连接到新用户任务。
-
单击用户任务,在
Name
字段中输入 Qualify。 -
展开 实现/执行,
并在
Task Name 字段中输入 Qualify。 -
从 Groups 菜单中选择 New,并输入
批准人
。 点 Assignments 旁边的
。在 Qualify Data I/O 窗口中,点 Add 创建以下分配:
图 16.4. 合格数据 I/O 分配
- 在 Qualify Data I/O 窗口中,单击 OK。
- 在 canvas 的上方点击 Save 来确认您的更改。
- 单击 Qualify 用户任务,单击 Create parallel 菜单图标,并将它转换为专用网关。
- 在 Qualify 用户任务下拖动新的专用网关。
- 从专用网关创建传出连接,并将它连接到新用户任务。
-
在 Properties 面板的 Name 字段中,点连接并在
Limit
中输入。 - 展开 实现/执行 并在 Condition Expression 部分中选择 Condition。
从 Process Variable 下拉菜单中选择 inlimit,然后从 Condition 下拉菜单中选择 Is true。
-
点用户任务,在
Name
字段中输入 final Approval。 -
展开 Implementation/Execution,在 Task Name 字段中输入
FinalApproval
。 -
从 Groups 菜单中选择 New,并输入
manager
。 点 Assignments 旁边的
。在 最后的 Approval Data I/O 窗口中,点 Add 创建以下分配:
图 16.5. 最终批准数据 I/O 分配
- 在 最后批准数据 I/O 窗口中点击 OK。
- 在 canvas 的上方点击 Save 来确认您的更改。
16.1.4. 增加停机时间 复制链接链接已复制到粘贴板!
增加故障支付业务流程,通过增加其支付方式,检查其是否代表金级评分。最终结果是最终的 loan 批准,或基于申请者无法增加支付的金金拒绝。
流程
- 点击 最终批准 用户任务,然后从用户任务快速菜单中选择 Create End。
将最终 批准用户任务下面的最终 事件移动。
返回到与 最终批准 用户任务连接的专用网关。创建第二个传出连接,并将它连接到新用户任务。
-
在 Properties 面板的 Name 字段中,点连接和输入
Not in Limit
。 - 展开 实现/执行 并在 Condition Expression 部分中选择 Condition。
- 从 Process Variable 下拉菜单中选择 inlimit,然后从 Condition 下拉菜单中选择 Is false。
点 canvas 上的空空间,向下滚动、展开 Process Data,然后点击 Process Variables 旁边的
。输入以下值:
-
名称 :
incdownpayment
数据类型 :
布尔值
-
名称 :
-
在 Properties 面板中点新用户任务,在 Name 字段中输入 increase
Down
pay。 -
展开 实现/执行,并在 Task Name 字段中输入 increases
DownPayment
。 -
从 Groups 菜单中选择 New,并输入
代理
。 点 Assignments 旁边的
。在 Increase Down pay Data I/O 窗口中,点 Add 创建以下分配:
图 16.6. 增加关闭支付数据 I/O 分配
- 在 increased Down pay Data I/O 窗口中点 OK。
- 在 canvas 的上方点击 Save 来确认您的更改。
- 点 increase Down pay user 任务,点 Create parallel 菜单图标,然后将其转换为专用网关。
- 在 Increase Down pay user 任务下拖动新的专用网关。
- 创建从专用网关到最终事件的传出连接。
-
点 Properties 面板的 Name 字段中的连接和输入
关闭支付增加
。 - 展开 实现/执行 并在 Condition Expression 部分中选择 Expresssion。
- 输入 返回 !incdownpayment; 然后从下拉菜单中选择 java。
- 从专用网关创建传出连接,并将它连接到第一个专用网关。
-
点 Properties 面板的 Name 字段中的连接和输入
关闭支付增加
。 - 展开 实现/执行 并在 Condition Expression 部分中选择 Expresssion。
- 输入 返回提示; 然后从下拉菜单中选择 java。
- 在 canvas 上方,点 Save 确认更改并保存整个业务流程。
图 16.7. 业务流程的最终版本