From 40e4fffbb86f33e0c10835c21bd9cc9546ba3fc1 Mon Sep 17 00:00:00 2001
From: yanweiyuan3 <yanweiyuan3@gmail.com>
Date: 星期三, 20 九月 2023 20:21:08 +0800
Subject: [PATCH] Fix bug

---
 _Main/BL/Type_VersionControl/StaticMethod_CopyVersion.qbl                                 |   21 ++++++++++++++++-----
 _Main/BL/Type_VersionStatus/StaticMethod_GetBusinessTypeStatus.qbl                        |    4 ++--
 _Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Method_NewScenario.def     |    1 +
 _Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Method_NewScenario#549.def |    1 +
 _Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Method_OnOk.def            |    2 +-
 5 files changed, 21 insertions(+), 8 deletions(-)

diff --git a/_Main/BL/Type_VersionControl/StaticMethod_CopyVersion.qbl b/_Main/BL/Type_VersionControl/StaticMethod_CopyVersion.qbl
index fee8475..bf6fb53 100644
--- a/_Main/BL/Type_VersionControl/StaticMethod_CopyVersion.qbl
+++ b/_Main/BL/Type_VersionControl/StaticMethod_CopyVersion.qbl
@@ -21,16 +21,26 @@
     
     latestversion := VersionControl::FindLatestUpdateVersion( owner, businesstype );
     copyversionid := latestversion.VersionID();
+    info( copyversionid );
     
     if( copyversionid.FindString( "-", 0 ) > 0 ){
       latestversionlist := copyversionid.Tokenize( "-" );
       latestversionnamelist := latestversion.LongVersionName().Tokenize( "-" );
-      for( i := 0; i < latestversionlist.Size(); i := i + 1 ){
-        oldversionid := oldversionid + "-" + latestversionlist.Element( i );
-        oldversionname := oldversionname + "-" + latestversionnamelist.Element( i );
+      for( i := 0; i < latestversionlist.Size() - 1; i := i + 1 ){
+        if( oldversionid = "" ){
+          oldversionid := latestversionlist.Element( i );
+          oldversionname := latestversionnamelist.Element( i );
+          }else{
+            oldversionid := oldversionid + "-" + latestversionlist.Element( i );
+            oldversionname := oldversionname + "-" + latestversionnamelist.Element( i );
+            }
+        info( oldversionid );
         }
-      oldversionid := oldversionid + "-";
-      oldversionname := oldversionname + "-";
+      if( oldversionid <> "" ){
+        oldversionid := oldversionid + "-";
+        oldversionname := oldversionname + "-";
+        } 
+      info( oldversionid );
       }
     
     // Calculate new version info
@@ -39,6 +49,7 @@
     newcaltype := latestversion.CalType();
     newsingleversionname := newcaltype + "(" + createtime.Format( "Y/M2/D2 H:m:s" ) + ")";
     newversionname := oldversionname + newsingleversionname;
+    info( newversionid );
     
     // Create new version
     newversion := VersionControl::Create( owner, businesstype, newcaltype, createtime, newversionid, newversionname, newsingleversionname, user );
diff --git a/_Main/BL/Type_VersionStatus/StaticMethod_GetBusinessTypeStatus.qbl b/_Main/BL/Type_VersionStatus/StaticMethod_GetBusinessTypeStatus.qbl
index a094e7d..dec4ba1 100644
--- a/_Main/BL/Type_VersionStatus/StaticMethod_GetBusinessTypeStatus.qbl
+++ b/_Main/BL/Type_VersionStatus/StaticMethod_GetBusinessTypeStatus.qbl
@@ -16,7 +16,7 @@
     sortnumber := 0;
     sortdetailnumber := 0;
     traverse( businesstypelist, Elements, businessname, true ){
-      info( businessname );
+    //  info( businessname );
       // Get the local scenario businesstype
       businesstype := GlobalOTDTable::GetBusinessTypeName( businessname );
       sortnumber := sortnumber + 1;
@@ -44,7 +44,7 @@
         rootstatus := VersionStatus::FindLatestStatus( owner, businesstype );
         // Get the versions list
         versionlist := VersionControl::FindReleasedVersions( owner, businesstype, rootversionid );
-        info( rootversionid );
+    //    info( rootversionid );
         if( not isnull( versionlist ) ){
           traverse( versionlist, Elements, version, true ){
             info( version.VersionID() );
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Method_NewScenario\043549.def" "b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Method_NewScenario\043549.def"
index cc2b308..2f95d09 100644
--- "a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Method_NewScenario\043549.def"
+++ "b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Method_NewScenario\043549.def"
@@ -20,6 +20,7 @@
     DataHolderActionCopy.Data( false );
     DataHolderDialogData.Data( &scenario );
     DataHolderDialogData.Data().EnableSync( enableSync );
+    DataHolderDialogData.Data().IsCreateNewVersion( true );
     
     ApplicationMacroPlanner.ShowFormModal( this );
   *]
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Method_NewScenario.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Method_NewScenario.def
index d48922f..ad05250 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Method_NewScenario.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Method_NewScenario.def
@@ -19,6 +19,7 @@
     
     DataHolderActionCopy.Data( false );
     DataHolderDialogData.Data( &scenario );
+    DataHolderDialogData.Data().IsCreateNewVersion( true );
     
     ApplicationMacroPlanner.ShowFormModal( this );
   *]
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Method_OnOk.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Method_OnOk.def
index 92e4f73..5d283ea 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Method_OnOk.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Method_OnOk.def
@@ -23,7 +23,7 @@
     if( data.IsCreateNewVersion() ){
       VersionControl::CreateNewSceneVersion( globalotdtable, testbusinesstype );
       }else{
-        VersionControl::CreateNewVersion( globalotdtable, testbusinesstype );
+        VersionControl::CopyVersion( globalotdtable, testbusinesstype );
         }
     versionname := VersionControl::GetVersionInfo( globalotdtable, testbusinesstype ).Element( 3 );
     

--
Gitblit v1.9.3