单据转换插件中获取到自定义参数的使用说明

栏目:云苍穹知识作者:金蝶来源:金蝶云社区发布:2024-09-23浏览:1

单据转换插件中获取到自定义参数的使用说明

# 单据转换插件中获取到自定义参数的使用说明 ## 1.问题描述 在调用下推服务ConvertServiceHelper#push时,在下推服务参数(PushArgs)中传入自定义参数pushArgs. getCustomParams ().put(key, paramValue);如何在转换插件中,取到这个自定义参数值呢? ## 2.说明 转换插件可以使用 Object paramValue = this.getOption().getVariableValue ("key"); 获取传入的自定义参数值 ## 3.代码示例 传入自定义参数: ```java PushArgs pushArgs= new PushArgs(); pushArgs.getCustomParams().put("billStatus", "已审核"); pushArgs.getCustomParams().put("billNo", "test_0001"); ConvertServiceHelper.push(pushArgs); ``` 获取自定义参数: ```java package kd.bos.form.plugin.botp; import kd.bos.entity.BillEntityType; import kd.bos.entity.botp.ConvertOpType; import kd.bos.entity.botp.ConvertRuleElement; import kd.bos.entity.botp.plugin.AbstractConvertPlugIn; import kd.bos.entity.botp.plugin.args.AfterBuildQueryParemeterEventArgs; import kd.bos.entity.botp.plugin.args.AfterConvertEventArgs; import kd.bos.entity.botp.plugin.args.AfterCreateLinkEventArgs; import kd.bos.entity.botp.plugin.args.AfterCreateTargetEventArgs; import kd.bos.entity.botp.plugin.args.AfterFieldMappingEventArgs; import kd.bos.entity.botp.plugin.args.AfterGetSourceDataEventArgs; import kd.bos.entity.botp.plugin.args.BeforeBuildGroupModeEventArgs; import kd.bos.entity.botp.plugin.args.BeforeBuildRowConditionEventArgs; import kd.bos.entity.botp.plugin.args.BeforeCreateLinkEventArgs; import kd.bos.entity.botp.plugin.args.BeforeCreateTargetEventArgs; import kd.bos.entity.botp.plugin.args.BeforeGetSourceDataEventArgs; import kd.bos.entity.botp.plugin.args.InitVariableEventArgs; /** * 演示单据转换插件事件的触发时机 * * @author rd_JohnnyDing */ public class Test extends AbstractConvertPlugIn { /** * 演示如何获取上下文信息 */ private void getContext() { // 源单主实体 BillEntityType srcMainType = this.getSrcMainType(); // 目标单主实体 BillEntityType tgtMainType = this.getTgtMainType(); // 转换规则 ConvertRuleElement rule = this.getRule(); // 转换方式:下推、选单 ConvertOpType opType = this.getOpType(); } /** * 初始化变量事件 * * @param e * @remark 获取上下文信息,构建一些必须的变量 */ @Override public void initVariable(InitVariableEventArgs e) { this.printEventInfo("initVariable", ""); Object paramValue = this.getOption().getVariableValue ("billStatus"); } /** * 构建取数参数后事件 * * @param e * @remark 添加额外的字段、过滤条件 */ @Override public void afterBuildQueryParemeter(AfterBuildQueryParemeterEventArgs e) { this.printEventInfo("afterBuildQueryParemeter", ""); Object paramValue = this.getOption().getVariableValue ("billStatus"); } /** * 编译数据筛选条件前事件 * * @param e * @remark 设置忽略规则原生的条件,改用插件定制条件,或者在规则条件基础上,追加定制条件 */ @Override public void beforeBuildRowCondition(BeforeBuildRowConditionEventArgs e) { this.printEventInfo("beforeBuildRowCondition", ""); Object paramValue = this.getOption().getVariableValue ("billStatus"); } /** * 取源单数据前事件 * * @param e * @remark 修改取数语句、取数条件 */ @Override public void beforeGetSourceData(BeforeGetSourceDataEventArgs e) { this.printEventInfo("beforeGetSourceData", ""); Object paramValue = this.getOption().getVariableValue ("billStatus"); } /** * 取源单数据后事件 * * @param e * @remark 根据源单数据,获取其他定制的引用数据;也可以替换系统自动获取到的数据 */ @Override public void afterGetSourceData(AfterGetSourceDataEventArgs e) { this.printEventInfo("afterGetSourceData", ""); Object paramValue = this.getOption().getVariableValue ("billStatus"); } /** * 构建分单、行合并模式之前事件 * * @param e * @remark 调整分单、合并策略及依赖的字段 */ @Override public void beforeBuildGroupMode(BeforeBuildGroupModeEventArgs e) { this.printEventInfo("beforeBuildGroupMode", ""); Object paramValue = this.getOption().getVariableValue ("billStatus"); } /** * 初始化创建目标单据数据包前事件 * * @param e * @remark 这个事件,只在选单时触发: * 选单时,需要基于现有的目标单数据包,进行追加处理; * 插件可以在此事件,获取到现有的目标单数据包,提前进行定制处理 */ @Override public void beforeCreateTarget(BeforeCreateTargetEventArgs e) { this.printEventInfo("beforeCreateTarget", ""); Object paramValue = this.getOption().getVariableValue ("billStatus"); } /** * 创建目标单据数据包后事件 * * @param e * @remark 这个事件,只在下推时触发,把根据分单规则创建好的目标单,传递给插件 */ @Override public void afterCreateTarget(AfterCreateTargetEventArgs e) { this.printEventInfo("afterCreateTarget", ""); Object paramValue = this.getOption().getVariableValue ("billStatus"); } /** * 目标字段赋值完毕后事件 * * @param e * @remark 插件可以在此基础上,继续填写目标字段值 */ @Override public void afterFieldMapping(AfterFieldMappingEventArgs e) { this.printEventInfo("afterFieldMapping", ""); Object paramValue = this.getOption().getVariableValue ("billStatus"); } /** * 记录关联关系前事件 * * @param e * @remark 取消记录关联关系 */ @Override public void beforeCreateLink(BeforeCreateLinkEventArgs e) { this.printEventInfo("beforeCreateLink", ""); Object paramValue = this.getOption().getVariableValue ("billStatus"); } /** * 记录关联关系后事件 * * @param e * @remark 根据系统自动记录的关联关系,进行相关数据的同步携带,如携带其他子单据体数据 */ @Override public void afterCreateLink(AfterCreateLinkEventArgs e) { this.printEventInfo("afterCreateLink", ""); Object paramValue = this.getOption().getVariableValue ("billStatus"); } /** * 单据转换后事件,最后执行 * * @param e * @remark 插件可以在这个事件中,对生成的目标单数据,进行最后的修改 */ @Override public void afterConvert(AfterConvertEventArgs e) { this.printEventInfo("afterConvert", ""); Object paramValue = this.getOption().getVariableValue ("billStatus"); } private void printEventInfo(String eventName, String argString) { String msg = String.format("%s : %s", eventName, argString); System.out.println(msg); } } ```

单据转换插件中获取到自定义参数的使用说明

# 单据转换插件中获取到自定义参数的使用说明## 1.问题描述在调用下推服务ConvertServiceHelper#push时,在下推服务参数(PushArgs)中传...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息