haorenhui
2023-10-30 6d6cc10d9e8e242661da7fd655dec155a09d676c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
Quintiq file version 2.0
#parent: #root
StaticMethod GetBusinessTypeStatus (
  GlobalOTDSOP owner,
  String rootversionid
)
{
  Description: '刷新所有事业部的发布情况'
  TextBody:
  [*
    // Administrator Sep-13-2023 (created)
    // Get business type list 
    businesstypes := "集团,面板,手机事业部,IT事业部,车载事业部,汽车电子事业部,专显事业部,穿戴事业部";
    businesstypelist := businesstypes.Tokenize( "," );
    
    sortnumber := 0;
    sortdetailnumber := 0;
    traverse( businesstypelist, Elements, businessname, true ){
    //  info( businessname );
      // Get the local scenario businesstype
      businesstype := GlobalOTDTable::GetBusinessTypeName( businessname );
      sortnumber := sortnumber + 1;
      lastversion := VersionControl::FindLatestUpdateVersion( owner, businesstype );
      if( not isnull( lastversion ) ){
        VersionStatus::CreateOrUpdate( owner, 
                                       businesstype, 
                                       businessname, 
                                       lastversion.ReleaseTime(), 
                                       lastversion.User(), 
                                       lastversion.SingleVersionName(), 
                                       lastversion.Notes(), 
                                       sortnumber );
        }else{
          existstatus := VersionStatus::FindLatestStatus( owner, businesstype );
          if( isnull( existstatus ) ){
            owner.VersionStatus( relnew, 
                                 BusinessType := businesstype,
                                 BusinessName := businessname, 
                                 SortNumber := sortnumber
                                  );
            }
          }
        
        rootstatus := VersionStatus::FindLatestStatus( owner, businesstype );
        // Get the versions list
        versionlist := VersionControl::FindReleasedVersions( owner, businesstype, rootversionid );
    //    info( rootversionid );
        if( not isnull( versionlist ) ){
          traverse( versionlist, Elements, version, true ){
            info( version.VersionID() );
            sortdetailnumber := sortdetailnumber + 1;
            VersionStatusDetail::CreateOrUpdate( rootstatus,
                                                 version.VersionID() + "-" + version.CalType(), 
                                                 version.CreateTime(),
                                                 version.ReleaseTime(), 
                                                 version.SingleVersionName(), 
                                                 version.User(), 
                                                 version.Notes(), 
                                                 sortdetailnumber );
            }
          }
      }
  *]
}