zoukankan      html  css  js  c++  java
  • 二开下推

    	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);

      

  • 相关阅读:
    Django基础命令
    ubuntu中python项目独立的虚拟环境
    Springboot项目的小问题
    redis
    ubuntu系统根目录下各个目录用途说明
    SpringBoot 在IDEA中实现热部署
    SpringBoot访问不到webapp下的内容
    httpServeltRequest和Model传值的区别
    map的输出
    主流框架排名
  • 原文地址:https://www.cnblogs.com/1020182600HENG/p/8945894.html
Copyright © 2011-2022 走看看