renhao
2023-10-13 462215553c754d26acde8edab81b4a73f774e21e
_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,28 @@
    data := DataHolderDialogData.Data();
    newscenario := null( Scenario );
    strategy := null( Strategy );
    // New version
    globalotdtable := GlobalOTDTable;
    testbusinesstype := "集团";
    if( data.IsCreateNewVersion() ){
      VersionControl::CreateNewSceneVersion( globalotdtable, testbusinesstype );
      }else{
        VersionControl::CopyVersion( globalotdtable, testbusinesstype );
        }
    versionname := VersionControl::GetVersionInfo( globalotdtable, testbusinesstype ).Element( 3 );
    // Get Version Name
    if( data.Name() = "" ){
      data.Name( versionname );
      }
    // Get Business Type from Scenario Name
    businesstype := select( globalotdtable,
                            BusinessType,
                            b,
                            b.ScenarioName()=data.ScenarioName() ).BusinessTypeName();
    data.BusinessType( businesstype );
    
    // Copy scenario
    if( isnull( data.WrappedInstance() ) )
@@ -88,13 +110,16 @@
    }
    
    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() );
    
    this.Close();
  *]