lazhen
2024-08-21 9b3d8a44e8a76928b1abf2f18a74ef5051a4b089
_Main/BL/Type_CustomerDemandPPAIDS/StaticMethod_GenerateData.qbl
@@ -3,6 +3,7 @@
StaticMethod GenerateData (
  const MacroPlan macroplan,
  InterfaceDataset interfaceDataset,
  String executor,
  Boolean versionflag
)
{
@@ -10,16 +11,37 @@
  TextBody:
  [*
    // 甄兰鸽 Aug-20-2024 (created)
    interfaceDataset.CustomerDemandPPAIDS( relflush );
    nowdate                     := DateTime::ActualTime();
    traverse( macroplan, SalesDemand.astype( Forecast ), forecast ){
      interfaceDataset.CustomerDemandPPAIDS( relnew, Product           := forecast.ProductID()
                                             , DemandDate              := forecast.StartDate()
                                             , DemandQty               := [Number]forecast.Quantity()
                                             , VersionName             := macroplan.ScenarioName()
                                             , InterfaceTime           := nowdate
                                             , VersionFlag             := versionflag
                                             );
    cdlast                 := maxobject( interfaceDataset, CustomerDemandPPAIDS, cd, cd.InterfaceTime(), cd.DemandDate(), cd.Product() );
    if( not isnull( cdlast ) ){
      loginfo              := cdlast.InterfaceLoginfo();
      if( not loginfo.IsShow() ){
        loginfo.Delete();
      }else{
        loginfo.Last( false );
      }
      interfaceDataset.CustomerDemandPPAIDS( relflush );
    }
    nowdate                := DateTime::ActualTime();
    loginfo                := interfaceDataset.InterfaceLoginfo( relnew, ExecuteUser := executor
                                                                 , Name := Translations::InterfaceDataset_CustomerDemandPPAIDS_Name()
                                                                 , InterfaceDateTime := DateTime::ActualTime()
                                                                 , Message := '客户需求(PPA+IDS)数据推送'
                                                                 , IsShow := false
                                                                 , Last := true
                                                                 , ReturnSuccess := true
                                                                 , ReturnMsg := 'Success'
                                                                 , Success := true
                                                                  );
    traverse( macroplan, SalesDemand.astype( Forecast ), forecast ){
      cd                  :=interfaceDataset.CustomerDemandPPAIDS( relnew, Product           := forecast.ProductID()
                                                                   , DemandDate              := forecast.StartDate()
                                                                   , DemandQty               := [Number]forecast.Quantity()
                                                                   , VersionName             := macroplan.ScenarioName()
                                                                   , InterfaceTime           := nowdate
                                                                   , VersionFlag             := versionflag
                                                                   );
      loginfo.CustomerDemandPPAIDS( relinsert, cd );
    }
    loginfo.TotalRow( loginfo.CustomerDemandPPAIDS( relsize ) );
  *]
}