Quintiq file version 2.0
|
#parent: #root
|
StaticMethod CreateNewVersion (
|
GlobalOTDSOP owner,
|
String businessname
|
) as VersionControl
|
{
|
Description: '在上一版本后添加新版本号并生成新版本'
|
TextBody:
|
[*
|
// Administrator Sep-13-2023 (created)
|
createtime := DateTime::ActualTime();
|
user := QuintiqUser::CurrentUser().Username();
|
starttime := DateTime::Construct(1970,1,1,0,0,0);
|
// Get the local scenario businesstype
|
businesstype := GlobalOTDTable::GetBusinessTypeName( businessname );
|
|
// Get the older version info
|
oldversion_id := "";
|
oldversion_name := "";
|
oldcaltype := "";
|
|
latestversion := VersionControl::FindLatestUpdateVersion( owner, businesstype );
|
|
if( isnull( latestversion ) and not businesstype = "TM" ){
|
error( "Can't find last version in " + businesstype.AsQUILL() );
|
}
|
else if( not isnull( latestversion ) ){
|
oldversion_id := latestversion.VersionID() + "-";
|
oldversion_name := latestversion.LongVersionName() + "-";
|
oldcaltype := latestversion.CalType();
|
}
|
|
|
// Calculate new version info
|
additionversionid := ( createtime.MinutesAsReal( starttime ) * 60 * 10 + createtime.SecondOfMinute() ).Round( 0 );
|
newversionid := oldversion_id + [String]additionversionid;
|
newcaltype := GlobalOTDTable::GetNextCalType( oldcaltype, businesstype );
|
newsingleversionname := newcaltype + "(" + createtime.Format( "Y/M2/D2 H:m:s" ) + ")";
|
newversionname := oldversion_name + newsingleversionname;
|
|
// Create new version
|
newversion := VersionControl::Create( owner, businesstype, newcaltype, createtime, newversionid, newversionname, newsingleversionname, user );
|
|
return newversion;
|
*]
|
}
|