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 ++++++++++++++++-----
 1 files changed, 16 insertions(+), 5 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 );

--
Gitblit v1.9.3