eas之单据转换规则


/**
  * BOTP单据转换
  * @param botpNum 转换规则编号
  * @param BillInfo 原单据
  */
 public static void BOTP(String botpNum,CoreBillBaseInfo BillInfo){
  String error = "";
  try {
   // 取得BOPT的映射
   BOTMappingCollection botmapping = BOTMappingFactory.getRemoteInstance().getBOTMappingCollection("select * where    name = '"+botpNum+"'  ");
   BOTMappingInfo btpMappingInfo = null;
   if (botmapping !=null && botmapping.size() == 1) {
    btpMappingInfo = botmapping.get(0);
   } else {
    if(botmapping==null || botmapping.size()<1){
     error = "未找到转换规则  规则编号:"+botpNum;
    }
    if(botmapping.size()>1){
     error = "找到多条转换规则,请删除重复规则。   规则编号:"+botpNum;
    }
    throw new Exception();
   }
   //执行单据转换
   BTPTransformResult transformResult = BTPManagerFactory.getRemoteInstance().transform(BillInfo, btpMappingInfo);

   //取得目标单据列表
   IObjectCollection toBillList = transformResult.getBills();
   
   //保存目标单据
   for (int i = 0; i < toBillList.size(); i++) {  
    CoreBillBaseInfo destBillInfo = (CoreBillBaseInfo) toBillList.getObject(i);
    BTPManagerFactory.getRemoteInstance().saveRelations(destBillInfo, transformResult.getBOTRelationCollection());
   }
   
  } catch (Exception e) {
   if("".equals(error) || error == null){
    alert2("单据转换出错",e.getMessage());
   }else{
    alert2("单据转换出错",error);
   }
  }
 }

原文地址:https://www.cnblogs.com/luojiabao/p/10980372.html