使用CKRule实现PVC配方计算三-业务系统.docxVIP

使用CKRule实现PVC配方计算三-业务系统.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
使用CKRule实现PVC配方计算三-业务系统

使用CKRule实现PVC配方计算(三) 1,业务系统中的抽象 上一节已经介绍了PVC配方计算在CKRule上面的定义,而CKRule不是直接面对终端客户的,业务系统才是面对客户的,也就是说客户不会直接操作CKRule,为了业务系统界面友好性和设置的需要,定义业务系统中的对象,数据表和公式编辑界面显得相当的必要了。 下面将介绍对象的定义 配方对象定义 [Serializable] public class FmlCond { public string Id { get; set; } public string ProductName { get; set; } public string OrderNo { get; set; } public string Color { get; set; } public string Spe { get; set; } public double Oil { get; set; } public string Flower { get; set; } public double Length { get; set; } public double Width { get; set; } public double Depth { get; set; } public double Density { get; set; } public double Weight { get; set; } private List物料定义 _物料集合 = new List物料定义(); public List物料定义 MatList { get { return _物料集合; } set { _物料集合 = value; } } } [Serializable] public class 物料定义 { public string Name { get; set; } public double MPercent { get; set; } public double Weight { get; set; } } 扩展说明:配方计算也许不仅仅有这些内容,还可能有更多的,如生产班组,部门,班长,时间,压纹层数,如果层数变化那厚度也会变化,而这些的定义都必须是业务系统的开发员进行的,也就是说,计算的过程可能是多变的,不简单的是上面的这样。但只要划清楚流程图,做好调用设计和对象设计,这些都不是问题,CKRule还没有集成流程功能,这可能会有一些的影响,但做常规的规则计算已经很充分了。关键还是看模型者的设计。 数据表设计 决策表数据设计,事实上,相对通用的设置也许是最合理的,下面的设计是很简单的,但这样设计即使决策表的初始化非常的方法。 TableNameProp1Prop2Prop3Prop4Prop5Prop6Prop7增透剂规范B1TM-0011    增透剂规范B2TM-0020.5    增透剂规范B3TM-0031.5    对照一个CKRule上面的设置 代码如下: 特征码Prop1!string.IsNullOrEmpty(特性) 特性 == value增透剂编码Prop2AddRow(物料集合,x={ x.名称 = value; x.份量 = CDouble(Row.Cells[Prop3].Value); });主规则中的初始化逻辑 var _table = LookDB(@select TableName,Prop1,Prop2,Prop3,Prop4,Prop5,Prop6 from TableSet); InitTable(_table); 客户规则池数据表 SIndexNameIfCodeThenCodeElseCodePriorityExecStep0按订单第2位加增塑剂取第N个字符(订单号,1) == X增加份量(DINP,2); 10 主规则中的初始化逻辑 var _table = LookDB(@select as id, sindex as index, as returnType, Get + name as propname, 1 as c

文档评论(0)

zhuliyan1314 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档