xiaoding721
2024-09-03 0bb0bff90498bdec6f3d954dfc0bef2dec3b28c1
_Main/BL/Type_CustomerDemandPPAIDS/StaticMethod_GenerateData.qbl
@@ -2,6 +2,7 @@
#parent: #root
StaticMethod GenerateData (
  const MacroPlan macroplan,
  const Archive archive,
  InterfaceDataset interfaceDataset,
  String executor,
  Boolean versionflag
@@ -31,7 +32,7 @@
                                                                 , ReturnMsg                 := 'Success'
                                                                 , Success                   := true
                                                                  );
    traverse( macroplan, SalesDemand.astype( Forecast ), forecast ){
    traverse( macroplan, SalesDemand.astype( Forecast ), forecast, forecast.Origin() = 'PPA' ){
      cd                  :=interfaceDataset.CustomerDemandPPAIDS( relnew, Product           := forecast.ProductID()
                                                                   , DemandDate              := forecast.StartDate()
                                                                   , DemandQty               := [Number]forecast.Quantity()
@@ -41,6 +42,26 @@
                                                                   );
      loginfo.CustomerDemandPPAIDS( relinsert, cd );
    }
    binaryValue           := TemplateManager::GetIDSFullTable( archive, Date::ActualDate().Year() );
    CustomerDemandIDS::ReadStructure( binaryValue, interfaceDataset );
    productcolumn         := select( interfaceDataset, CustomerDemandIDS.Column, column, column.Index() = 1 );
    cnv2 := StringToDate::StandardConverter();
    cnv2.SetCustomConversion();
    cnv2.CustomFormatString( "dd/MM/yyyy" );
    traverse( interfaceDataset, CustomerDemandIDS.Row, row ){
      product             := selectobject( row, Cell, cell, cell.Column() = productcolumn );
      traverse( row, Cell, cell, cell.Column().Index() > 3 ){
        period := cnv2.Convert( cell.Column().Name() );
        cd                  :=interfaceDataset.CustomerDemandPPAIDS( relnew, Product           := product.Value()
                                                                     , DemandDate              := period
                                                                     , DemandQty               := [Number]cell.Value()
                                                                     , VersionName             := macroplan.ScenarioName()
                                                                     , InterfaceTime           := nowdate
                                                                     , VersionFlag             := versionflag
                                                                     );
        loginfo.CustomerDemandPPAIDS( relinsert, cd );
      }
    }
    loginfo.TotalRow( loginfo.CustomerDemandPPAIDS( relsize ) );
  *]
}