lazhen
2024-08-22 8048c493c1d923176351080ee697d5c9d1c640a6
库存接口自动同步
已修改3个文件
已添加1个文件
70 ■■■■ 文件已修改
_Main/BL/Type_AssemblyOnlinePlanPush/StaticMethod_GenerateData.qbl 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_FinishedEngineInventory/StaticMethod_Synchronize.qbl 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_InventoryInterfaceData/StaticMethod_SynchronizeInventory#575.qbl 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_MachineStockData/StaticMethod_Synchronize.qbl 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_AssemblyOnlinePlanPush/StaticMethod_GenerateData.qbl
@@ -32,16 +32,24 @@
                                                                 , ReturnMsg := 'Success'
                                                                 , Success := true
                                                                  );
    //traverse( macroplan, AssemblyOnlinePlanRow.AssemblyOnlinePlanCell, cell ){
    //  cd                  :=interfaceDataset.AssemblyOnlinePlanPPPSPush( relnew, Product           := forecast.ProductID()
    //                                                                     , PlanningDate            := forecast.StartDate()
    //                                                                     , DemandQty               := [Number]forecast.Quantity()
    //                                                                     , VersionName             := macroplan.ScenarioName()
    //                                                                     , InterfaceTime           := nowdate
    //                                                                     , VersionFlag             := versionflag
    //                                                                     );
    //  loginfo.CustomerDemandPPAIDS( relinsert, cd );
    //}
    traverse( macroplan, AssemblyOnlinePlanColumn, column ){
      traverse( column, AssemblyOnlinePlanCell, cell, cell.Value() <> '' and cell.AssemblyOnlinePlanRow().RowNr() = '1' ){
        quantityrow        := cell.AssemblyOnlinePlanRow();
        ordercell          := selectobject( column, AssemblyOnlinePlanCell, ocell, ocell.AssemblyOnlinePlanRow().ProductID() = quantityrow.ProductID()
                                            and ocell.AssemblyOnlinePlanRow().ProductionLine() = quantityrow.ProductionLine()
                                            and ocell.AssemblyOnlinePlanRow().RowNr() = '2' );
        cd                  :=interfaceDataset.AssemblyOnlinePlanPPPSPush( relnew, Product           := quantityrow.ProductID()
                                                                           , PlanningDate            := column.ColumnDate()
                                                                           , PlanningQty             := [Number]cell.Value()
                                                                           , Sequence                := ordercell.Value()
                                                                           , VersionName             := macroplan.ScenarioName()
                                                                           , InterfaceTime           := nowdate
                                                                           , VersionFlag             := versionflag
                                                                           );
        loginfo.AssemblyOnlinePlanPPPSPush( relinsert, cd );
      }
    }
    loginfo.TotalRow( loginfo.AssemblyOnlinePlanPPPSPush( relsize ) );
  *]
}
_Main/BL/Type_FinishedEngineInventory/StaticMethod_Synchronize.qbl
@@ -22,12 +22,17 @@
      cnv2.SetCustomConversion();
      cnv2.CustomFormatString( 'yyyy-MM-dd' );
      
    //  sadatalist := construct( ShippingActualDatas );
      sadatalist := construct( FinishedEngineInventorys );
      for( seq := 0;seq < data.Size();seq++){
        item := data.Get(seq);
        FinishedEngineInventory::GenerateData( loginfo, cnv2, item );
    //    sadatalist.Add( sadata );
        sadata := FinishedEngineInventory::GenerateData( loginfo, cnv2, item );
        sadatalist.Add( sadata );
      }
      options := DatasetFindOptions::Construct( 'MacroPlan' ).IncludeOffline( true ); //to load we must search offline datasets.
      mdskey := DatasetController::FindUnique( options );
      MDSMacroPlan::Root( mdskey ) -> InventoryInterfaceData::SynchronizeInventory( owner, sadatalist );
    }
  *]
}
_Main/BL/Type_InventoryInterfaceData/StaticMethod_SynchronizeInventory#575.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,24 @@
Quintiq file version 2.0
#parent: #root
StaticMethod SynchronizeInventory (
  MacroPlan macroplan,
  InterfaceDataset owner,
  const FinishedEngineInventorys inventorys
)
{
  Description: '发动机成品库存'
  TextBody:
  [*
    //清空原有的库存更新数据
    //traverse( interfaceDataset, InventoryInterfaceData, iid, iid.Date() = date ){
    //  iid.Delete();
    //}
    // èŽ·å–æŒ‡å®šæ—¥æœŸåº“å­˜æŽ¥å£æ•°æ®
    //发动机成品库存
    traverse( inventorys, Elements, inventory ){
      product    := select( macroplan, Product_MP, product, product.Notes() = inventory.FourCode() );
      InventoryInterfaceData::Generate( owner, inventory.DDay(), product.ID(), inventory.BIPlace(), [Number]inventory.Total() );
    }
  *]
}
_Main/BL/Type_MachineStockData/StaticMethod_Synchronize.qbl
@@ -25,7 +25,12 @@
    //  sadatalist := construct( ShippingActualDatas );
      for( seq := 0;seq < data.Size();seq++){
        item := data.Get(seq);
        MachineStockData::GenerateData( loginfo, cnv2, item );
        inventory    :=MachineStockData::GenerateData( loginfo, cnv2, item );
        inventoryname := inventory.Lgort();
        if( inventory.Fac() = 'DL' and inventory.Lgort() = 'All' ){
          inventoryname := inventory.LineType();
        }
        InventoryInterfaceData::Generate( owner, inventory.DDay(), inventory.MaterialNo(), inventoryname, [Number]inventory.Total() );
    //    sadatalist.Add( sadata );
      }
    }