[旗舰版]缺料分析二开插件指导
一、插件基类说明:
public class AbstractSMAProcessorExt implements ISMAProcessorExt { // 缺料分析上下文 public SMAContext smaContext; @Override public void registerContext(SMAContext smaContext) { this.smaContext = smaContext; } /** * 预处理数据 * @param srcBillData 选择订单行 */ @Override public void preProccessData(List<DynamicObject> srcBillData) { } /** * 设置需求单据过滤条件 * @param srcBillData 选中的订单数据行 * @param billFilters 单据默认的过滤条件 */ @Override public void setDemandBillFilter(List<DynamicObject> srcBillData, Map<String, List<QFilter>> billFilters) {} /** * 子项明细生成后事件(自定义单据可在此插入自定义数据) * @param srcBillData 选中的订单数据行 */ @Override public void afterBuildSubItem(List<DynamicObject> srcBillData) {} /** * 设置供应单据过滤条件 * @param billFilters 供应单据默认过滤条件 */ @Override public void setSupplyBillFilter(Map<String, List<QFilter>> billFilters) { } /** * 生成供应后事件,可在此处插入自定义的供应数据 */ @Override public void afterBuildSupply() {} /** * 设置 统计缺料清单的维度映射关系 * @param defaultDimension */ @Override public void setSMASummationDimension(List<SMASummationDimensionInfo> defaultDimension) {} /** * 需要供应匹配后事件,此处可调整需求供应的关系,供应的优先级和供应权重 * @param curDemandMatchData */ @Override public void afterMatching(Map<DynamicObject, List<DynamicObject>> curDemandMatchData) { } /** * 设置物料预留数量 * 需要先更新匹配需求单据的basereservedqty表示当前需求单据对应的预留数量,再返回物料的总量预留 * @param materialReserveQty 物料总量预留 * @param demandMatchData 需求匹配关系,可设置需求对应供应单据的预留量 * @return */ @Override public void setReserveQty(Map<Long, BigDecimal> materialReserveQty, Map<DynamicObject, List<DynamicObject>> demandMatchData) { } /** * 计算完成设置子项明细数量后事件,可更新自定义字段的值 * @param curDemandObtains 当前批次需求行数据 */ @Override public void afterSetSubItemQty(DynamicObjectCollection curDemandObtains) { } /** * 缺料清单生成完成事件 * @param curDemandObtains 当前批次需求行数据 */ @Override public void afterBuildSMAEntry(DynamicObjectCollection curDemandObtains) {} }
二、插件配置说明:
1、继承基类编写好自己的插件后,将插件部署到MMC容器
2、扩展缺料分析单mrp_smabill
3、新增操作smaparamset类型为mmcparamset,增加sma_plugin参数,参数值为插件的类全称
三、常见场景开发问答
问题1、缺料怎么增加新的单据作为需求
回答:
新的单据配置下推规则将数据下推至缺料分析单
新增自定义插件(此处又两种实现方式,使用资源注册模型、不使用资源注册模型)
使用资源注册模型:
新增实体映射关系,将新单据映射为缺料需求单据,可参考SMA-REQ-MFORDER
修改资源注册模型SMA-APROVIDER,新增资源配置
增加缺料自定义插件,并通过setDemandBillFilter设置新单的过滤条件
不使用资源注册模型:
增加缺料自定义插件,并通过afterBuildSubItem方法将需求数据保存到缺料需求单据
问题2、缺料怎么增加新的单据作为供应
回答:资源注册模型SMA-SUPPLY增加对应单据的配置即可,如果有特殊逻辑可通过插件setSupplyBillFilter、afterBuildSupply实现
问题3、汇总缺料清单怎么实现自定义汇总
回答:新增插件,可以通过setSMASummationDimension方法修改默认的统计维度
统计维度对象说明:
/** * 需求字段标识 */ private String srcName; /** * 对应的缺料清单字段标识 * 如果目标字段为空或不存在,那表示以srcName维度统计但是这个字段不展示在缺料清单 */ private String targetName; /** * 是否统计维度 */ private boolean isSumDimension; /** * 是否数量字段,只有isSumDimension为false才会作为数量计算 */ private boolean isQty; /** * 数量字段计算方式 add:合计 min:最小值 max:最大值 function:使用自定义的valueFunction */ private String calcType = ""; /** * 自定义方式,当是统计维度是可以通过自己方法返回某个字段的值,当是数量时可以按自己的方式合计 */ private BiFunction<SMASummationDimensionInfo,List<DynamicObject>, Object> valueFunction;
[旗舰版]缺料分析二开插件指导
一、插件基类说明:public class AbstractSMAProcessorExt implements ISMAProcessorExt { // 缺料分析上下文 public SMAContext sma...
点击下载文档
本文2024-09-16 17:08:02发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-13737.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
- 鼎捷EAI整合規範文件V3.1.07 (集團).pdf
- 鼎捷OpenAPI應用場景說明_基礎資料.pdf
- 鼎捷OpenAPI應用場景說明_財務管理.pdf
- 鼎捷T100 API設計器使用手冊T100 APIDesigner(V1.0).docx
- 鼎新e-GoB2雲端ERP B2 線上課程E6-2應付票據整批郵寄 領取.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程A4使用者建立權限設定.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程C3會計開帳與會計傳票.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程E6-1應付票據.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程A5-1進銷存參數設定(初階篇).pdf
- 鼎新e-GoB2雲端ERP B2 線上課程D2帳款開帳與票據開帳.pdf
热门文章