From db4a0cee22a752f4728c9ff9f4c28f557cf6fd4f Mon Sep 17 00:00:00 2001
From: lazhen <17772815105@139.com>
Date: 星期四, 28 十一月 2024 17:57:05 +0800
Subject: [PATCH] sap接口提示错误信息

---
 _Main/BL/Type_InterfaceLoginfo/StaticMethod_CallInterfaceForSAPGet.qbl |   21 +++++++++++++++++----
 1 files changed, 17 insertions(+), 4 deletions(-)

diff --git a/_Main/BL/Type_InterfaceLoginfo/StaticMethod_CallInterfaceForSAPGet.qbl b/_Main/BL/Type_InterfaceLoginfo/StaticMethod_CallInterfaceForSAPGet.qbl
index abf4b39..3867624 100644
--- a/_Main/BL/Type_InterfaceLoginfo/StaticMethod_CallInterfaceForSAPGet.qbl
+++ b/_Main/BL/Type_InterfaceLoginfo/StaticMethod_CallInterfaceForSAPGet.qbl
@@ -3,7 +3,7 @@
 StaticMethod CallInterfaceForSAPGet (
   InterfaceDataset owner,
   InterfaceLoginfo loginfo
-) as owning InterfaceSAPResponseLoginfos
+) as String
 {
   Description: '璋冪敤鏁版嵁涓彴鎺ュ彛'
   TextBody:
@@ -31,7 +31,8 @@
     //鍚庣画鍏叡澶勭悊
     loginfo.FinishTime( DateTime::ActualTime() );
     data             := JSON::Null().Build();
-    saploginfos      := construct( InterfaceSAPResponseLoginfos );
+    sapresponse      := construct( InterfaceSAPResponseLoginfos );
+    feedback         := '';
     if( loginfo.Success() ){
       resultJson     := JSON::Parse( loginfo.Response() );
       code           := resultJson.Get( "code" ).GetNumber();
@@ -47,10 +48,22 @@
       }
       for( i := 0; i < data.Size(); i++ ){
         item := data.Get( i );
-        saploginfos.Add( InterfaceSAPResponseLoginfo::GenerateData( loginfo, item ) );
+        sapresponse.Add( InterfaceSAPResponseLoginfo::GenerateData( loginfo, item ) );
       }
+      sucproduct     := selectuniquevalues( sapresponse, Elements, e, e.IsSuccess(), e.Msg_v1() );
+      failmssages    := selectuniquevalues( sapresponse, Elements, e, not e.IsSuccess(), ifexpr( e.Msg().FindString( e.Msg_v1(), 0 ) > -1, e.Msg().ReplaceAll( e.Msg_v1(), '*' ), e.Msg() ) );
+      feedback.Concat( '浜у搧' ).Concat( sucproduct.Concatenate( "銆�" ) ).Concat( '鎺ㄩ�佹垚鍔�' ).Concat( '锛�' );
+      traverse( failmssages, Elements, failmsg ){
+        failproduct  := selectuniquevalues( sapresponse, Elements, e, not e.IsSuccess() and ( failmsg = e.Msg() or failmsg = e.Msg().ReplaceAll( e.Msg_v1(), '*' ) ), e.Msg_v1() );
+        if( failmsg.FindString( '*', 0  ) > -1 ){
+          feedback.Concat( failmsg.ReplaceAll( '*', failproduct.Concatenate( '銆�' ) ) ).Concat( '锛�' );
+        }else{
+          feedback.Concat( '浜у搧' ).Concat( failproduct.Concatenate( '銆�' ) ).Concat( '鍥犱负' ).Concat( failmsg ).Concat( '鎺ㄩ�佸け璐�' ).Concat( '锛�' );
+        }
+      }
+      feedback       := feedback.Replace( feedback.Length() - 1, 1, '銆�' );
     }
     
-    return &saploginfos;
+    return feedback;
   *]
 }

--
Gitblit v1.9.3