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 HandlePP ( 
 |    Archive archive, 
 |    MacroPlan macroPlan, 
 |    String userName, 
 |    String ppFileName, 
 |    BinaryValue ppBinaryValue, 
 |    Boolean isPPArchive, 
 |    String filePath, 
 |    Boolean isOverwriteFile 
 |  ) as stream[JSON] 
 |  { 
 |    TextBody: 
 |    [* 
 |      // 请求参数 
 |      pathPP     := filePath + ppFileName; 
 |      isArchive  := ifexpr( isPPArchive, "true", "false" ); 
 |      isOverride := ifexpr( isOverwriteFile, "true", "false" ); 
 |      minorKey   := [String]macroPlan.MDSID().MinorKey(); 
 |      json       := JSON::Object() 
 |                    .Add( "path", pathPP ) 
 |                    .Add( "isArchive", isArchive ) 
 |                    .Add( "isOverride", isOverride ) 
 |                    .Add( "minorKey", minorKey ).Build().AsString(); 
 |       
 |      // 写入临时文件 
 |      Archive::WriteTempFile( pathPP, ppBinaryValue ); 
 |       
 |      // 调用接口 
 |      url := "/PPBudget/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 ); 
 |    *] 
 |  } 
 |  
  |