规则引擎

总体概述
整个产品由两部分构成:一个是设计器部分;另一个是规则执行引擎部分。核心是执行引擎部分,可独立为领域业务提供规则的解析和执行,也可以结合设计器满足用户自定义规则并且执行的需求。
- 规则管理:规则定义入口可以在领域(如共享智能审核方案),也可以在平台(如智能会计凭证交叉校验);
- 规则执行:平台提供核心引擎服务执行规则,以SDK、服务接口、Rule等多种方式提供规则的解析执行服务。

规则引擎应用架构图
应用价值
规则引擎将复杂的业务逻辑从业务代码中剥离出来,降低业务逻辑实现难度;同时,剥离的业务规则使用规则引擎实现,这样可以使多变的业务规则变的可维护,配合规则引擎提供的业务规则设计器,不用编码就可以快速实现复杂的业务规则,同样,即使是完全不懂编程的业务人员,也可以轻松上手使用规则引擎来定义复杂的业务规则;
运行过程中由于系统业务的调整带来业务规则变化,有了规则引擎,业务规则部分采用的是规则引擎实现,这样在系统正常运行的情况就可以利用规则引擎对业务规则进行修改,从而实现业务规则的随需而变。
应用场景
场景一:凭证交叉校验规则
业务描述
录入凭证时会计科目与辅助核算之间的校验关系。
业务流程
数据示例:
项目基础数据示例(项目分类是项目的一个属性,其他字段不做展示)
| 项目名称 | 项目分类 |
|---|---|
| 项目Z1 | 在建工程 |
| 项目Z2 | 在建工程 |
| 项目Z3 | 在建工程 |
| 项目ZN | 在建工程 |
| 项目K1 | 科研项目 |
| 项目K2 | 科研项目 |
科目与辅助核算项或者辅助核算项里面的某个属性建立关联关系,当在编制凭证时,如果录入了该科目,则该科目的核算核算项限定在设置的范围内或在保存时校验相关关系:
(1)科目与辅助核算项之间建立关联关系(一般项目都会有几百个,多的是几千个、科目一般是几百个,华为项目科目两千多个,但是并不是所有的科目都带有核算项)
| 规则输入 | 规则输出 | 说明 |
|---|---|---|
| 会计科目=160101 or 160102 | 项目名称 in(Z1, Z2,Z3,Zn…) | 当凭证中录入了科目160101或160102时,辅助核算项目只能选择项目Z1,项目Z2,项目Z3,项目Zn范围内的值 |
| 会计科目=160103 | 项目名称!=Z2 | 当凭证中录入了160103科目时,辅助核算不能选择项目Z2 |
| 会计科目=160104 or 160105 | 项目名称 包含”Z” | 当凭证中录入了科目160104或160105时,辅助核算项目只能选择项目Z开始的项目 |
(2)科目与辅助核算项属性建立关联关系
| 规则输入 | 规则输出 | 说明 |
|---|---|---|
| 会计科目=160 |
规则引擎
总体概述整个产品由两部分构成:一个是设计器部分;另一个是规则执行引擎部分。核心是执行引擎部分,可独立为领域业务提供规则的解析和执行...
点击下载文档文档为doc格式
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
上一篇
已经是第一篇



