Kevin Kok Khah Whey
2023-11-07 5ae534ab606e6f2ba5ea60914224d665b0447d5a
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Method_OnOk.def
@@ -6,7 +6,7 @@
  [*
    // Disabled button to prevent the possibility of multiple firing
    
    macroPlanOld := MacroPlan;
    //macroPlanOld := MacroPlan;
    
    btnOK.Enabled( false, '' )
    
@@ -16,6 +16,30 @@
    data := DataHolderDialogData.Data();
    newscenario := null( Scenario );
    strategy := null( Strategy );
    // New version
    globalotdtable := GlobalOTDTable;
    globalotdsop := GlobalOTDSOP;
    testbusinesstype := "集团";
    if( data.IsCreateNewVersion() ){
      VersionControl::CreateNewSceneVersion( globalotdsop, testbusinesstype );
      }else{
        VersionControl::CopyVersion( globalotdsop, testbusinesstype );
        }
    versionname := VersionControl::GetVersionInfo( globalotdsop, testbusinesstype ).Element( 3 );
    // Get Version Name
    if( data.Name() = "" ){
      data.Name( versionname );
      }
    // Get Business Type from Scenario Name
    businesstype := guard( select( globalotdtable,
                                   BusinessType,
                                   b,
                                   b.ScenarioName()=data.ScenarioName() ).BusinessTypeName(),
                           "" );
    data.BusinessType( businesstype );
    
    // Copy scenario
    if( isnull( data.WrappedInstance() ) )
@@ -88,22 +112,18 @@
    }
    
    macroPlanNew := MacroPlan;
    ManufactureLTImputation::Transfer( macroPlanOld, macroPlanNew );
    //ManufactureLTImputation::Transfer( macroPlanOld, macroPlanNew );
    
    // sync data
    if( data.EnableSync() ) {
        MacroPlan::DoSync( macroPlanNew, 
                           data.BusinessType(), data.IsKeyProduct(), data.CreatePurchaseSupplyMaterial() );
                           data.BusinessType(), data.IsKeyProduct(), data.CreatePurchaseSupplyMaterial() ,GlobalOTDTable);
    }
    macroPlanNew.BusinessType( businesstype );
    macroPlanNew.IsKeyProduct( data.IsKeyProduct() );
    macroPlanNew.CreatePurchaseSupplyMaterial( data.CreatePurchaseSupplyMaterial() );
    
    // New version
    globalotdtable := GlobalOTDTable;
    testbusinesstype := "集团";
    if( data.IsCreateNewVersion() ){
      VersionControl::CreateNewSceneVersion( globalotdtable, testbusinesstype );
      }else{
        VersionControl::CreateNewVersion( globalotdtable, testbusinesstype );
        }
    MacroPlan.UpdateStartOfPlanning( dsPlanningStart.Date().DateTime() );
    
    this.Close();
  *]