yunchai
2023-10-08 1a5a8be205641f5f79dd809f6c7e59fc84d76243
_Main/BL/Type_MacroPlan/StaticMethod_DoSync0.qbl
@@ -4,7 +4,8 @@
  MacroPlan macroPlan,
  Strings businessTypes,
  Boolean isKeyProduct,
  Boolean createPurchaseSupplyMaterial
  Boolean createPurchaseSupplyMaterial,
  GlobalOTDTable globalOTDTable
)
{
  Description: '单次同步'
@@ -27,10 +28,17 @@
    macroPlan.InitialUnitAndStockingPoint();
    
    // 单位-1
    UnitOfMeasure_MP::DoSync( macroPlan );
    UnitOfMeasure_MP::DoSync( globalOTDTable,macroPlan );
    
    // 销售部门-2
    SalesSegment_MP::DoSync( macroPlan, businessTypes );
    SalesSegment_MP::DoSync( macroPlan, businessTypes,globalOTDTable );
    // Unit-9
    // 与Operation一同处理
    //info( "BaseConversionFactor Finished, Start Operation Data Broker" );
    //macroPlan.Broker_OTD_Operation().Execute();
    info( "Operation Data Broker Finished, Start Unit Mapping" );
    macroPlan.MappingUnitData( businessTypes ,globalOTDTable);
    
    // 库存点-3
    info( "Sales Segment Finished, Start Get StockingPoint From Api" )
@@ -63,29 +71,22 @@
    macroPlan.ApiCurencyRatesData( data );
    
    // 产品物料-6
    info( "Get CurrencyRates From Api Finished, Start Product Data Broker" )
    macroPlan.Broker_OTD_Product().Execute();
    //info( "Get CurrencyRates From Api Finished, Start Product Data Broker" )
    //macroPlan.Broker_OTD_Product().Execute();
    info( "Product Data Broker Finished, Start Product Mapping" );
    //testproduct := construct( Strings );
    macroPlan.MappingProductData( businessTypes, isKeyProduct );
    macroPlan.MappingProductData( businessTypes, globalOTDTable,isKeyProduct );
    
    //单位转换-7
    BaseConversionFactor::DoSync( macroPlan );
    // Unit-9
    // 与Operation一同处理
    info( "BaseConversionFactor Finished, Start Operation Data Broker" );
    macroPlan.Broker_OTD_Operation().Execute();
    info( "Operation Data Broker Finished, Start Unit Mapping" );
    macroPlan.MappingUnitData( businessTypes );
    BaseConversionFactor::DoSync( macroPlan ,globalOTDTable);
    
    // 工艺路线 + BOM-9
    info( "Unit Finished, Start Operation Mapping" );
    macroPlan.MappingOperationData( businessTypes );
    info( "Operation Finished, Start BOM Data Broker" );
    macroPlan.Broker_OTD_BOM().Execute();
    macroPlan.MappingOperationData( businessTypes ,globalOTDTable);
    //info( "Operation Finished, Start BOM Data Broker" );
    //macroPlan.Broker_OTD_BOM().Execute();
    info( "BOM Data Broker Finished, Start BOM Mapping" );
    macroPlan.MappingOperationBOMData( businessTypes, isKeyProduct, createPurchaseSupplyMaterial );
    macroPlan.MappingOperationBOMData( businessTypes, isKeyProduct, createPurchaseSupplyMaterial,globalOTDTable );
    
    //车道信息-10
    info( "BOM Finished, Start Get Lanes From Api" );
@@ -108,37 +109,35 @@
    macroPlan.ApiLaneLegsData( data );
    
    // 供应网络(车道)-12
    info( "Get Lanelegs From Api Finished, Start ProductInLane Data Broker" );
    macroPlan.Broker_OTD_ProductInLane().Execute();
    //info( "Get Lanelegs From Api Finished, Start ProductInLane Data Broker" );
    //macroPlan.Broker_OTD_ProductInLane().Execute();
    info( "ProductInLane Data Broker Finished, Start ProductInLane Mapping" );
    macroPlan.MappingProductInLaneData();
    macroPlan.MappingProductInLaneData(globalOTDTable);
    
    // 在库库存数据-13
    info( "ProductInLane Finished, Start ActualPISPIP Data Broker" );
    macroPlan.Broker_OTD_ActualPISPIP().Execute();
    //info( "ProductInLane Finished, Start ActualPISPIP Data Broker" );
    //macroPlan.Broker_OTD_ActualPISPIP().Execute();
    info( "ActualPISPIP Data Broker Finished, Start ActualPISPIP Mapping" );
    //macroPlan.MappingActualPISPIPData( businessTypes, true );
    macroPlan.MappingActualPISPIPData( businessTypes, isKeyProduct );
    macroPlan.MappingActualPISPIPData( businessTypes, globalOTDTable,isKeyProduct );
    
    // 在途库存-14
    info( "ActualPISPIP Finished, Start ExternalSupply Data Broker" );
    macroPlan.Broker_OTD_ExternalSupply().Execute();
    //macroPlan.MappingExternalSupplyData( businessTypes, true );
    //info( "ActualPISPIP Finished, Start ExternalSupply Data Broker" );
    //macroPlan.Broker_OTD_ExternalSupply().Execute();
    info( "ExternalSupply Data Broker Finished, Start ExternalSupply Mapping" );
    macroPlan.MappingExternalSupplyData( businessTypes, isKeyProduct );
    macroPlan.MappingExternalSupplyData( businessTypes, isKeyProduct ,globalOTDTable);
    
    // 库存成本-15
    InventoryValueAndCost::DoSync( macroPlan );
    InventoryValueAndCost::DoSync( macroPlan,globalOTDTable );
    
    // todo 制造成本-16
    info( "InventoryCost Finished, Start OperationCost Mapping" );
    //macroPlan.MappingOperationCostData( businessTypes );
    macroPlan.MappingOperationCostData( globalOTDTable, businessTypes );
    
    // 订单预测-17
    Forecast::DoSync( macroPlan, businessTypes );
    Forecast::DoSync( macroPlan, businessTypes ,globalOTDTable);
    
    // 订单需求-18
    CustomerOrder::DoSync( macroPlan, businessTypes );
    CustomerOrder::DoSync( macroPlan, businessTypes, globalOTDTable);
    
    //删除多余报错数据-19
    macroPlan.DeleteSnaityCheck();