决策表的编辑有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-决策表使用说明的更多相关文章

  1. Ckrule业务规则管理系统简介

    1.   简述 Ckrule业务规则管理系统(BRMS)是一个集成的应用程序存储.管理.执行和测试的平台,允许组织定义.部署.监控和维护运营系统使用的各种复杂决策逻辑.Ckrule BRMS 独立于核 ...

  2. .Net规则引擎Biztalk,Workflow和CKRule的比较

    微软的规则引擎   很多朋友会问,.Net平台有没有规则引擎?像Java就有很多的规则引擎,Drools,ILog都做得非常好,但.Net好像还没有哦.很多知道规则引擎,但不知道.Net的朋友都烦这个 ...

  3. ckrule规则编辑器在wpf中的使用

    当前,ckrule的IDE和业务管理系统都是由winform开发的,规则编辑器也只提供了winform的版本,所以很多的朋友都提出意见,要有wpf的版本.wpf的界面设置和管理都更加的方便. 事实上可 ...

  4. 规则引擎ILog和CKRule的对比

    IBM™ WebSphere™ ILOG是业界最有影响力的业务规则商业软件,它提供了最好的业务规则管理系统,在Java领域更是有广泛的成功案例.网上关于ILOG的技术资料非常多,大家都比较了解ILOG ...

  5. 使用CKRule规则引擎处理多变业务

    1, 多变业务 开发系统时,有没有试过下面的情况,如果你试过,那可以考虑一下使用规则引擎了. 序号 问题 举例 1 业务规则来自于一个或多个表格 商店的会员积分表,停车场的计费标准,快递费的计算表,客 ...

  6. 使用CKRule实现PVC配方计算

    1,PVC计算的基本原理 配方员设计好配方,再进行抽象提炼,会出现相对于软件而言可以理解的逻辑,如属性的概念,对厂企生成的PVC产品而言,一般都有产品大类名称,花纹,颜色,长度,宽度,厚度等概念,这对 ...

  7. Atitit.项目修改补丁打包工具 使用说明

    Atitit.项目修改补丁打包工具 使用说明 1.1. 打包工具已经在群里面.打包工具.bat1 1.2. 使用方法:放在项目主目录下,执行即可1 1.3. 打包工具的原理以及要打包的项目列表1 1. ...

  8. awk使用说明

    原文地址:http://www.cnblogs.com/verrion/p/awk_usage.html Awk使用说明 运维必须掌握的三剑客工具:grep(文件内容过滤器),sed(数据流处理器), ...

  9. “我爱背单词”beta版发布与使用说明

    我爱背单词BETA版本发布 第二轮迭代终于画上圆满句号,我们的“我爱背单词”beta版本已经发布. Beta版本说明 项目名称 我爱背单词 版本 Beta版 团队名称 北京航空航天大学计算机学院  拒 ...

随机推荐

  1. Unity3D的ugui之按钮事件

    为Unity3D的按钮添加事件有三种方式,假设我们场景中有一个Canvas对象,Canvas对象中有一个Button对象. 方式一: 创建脚本ClickObject.cs,然后将脚本添加到Canvas ...

  2. 【STL学习】map&set

    技术不只是我的工作,也是我的生活,以后的博客中会穿插一些个人的喜悦.愤怒或者感悟,希望大家能够接受. 我所有的一切,比我技术更好的怕是我的脸皮了,昨天收到京东面试没有通过的消息,喊了几句“我好悲伤啊” ...

  3. Oracle 中 union与union all

    如果我们需要将两个select语句的结果作为一个整体显示出来,我们就需要用到union或者union all关键字. union(或称为联合)的作用是将多个结果合并在一起显示出来. union和uni ...

  4. mysql之存储引擎

    1.存储引擎概念 打比方说:一部电影有mp4,wmv,avi,flv...等格式.同样的一部电影在硬盘上有不同的存储格式,所占的空间与清晰程度也各不一样. 那么我们表里的数据存储在硬盘上,是如何存储的 ...

  5. 软件测试之WEB测试经典总结

    在Web工程过程中,基于Web系统的测试.确认和验收是一项重要而富有挑战性的工作.基于Web的系统测试与传统的软件测试不同,它不但需要检查和验证是否按照设计的要求运行,而且还要测试系统在不同用户的浏览 ...

  6. cocos2d 场景转换的方法执行顺序

    转自:http://shanbei.info/the-cocos2d-scene-conversion-method-execution-order.html 如果你希望在场景转换的过程中使用过渡效果 ...

  7. cocos2d-x 纹理研究

    转自:http://blog.csdn.net/qq51931373/article/details/9119161 1.通常情况下用PVR格式的文件来进行图片显示的时候,在运行速度和内存消耗方面都要 ...

  8. Android Error

    [2016-03-27 13:00:51 - XWeChat] Dx warning: Ignoring InnerClasses attribute for an anonymous inner c ...

  9. Redis服务快速部署

    官方对Redis的阐述: Redisis an open source, BSD licensed, advanced key-value cache and store. It is often r ...

  10. iOS 音频拼接

    工作中或许会遇到这样的需求,将两段不同的音频合成一个音频(暂且称之为音频拼接),实现起来相对来说不是很难,再介绍如何拼接之前,先了解下AVFoundation下的几个基本知识点. 基本知识 AVAss ...