结账检查项插件开发教程及示例

1.业务场景
业务系统结账时,有些客户需要根据自己的业务需求自定义设置检查项,但是这些检查项有没有办法通过简单的配置来实现,这时候,我们可以通过插件的形式来完成检查项的配置。下面
2.插件开发教程及示例
2.1自定义检查项插件开发示意图

1) 插件由各应用根据业务需要自行开发(除系统预置插件除外);
2) 插件编译好的class文件需要部署到各自应用的运行时环境中;
3) 插件需要实现接口kd.bos.ext.fi.fcm.IClosePeriodCheckPlugin (位于bos-ext-fi包中);
2.1 插件接口定义说明
public interface IClosePeriodCheckPlugin {
/**
* 根据指定的结账检查上下文 context,实现特定的业务检查。
*
* Note: 插件必须提供一个无参构造函数,由执行程序通过反射进行调用
*
* @param context 结账检查上下文, 包含检查项定义的信息
* @return 结账检查结果
* @throws Throwable 检查项的逻辑异常
*/
CheckResult execute(CheckContext context) throws Throwable;
}
2.3入参定义
入参为执行结账检查时的上下文(即接口中的参数 context),开发者可以根据列表所示获取。

2.4检查结果定义
检查结果为执行结账检查返回的结果(kd.bos.ext.fi.fcm.CheckResult),即接口返回对象,开发者可以自定义结果内容以满足不同的场景。

2.5插件开发示例
kd.bos.ext.fi.fcm.plugins;
kd.bos.exception.KDBizException;
kd.bos.ext.fi.fcm.CheckContext;
kd.bos.ext.fi.fcm.CheckResult;
kd.bos.ext.fi.fcm.IClosePeriodCheckPlugin;
kd.bos.orm.query.QFilter;
java.util.Collections;
java.util.HashSet;
java.util.Map;
java.util.Objects;
java.util.Set;
SampleCheckPlugin IClosePeriodCheckPlugin {
@Override
CheckResult execute(CheckContext context) Throwable {
Map<String, Object> pluginParams = conte结账检查项插件开发教程及示例
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



