「DAY14」Camunda Modeler業務規則

Posted on September 28, 2023 • 1 min read • 169 words
Share via

將業務規則任務添加到流程

將業務規則任務添加到流程

使用 Camunda Modeler 打開付款檢索流程(Payment Retrieval process),然後單擊批准付款任務(Approve Payment Task)。在扳手(wrench)按鈕菜單中將活動類型更改為業務規則任務(Business Rule Task)。

https://ithelp.ithome.com.tw/upload/images/20230928/20163254iNvZIhNnhJ.png

接下來,通過在屬性面板中更改ImplementationDMNDecision Ref將業務規則任務鏈接到 DMN 表。approve-payment為了檢索評估結果並將其自動保存為流程中的流程實例變量,我們還需要在屬性面板中將更改Result Variableapproved並使用singleEntryas 。Map Decision Result

先選DMN

https://ithelp.ithome.com.tw/upload/images/20230928/20163254xtmozYUgGB.png

https://ithelp.ithome.com.tw/upload/images/20230928/201632540Dfe2QeZbM.png

保存更改並使用DeployCamunda Modeler 中的按鈕部署更新的流程。

https://ithelp.ithome.com.tw/upload/images/20230928/20163254SIVe0qA58F.png

使用 Camunda Modeler 創建 DMN 表

首先,通過單擊File > New File > DMN Diagram創建一個新的Camunda 7 DMN 圖。

https://ithelp.ithome.com.tw/upload/images/20230928/20163254Fe3tn8WBHJ.png

現在新創建的圖表中已經添加了一個決策元素。通過單擊將其選中,然後為其指定名稱Approve Payment和 ID approve-payment(決策 ID 必須與Decision Ref您的 BPMN 流程中的 ID 匹配)。

https://ithelp.ithome.com.tw/upload/images/20230928/201632540f5Nxh0NMZ.png

https://ithelp.ithome.com.tw/upload/images/20230928/20163254F8XTJyVE8d.png

接下來,單擊表按鈕創建一個新的 DMN 表。

https://ithelp.ithome.com.tw/upload/images/20230928/20163254emPNckynaW.png

指定DMN表

首先,指定 DMN 表的輸入表達式。在此示例中,我們將根據商品名稱決定是否批准付款。您的規則還可以使用 FEEL 表達式語言、JUEL 或腳本。如果您願意,可以閱讀有關 DMN 引擎中的表達式的更多信息

“雙擊”Input以配置輸入列。用作輸入標籤(Input Label):Item輸入表達式(Input Expression): item

https://ithelp.ithome.com.tw/upload/images/20230928/201632546TgXTgW42P.png

接下來,設置輸出列。用作輸出列“Approved”的 輸出標籤Approved和輸出名稱approved

https://ithelp.ithome.com.tw/upload/images/20230928/20163254OSAdLANCSw.png

讓我們通過單擊 DMN 表左側的加號圖標來創建一些規則。我們還應該將輸出列更改為數據類型boolean

https://ithelp.ithome.com.tw/upload/images/20230928/20163254Fcsk243uHH.png

設置完成後,您的 DMN 表應如下所示:

https://ithelp.ithome.com.tw/upload/images/20230928/20163254A135ucJfOL.png

部署DMN表

要部署決策表,請單擊 Camunda Modeler 中的“Deploy”按鈕,將其命名為“Payment Retrieval Decision”,然後單擊“部署”按鈕。

https://ithelp.ithome.com.tw/upload/images/20230928/20163254TfK7FW2ARR.png

使用 Cockpit 驗證部署

現在,使用 Cockpit 查看決策表是否已成功部署。轉到http://localhost:8080/camunda/app/cockpit/並登錄。導航至“Decisions”部分。您的決策表*“Approve Payment”*應列為已部署的決策定義。

💡 **Cockpit** 預設密碼為 = 帳號:demo / 密碼:demo

https://ithelp.ithome.com.tw/upload/images/20230928/20163254TsV3mPHE7G.png

使用 Cockpit 和Tasklist 進行檢查

接下來,使用 Tasklist 啟動兩個新的流程實例,並驗證流程實例是否會根據您的輸入進行不同的路由。為此,請轉至http://localhost:8080/camunda/app/tasklist/並登錄。

💡 Tasklist 預設密碼為 = 帳號:demo / 密碼:demo

單擊start a process 按鈕啟動流程實例並選擇Payment流程。使用通用形式添加變量,如下所示:

新增以下參數(可以自由變換)

參數一:

  • Name: amount
  • Type: Integer
  • Value: 1200

參數二:

  • Name: item
  • Type: String
  • Value: item-xyz

https://ithelp.ithome.com.tw/upload/images/20230928/20163254YnsRus1GmH.png

點擊Start。

接下來,再次單擊start a process 按鈕啟動另一個流程實例並選擇該Payment流程。使用通用形式添加變量,如下所示:

新增以下參數(可以自由變換)

參數一:

  • Name: amount
  • Type: Integer
  • Value: 1200

參數二:

  • Name: item
  • Type: String
  • Value: item-zzz

https://ithelp.ithome.com.tw/upload/images/20230928/2016325418ZblDKU7s.png

您將看到,根據輸入,工作人員將向信用卡收費或不收費。您還可以驗證 DMN 表是否已使用 Camunda Cockpit 進行評估。轉到http://localhost:8080/camunda/app/cockpit/。導航至“Decisions”部分,然後單擊“Approve Payment”。通過單擊表中的 ID 檢查評估的不同決策實例。

在 Camunda Cockpit 中執行的單個 DMN 表可能如下所示:

https://ithelp.ithome.com.tw/upload/images/20230928/2016325494W3Kgdb24.png

到此第五部分結束如果想直接獲取到現在為止的進度可以使用如下命令
git checkout -f Step-5

https://ithelp.ithome.com.tw/upload/images/20230928/201632549Y6T8rnalZ.png


如果有任何問題歡迎在下方留言!! 筆者頭一回寫技術文如果內容有誤或者內容的呈現上有所缺陷如果您願意歡迎在下方留言給我呦~~

anything.best

這是我的部落格,歡迎點擊閱覽喔~~會不定期更新文章

Follow me

I work on everything coding and tweet developer memes