程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> CKRule BRMS-決策表使用說明,ckrulebrms-

CKRule BRMS-決策表使用說明,ckrulebrms-

編輯:C#入門知識

CKRule BRMS-決策表使用說明,ckrulebrms-


決策表的編輯有2個步驟,即規則包編輯、規則數據設置和發布。

1.   規則包編輯

雙擊CKBoot.exe打開CKRule規則引擎編輯界面。點新建,在左側的工程窗口中,就會出現一個新的規則包。點擊根結點,可以修改規則包的名稱。

1.1.  傳入傳出參數

雙擊對象庫-傳入傳出參數,打開編輯界面,把通用格式的字段填寫到界面中。

 

名稱列所填寫的內容必須符合.Net的字段命名規范,如-,空格,@等字符都不能使用,首字母不能為數字。


傳入傳出參數和自定義類型的定義,會影響到後面的所有編碼。

與外部進行json通訊時,使用的屬性名稱是映射名稱,如果映射名稱為空時才使用名稱。

1.2.  決策表定義

打開規則庫-決策表定義界面。

所謂決策表,就是用表格的形式保存規則數據,以便於一下子處理大量的規則。

其執行的核心處理邏輯就是掃描每一行,檢查相關單元格的值,當達到某種條件時,就執行相應的動作。


如設置停車場決策表時,要填寫這個表的各列信息,包含標題,數據庫字段,數據類型,邏輯類型,精度,規則等內容。其中

標題就是決策表最終顯示在前端時的列標題。

數據庫字段就是綁定到管理平台或其他數據庫的字段。當前是綁定到管理平台上面的RoolTbl表的,該表的數據如下:


數據類型用於控制輸入時使用的類型,以減少輸入的差錯。

邏輯類型是指條件、結論或無。設置時,條件和結論都必須存在,可以存在多個。如果存在多個條件,意思就是多個條件都成立時,就執行一個或多個結論。當代碼比較復雜,不太適合這種定義時,可以直接使用結論列,填寫相關的代碼,而條件列則填寫1==1;即可,意思為就像編輯中的if(1==1){}。

規則編寫

選擇結論列的腳本,點設置後彈出如下界面。


這個界面可以設置遍歷時使用的腳本。

如需要獲取當前行的對象時,使用Row屬性,Row.Cells[“Prop1”].Value意思就是獲取當前行,並且數據庫名稱為Prop1的單元格的值,這個值的類型為string。通過這個Row屬性就可以獲取所有單元格的值。

CDouble是系統內置的方法,點擊界面左邊的類別—擴展(15),就可以查看不同函數的用法。同時,該界面也可以直接使用.Net自身的所有API。

上面的代碼的意思是,找出各個單元格的值,並轉換為正確的類型,遍歷傳入的所有點位數據,如果點位值在區間之中,且類型為“信息”,就將信息設置為其中一個單元格的內容。

1.3.  主規則

本功能用於調用客戶端編寫的規則。

上面2個步驟,用於定義決策表,而主規則界面可以調用決策表邏輯。雙擊規則庫-主規則,新增一個規則集。


在規則集中添加如下代碼:


詳細代碼如下:


代碼的作用是,讀取規則管理平台中的RuleTbl的數據,初始化決策表,然後執行決策表。

2.   規則數據設置與發布

編輯規則數據和發布規則等功能都在規則管理平台中進行的。

2.1.  規則包管理

登錄規則管理平台,打開規則包管理界面,找到相應的分類,右鍵新增規則。


點擊浏覽,找到剛才生成的ckp文件,系統自動加載規則包名稱,填寫到編碼,名稱上面。而字段就會拉出規則的輸入輸出信息。在編輯類型中,選擇決策表。

2.2.  規則發布

打開規則發布界面


找到未發布的規則包,雙擊行記錄。

在界面下部會顯示該規則的相關的信息,如當前規則、服務開始時間、服務結束時間和服務類型。服務開始時間必須小於當前時間,服務結束時間必須大於當前時間,服務類型選擇Json即可。然後點擊發布。

2.3.  規則數據設置

打開規則數據設置界面,該界面顯示所有已經發布的記錄。


找到對應的規則,點擊用決策表設置。彈出決策表編輯界面。


上圖中,運行時機和描述都是由規則包編輯時設置的,而表格中的各列,都是決策表設置的各列。數據保存後,會按數據庫字段對應的內容,保存到RoolTbl表中。

至此,一個決策表編輯完畢。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved