预警插件——数据写出插件使用说明
为针对不同的业务场景提供定制化的预警功能,平台提供了预警插件机制,使用者可以通过编写插件对预警监控过程进行干预,从而实现使用定制化预警功能。下图为预警平台插件设置入口在新增/编辑业务预警对象页面。
![0109d30c339b5e62424096e1901ae4cb9d03.webp](https://vip.kingdee.com/download/0109d30c339b5e62424096e1901ae4cb9d03.webp)
预警平台依据监控方案对预警数据扫描后出于性能与存储的考虑,并未将需要预警的数据写出到数据库。如果我们想要后将预警数据存储下来用来处理后续预警事项,这个时候就可以使用自定义数据写出插件。
## 业务场景
某企业需要对商品库存进行低库存的预警,在扫描出低库存的商品数据时,需将这些预警数据储存在数据库中,用来跟踪处理情况。
## 实现方案
编写数据写出插件,实现IEarlyWarnWriteOut接口,框架通过上下文将预警数据传递给接口。接着只需在接口中把相关数据写出到自己想要的数据库或文件中即可。
## 代码示例
```
/**
*下面是在扫描出低库存预警数据后,将商品信息存入商品预警处理状态表(stock_status_demo单据标识)中的实现
*/
public class WriteOutDemo implements IEarlyWarnWriteOut {
@Override
public void writeOut(DynamicObjectCollection date, EarlyWarnContext earlyWarnContext) {
if (date.isEmpty()){
return;
}
DynamicObject[] saveDate = new DynamicObject[date.size()];
for (int i = 0; i < date.size(); i++) {
DynamicObject object = date.get(i);
DynamicObject newObject = BusinessDataServiceHelper.newDynamicObject("stock_status_demo");
newObject.set("billno", "status000"+i);
newObject.set("billstatus","A");
newObject.set("name",object.get("name"));
newObject.set("number1",""+object.get("number"));
newObject.set("status1", "0");
newObject.set("operator","IERP");
newObject.set("operatorid",(long)13466739);
saveDate[i] = newObject;
}
MainEntityType entityType = EntityMetadataCache.getDataEntityType("stock_status_demo");
BusinessDataWriter.save(entityType,saveDate);
}
}
```
## 插件注册
![数据写出.webp](/download/01003a0b8ff920434f728357cfefe75d7284.webp)
## 效果展示
在预警监控方案被触发执行成功之后,预警引擎会将相关数据写出到单据stock_status_demo中。
![0109e379322df6f84a629210ac960a66d3eb.webp](https://vip.kingdee.com/download/0109e379322df6f84a629210ac960a66d3eb.webp)
预警插件——数据写出插件使用说明
为针对不同的业务场景提供定制化的预警功能,平台提供了预警插件机制,使用者可以通过编写插件对预警监控过程进行干预,从而实现使用定制化...
点击下载文档
上一篇:预警插件——数据源插件使用说明下一篇:预警插件——消息解析插件使用说明
本文2024-09-23 00:38:40发表“云苍穹知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-cangqiong-140797.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章