CKRule BRMS-决策表使用说明
决策表的编辑有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表中。
至此,一个决策表编辑完毕。
CKRule BRMS-决策表使用说明的更多相关文章
- Ckrule业务规则管理系统简介
1. 简述 Ckrule业务规则管理系统(BRMS)是一个集成的应用程序存储.管理.执行和测试的平台,允许组织定义.部署.监控和维护运营系统使用的各种复杂决策逻辑.Ckrule BRMS 独立于核 ...
- .Net规则引擎Biztalk,Workflow和CKRule的比较
微软的规则引擎 很多朋友会问,.Net平台有没有规则引擎?像Java就有很多的规则引擎,Drools,ILog都做得非常好,但.Net好像还没有哦.很多知道规则引擎,但不知道.Net的朋友都烦这个 ...
- ckrule规则编辑器在wpf中的使用
当前,ckrule的IDE和业务管理系统都是由winform开发的,规则编辑器也只提供了winform的版本,所以很多的朋友都提出意见,要有wpf的版本.wpf的界面设置和管理都更加的方便. 事实上可 ...
- 规则引擎ILog和CKRule的对比
IBM™ WebSphere™ ILOG是业界最有影响力的业务规则商业软件,它提供了最好的业务规则管理系统,在Java领域更是有广泛的成功案例.网上关于ILOG的技术资料非常多,大家都比较了解ILOG ...
- 使用CKRule规则引擎处理多变业务
1, 多变业务 开发系统时,有没有试过下面的情况,如果你试过,那可以考虑一下使用规则引擎了. 序号 问题 举例 1 业务规则来自于一个或多个表格 商店的会员积分表,停车场的计费标准,快递费的计算表,客 ...
- 使用CKRule实现PVC配方计算
1,PVC计算的基本原理 配方员设计好配方,再进行抽象提炼,会出现相对于软件而言可以理解的逻辑,如属性的概念,对厂企生成的PVC产品而言,一般都有产品大类名称,花纹,颜色,长度,宽度,厚度等概念,这对 ...
- Atitit.项目修改补丁打包工具 使用说明
Atitit.项目修改补丁打包工具 使用说明 1.1. 打包工具已经在群里面.打包工具.bat1 1.2. 使用方法:放在项目主目录下,执行即可1 1.3. 打包工具的原理以及要打包的项目列表1 1. ...
- awk使用说明
原文地址:http://www.cnblogs.com/verrion/p/awk_usage.html Awk使用说明 运维必须掌握的三剑客工具:grep(文件内容过滤器),sed(数据流处理器), ...
- “我爱背单词”beta版发布与使用说明
我爱背单词BETA版本发布 第二轮迭代终于画上圆满句号,我们的“我爱背单词”beta版本已经发布. Beta版本说明 项目名称 我爱背单词 版本 Beta版 团队名称 北京航空航天大学计算机学院 拒 ...
随机推荐
- 1000万条数据导入mysql
今天需要将一个含有1000万条数据的文本内容插入到数据库表中,最初自然想到的是使用Insertinto '表名'values(),(),()...这种插入方式,但是发现这种方式对1000万条数据量的情 ...
- 查看linux中的TCP连接数【转】
转自:http://blog.csdn.net/he_jian1/article/details/40787269 查看linux中的TCP连接数 本文章已收录于: 计算机网络知识库 分类: ...
- TFS上使用Beyond Compare来比较源码
In Visual Studio, go to the Tools menu, select Options, expand Source Control, (In a TFS environment ...
- UIView中触摸事件touchBegin
UIView触摸事件touchBegin 等一系列方法 1)手指按下 - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event; ...
- 【M12】了解“抛出一个exception”与“传递一个参数”或“调用一个虚函数”之间的差异
1.方法参数的声明语法和catch语句的语法是一样的,你可能会认为主调方法调用一个方法,并向其传递参数,与抛出一个异常传递到catch语句是一样的,是的,有相同之处,但也有更大的不同. 2.主调方法调 ...
- Android Studio导入项目
原文:http://ask.android-studio.org/?/article/21 本篇教程中使用到的Android Studio版本为1.0, Eclipse ADT版本23.0.4.请尝试 ...
- Ubuntu下配置 keepalived+nginx+tomcat 负载均衡
本文力图阐述在 Ubuntu Server 环境下使用 Keepalived + Nginx + Tomcat 搭建高可用负载均衡环境的操作步骤和简约配置,这里不涉及性能调优.先说一下他们各自扮演的角 ...
- 代理模式及其在spring与struts2中的体现
代理模式 代理模式有三个角色组成: 1.抽象主题角色:声明了真实主题和代理主题的共同接口. 2.代理主题角色:内部包含对真实主题的引用,并且提供和真实主题角色相同的接口. 3.真实主题角色:定义真实的 ...
- 解决MVC Jquery"此请求已被阻止,因为当用在 GET 请求中时,会将敏感信息透漏给第三方网站"的问题
在ASP.NET MVC项目中,使用AJAX向控制器发送GET请求获取JSON数据时,出现这个错误:"此请求已被阻止,因为当用在 GET 请求中时,会将敏感信息透漏给第三方网站.若要允许 G ...
- Adroid_Spinner_ArrayAdapter
XML布局文件 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmln ...