二开下推

	public Object doCmd(DefaultContext context, ArrayList<Object> paras) throws Throwable {
		String IDs = TypeConvertor.toString(paras.get(0)); // 指定的订单ID,用逗号分割
		Boolean merge = TypeConvertor.toBoolean(paras.get(1)); //是否跨物料合并
		IMetaFactory metaFactory = context.getVE().getMetaFactory();
		MetaDataObject mo = metaFactory.getDataObject("LRP_WMTx");

		// 首先读取出库订单并将单据直接下推
		DefaultContext ncontext = new DefaultContext(context);
		LoadData l = new LoadData("LRP_OutboundNotice", OID);
		Document srcdoc = l.load(ncontext, null);
		MidDataMapUtil Util = new MidDataMapUtil();
		Document tgtDoc = Util.mapWithoutSave(ncontext, "OutboundNotice-Tx201", srcdoc, "");
		DataTable dtHead = tgtDoc.get("LRP_WMTx_H");
		DataTable dtDetail = tgtDoc.get("LRP_WMTx_L");

		// 将生成的单据保存
		ncontext = new DefaultContext(context);
		SaveData save = new SaveData(mo, null, tgtDoc);
		save.save(ncontext);

		return result;
	}

二开下推的解题思路:
根据参数拿出当前环境下的OID
另置环境DefaultContext nctx=new DefaultContext(context);
根据LoadData l=new LoadData("数据对象标识Key",OID);
获取上游单据数据Document srcdoc=l.load(nctx,null);
获取下推工具类MidDataMapUtil Util=new MidDataMapUtil();
下推操作Document tgtdoc=Util.mapwithoutSave(nctx,'数据映射',srcdoc,'');
保存 MetaDataObject mo=ctx.getVE().getMetaFactory()..getDataObject("LRP_WMTx");
        nctx=new DefaultContext(ctx);
        SaveData save=new SavaData(mo,null,tgtdoc);
        save.save(nctx);

  

转载于:https://www.cnblogs.com/1020182600HENG/p/8945894.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值