Quintiq file version 2.0
|
#parent: #root
|
StaticMethod HandleBudget (
|
Archive archive,
|
MacroPlan macroPlan,
|
String userName,
|
String budgetFileName,
|
BinaryValue budgetBinaryValue,
|
Boolean isBudgetArchive,
|
String filePath,
|
Boolean isOverwriteFile
|
) as stream[JSON]
|
{
|
TextBody:
|
[*
|
// 请求参数
|
pathBudget := filePath + budgetFileName;
|
isArchive := ifexpr( isBudgetArchive, "true", "false" );
|
isOverride := ifexpr( isOverwriteFile, "true", "false" );
|
minorKey := [String]macroPlan.MDSID().MinorKey();
|
json := JSON::Object()
|
.Add( "path", pathBudget )
|
.Add( "isArchive", isArchive )
|
.Add( "isOverride", isOverride )
|
.Add( "minorKey", minorKey ).Build().AsString();
|
|
// 写入临时文件
|
Archive::WriteTempFile( pathBudget, budgetBinaryValue );
|
|
// 调用接口
|
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 );
|
*]
|
}
|