xiaoding721
2024-05-29 5a32cdfbc1d42594eb3fc7621dbd9024cda46ea5
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
Quintiq file version 2.0
#parent: #root
StaticMethod Archive (
  JSON respJSON,
  Archive archive,
  String archiveType
)
{
  TextBody:
  [*
    code             := respJSON.Get( "code" ).GetNumber();
    archiveFileJSONs := respJSON.Get( "archiveFiles" );
    info( archiveFileJSONs.AsString() );
    if ( code = 200 ) {
      for ( i := 0; i < archiveFileJSONs.Size(); i++ ) {
        archiveFileJSON := archiveFileJSONs.Get( i );
        
        fileName        := archiveFileJSON.Get( "fileName" ).GetString();
        filePath        := archiveFileJSON.Get( "fileFullPath" ).GetString();
        
        if ( archiveType = "PR" ) {
          apr := select( archive, ArchivePR, tempAPR, tempAPR.Name() = fileName );
          if ( not isnull( apr ) ) {
            apr.FilePath( filePath );
          } else {
            archive.ArchivePR( relnew, Name := fileName, FilePath := filePath );
          }
        } else if ( archiveType = "PP" ) {
          app := select( archive, ArchivePP, tempAPP, tempAPP.Name() = fileName );
          if ( not isnull( app ) ) {
            app.FilePath( filePath );
          } else {
            archive.ArchivePP( relnew, Name := fileName, FilePath := filePath );
          }
        } else if ( archiveType = "Budget" ) {
          ab := select( archive, ArchiveBudget, tempAB, tempAB.Name() = fileName );
          if ( not isnull( ab ) ) {
            ab.FilePath( filePath );
          } else {
            archive.ArchiveBudget( relnew, Name := fileName, FilePath := filePath );
          }
        } else if ( archiveType = "PPA" ) {
          appa := select( archive, ArchivePPA, tempAPPA, tempAPPA.Name() = fileName );
          if ( not isnull( appa ) ) {
            appa.FilePath( filePath );
          } else {
            archive.ArchivePPA( relnew, Name := fileName, FilePath := filePath );
          }
        }
      }
    }
  *]
}