admin
2024-11-07 e5664d694fca1afef7bb4f0f95cfd47f855cadd0
计划库存接口优化
已修改2个文件
已添加1个文件
77 ■■■■ 文件已修改
_Main/BL/Type_InterfaceDataset/Method_PublishPlanReportData.qbl 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_InterfaceDataset/StaticMethod_PushPlanInventoryData.qbl 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_InterfaceLoginfo/StaticMethod_CallInterfaceForDataCenter_PlanInventory.qbl 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_InterfaceDataset/Method_PublishPlanReportData.qbl
@@ -27,7 +27,7 @@
      AssemblyOnlinePlanPPPSPush::GenerateData( this, macroplan, executor );
    }
    if ( isinventoryplan ) { // è®¡åˆ’库存数据
      InterfaceDataset::PushPlanInventoryData( macroplan, this );
      InterfaceDataset::PushPlanInventoryData( macroplan, this, executor );
    }
  *]
}
_Main/BL/Type_InterfaceDataset/StaticMethod_PushPlanInventoryData.qbl
@@ -2,7 +2,8 @@
#parent: #root
StaticMethod PushPlanInventoryData (
  const MacroPlan macroPlan,
  InterfaceDataset interfaceDataset
  InterfaceDataset interfaceDataset,
  String executor
)
{
  Description: '发送计划库存数据接口'
@@ -10,7 +11,7 @@
  [*
    table         := selectobject( interfaceDataset, InventoryPlanArchiveVersion, version, not version.IsShow() );
    
    interfaceTime := DateTime::ActualTime().Format( "Y-M2-D2 h2:m:s" );
    interfaceTime := DateTime::ActualTime().Format( "Y-M2-D2 H2:m:s" );
    
    jsonarray     := JSON::Array();
    
@@ -32,14 +33,17 @@
    }
    
    requestbody := jsonarray.Build().AsString();
    info(  requestbody );
    //loginfo := owner.InterfaceLoginfo( relnew, ExecuteUser := executor
    //                                   , Name := Translations::InterfaceDataset_CustomerDemandPPAIDS_Name()
    //                                   , InterfaceDateTime := DateTime::ActualTime()
    //                                   , Message := '客户需求(PPA+IDS)'
    //                                   , RequestBody := requestbody);
    ////error( '--------------------', requestbody );
    //data     := InterfaceLoginfo::CallInterfaceForDataCenter( owner, loginfo );
    //info(  requestbody );
    loginfo := interfaceDataset.InterfaceLoginfo( relnew,
                                                  ExecuteUser       := executor,
                                                  Name              := Translations::InterfaceDataset_CustomerDemandPPAIDS_Name(),
                                                  InterfaceDateTime := DateTime::ActualTime(),
                                                  Message           := "计划库存数据",
                                                  RequestBody       := requestbody );
    InterfaceLoginfo::CallInterfaceForDataCenter_PlanInventory( interfaceDataset, loginfo );
    //info( '----------------', data.AsString() );
  *]
}
_Main/BL/Type_InterfaceLoginfo/StaticMethod_CallInterfaceForDataCenter_PlanInventory.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,51 @@
Quintiq file version 2.0
#parent: #root
StaticMethod CallInterfaceForDataCenter_PlanInventory (
  InterfaceDataset owner,
  InterfaceLoginfo loginfo
) as owning JSON
{
  Description: '调用数据中台接口【计划库存】'
  TextBody:
  [*
    // ç”„兰鸽 Jul-22-2024 (created)
    address       := Translations::InterfaceDataset_DataCenter_Address();
    httpinterface := HTTPInterface::Create( address,80);
    httpinterface.PostMethod( true );
    httpinterface.MediaType( Translations::InterfaceDataset_ContentType() );
    httpinterface.AddHeader( "clientId", Translations::InterfaceDataset_DataCenter_ClientId() );
    httpinterface.AddHeader( "clientSecret", Translations::InterfaceDataset_DataCenter_ClientSecret() );
    try{
      if( loginfo.Name() = Translations::InterfaceDataset_CustomerDemandPPAIDS_Name() ){//客户需求
        httpinterface.URL( Translations::InterfaceDataset_CustomerDemandPPAIDS_URL() );
      }
      httpinterface.Call( loginfo.RequestBody() );
      result := httpinterface.Result();
      loginfo.Response( result );
      loginfo.Success( true );
    }onerror{
      loginfo.ReturnMsg( e.GeneralInformation() );
    }
    //后续公共处理
    loginfo.FinishTime( DateTime::ActualTime() );
    data             := JSON::Null().Build();
    if( loginfo.Success() ){
      resultJson     := JSON::Parse( loginfo.Response() );
      code           := resultJson.Get( "code" ).GetNumber();
      msg            := resultJson.Get( "message" ).GetString();
      data           := resultJson.Get( "data" );
      loginfo.ReturnMsg( msg );
      if( code = 200 ){
    //    total        := resultJson.Get( "dataSize" ).GetNumber();
        loginfo.ReturnSuccess( true );
    //    loginfo.TotalRow( total );
        loginfo.UpdateLast();
      }
    }
    return &data;
  *]
}