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
  | Quintiq file version 2.0 
 |  #parent: #root 
 |  StaticMethod HandlePR ( 
 |    Archive archive, 
 |    MacroPlan macroPlan, 
 |    String userName, 
 |    String prFileName, 
 |    BinaryValue prBinaryValue, 
 |    Boolean isPRArchive, 
 |    String filePath, 
 |    Boolean isOverwriteFile 
 |  ) as stream[JSON] 
 |  { 
 |    TextBody: 
 |    [* 
 |      // 请求参数 
 |      pathPR       := filePath + prFileName; 
 |      isArchive    := ifexpr( isPRArchive, "true", "false" ); 
 |      isOverride   := ifexpr( isOverwriteFile, "true", "false" ); 
 |      macroPlanKey := [String]macroPlan.MDSID().MinorKey(); 
 |      json         := JSON::Object() 
 |                      .Add( "pathPR", pathPR ) 
 |                      .Add( "isArchive", isArchive ) 
 |                      .Add( "isOverride", isOverride ) 
 |                      .Add( "minorKey", macroPlanKey ).Build().AsString(); 
 |       
 |      // 写入临时文件 
 |      Archive::WriteTempFile( pathPR, prBinaryValue ); 
 |       
 |      // 调用接口 
 |      url := "/PR/Import"; 
 |       
 |      i := HTTPInterface::Create( archive.JavaInterfaceAddress(), archive.JavaInterfacePort() ); 
 |      i.URL( url ); 
 |      i.PostMethod( true ); 
 |      i.MediaType( "application/json" ); 
 |      i.TimeOut( Duration::Minutes( 5 ) ); 
 |       
 |      i.Call( json ); 
 |         
 |      htmlresult := i.Result(); 
 |         
 |      respJSON   := JSON::Parse( htmlresult ); 
 |       
 |      return emit( respJSON ); 
 |    *] 
 |  } 
 |  
  |