专业版规则链开发
一、什么是规则链
规则链是由多个规则组成的链条,规则可以看成一段处理业务逻辑的代码。单据里的提交、保存等系统命令都有自己对应的规则链。
当单据中的按钮预制的动作不能满足现有需求时,需要进行规则链的扩展。
二、规则链的添加方式
1、方式一
创建自定义后端函数,设置关联;
2、方式二
后端脚手架扩展规则类实现;
3、两者的区别
后端函数可以实现简单查询,后端脚手架扩展可以实现数据库查询、脚手架服务调用动等复杂业务;
三、规则链开发实战
1、新建应用:
在应用构建应用管理中,选择新建应用,新建应用页面中输入应用名称,选择所属领域,在应用引擎出选择创建的专业版引擎后,设置应用编码。
2、页面建模
应用创建以后,进入应用,在对象建模中选择创建实体对象,添加字段后发布实体,专业版要在对应的数据库中执行建表语句。
3、页面属性设置
在页面建模中新建页面,选择对应的单据类型。
4、绑定元数据
设置完成后,点击下一步,输入页面名称和页面编码,选择新建的实体对象。点击完成按钮,生成页面。
5、列表页和卡片页
完成后有两个页面:列表和卡片
6、UI编辑态页面按钮设置
点击详情页面,打开UI编辑态页面,点击保存按钮,在右侧动作tab页中,点击保存按钮后面的配置
7、系统预制规则链
页面中可以看到保存按钮系统预制的规则链,系统预制的不可以删除和调整顺序,开发者新增的规则是可以操作的。
8、新增规则
点击图中标识的小按钮
9、规则属性设置:
9.1、第一种方式:后端函数
9.1.1、选择添加后端函数:
设置完成后,点保存按钮保存一下。
9.1.2、规则顺序的调整
在配置页面,鼠标放到规则上,光标变成小手的标识时,拖动规则可以调整上下顺序,此处的位置就是规则链执行的顺序。
9.1.3、规则添加完成后测试规则是否生效。
以下示例中的后端函数实现的功能是,在单据新增数据时,给字段new2设置一个默认值999,函数中具体数据的取值和赋值可以通过函数调试的方式查看,具体调试方法可参考函数扩展中后端函数相关内容。
9.1.4、添加成功的数据
9.2、添加规则链第二种方式:脚手架扩展
9.2.1、新建实现类
专业版后端脚手架中,通过继承com.yonyou.ucf.mdd.ext.bill.rule.base.AbstractCommonRule,并将该类通过@Component或@Service注册到Spring 中管理。
9.2.2、规则链绑定
在配置中输入自定义规则名称,设置完成后保存。
9.2.3、规则链本地代码调试
根据自己本地hosts文件配置,替换下图中域名为本地地址:http://local.yonyoucloud.com:3003/,
本地调试访问地址如下:
9.2.4,本地调试,页面设置token
此处页面需要设置token,在已打开的页面中F12取yht_access_token的值复制到此页面中
9.2.5、保存数据,调用后端函数
在列表页中新增数据,点击保存按钮就会调用本地脚手架服务,后端服务可以debug方式启动,看下参数传递值。
9.2.6、业务代码实现
业务代码在execute中实现,抛出业务异常可以通过throw new BusinessException("提示信息")实现。