From c78e94462c0ba8b3c1ec6fbcddaa3eec9ffcb980 Mon Sep 17 00:00:00 2001
From: kyy <3283105747@qq.com>
Date: 星期四, 18 十二月 2025 16:56:01 +0800
Subject: [PATCH] ERP接口增加详细错误日志

---
 WebApi/Gs.Sys/Services/FmController.cs |   56 +++++++++++++++++++++++++++-
 WebApi/Gs.Toolbox/InterfaceUtil.cs     |   34 ++++++++++++++++-
 2 files changed, 86 insertions(+), 4 deletions(-)

diff --git a/WebApi/Gs.Sys/Services/FmController.cs b/WebApi/Gs.Sys/Services/FmController.cs
index 0e4add0..c9a4a11 100644
--- a/WebApi/Gs.Sys/Services/FmController.cs
+++ b/WebApi/Gs.Sys/Services/FmController.cs
@@ -389,8 +389,15 @@
             string _rtnStr = "";
             try
             {
+                // 璁板綍鏂规硶鍏ュ彛鍙傛暟
+                Gs.Toolbox.LogHelper.Debug(this.ToString(),
+                    $"SendErp寮�濮� - keyGuid:{model.keyGuid}, keyNo:{model.keyNo}, keyMeth:{model.keyMeth}, keyProduce:{model.keyProduce}, keyUrl:{model.keyUrl}");
+
                 // 鏋勫缓ERP璇锋眰鍙傛暟
+                Gs.Toolbox.LogHelper.Debug(this.ToString(), "SendErp - 寮�濮嬭皟鐢℅etErpParam");
                 string _erpJson = GetErpParam(model);
+                Gs.Toolbox.LogHelper.Debug(this.ToString(),
+                    $"SendErp - GetErpParam杩斿洖锛孞SON闀垮害:{_erpJson.Length}, 鍓�100瀛楃:{(_erpJson.Length > 100 ? _erpJson.Substring(0, 100) : _erpJson)}");
                 if (_erpJson.Length <= 0)
                     return "-1璇诲彇erp鍙傛暟澶辫触锛�";
                 string keyUserGuid = model.keyUserGuid;
@@ -401,14 +408,22 @@
                 if (string.IsNullOrEmpty(idtype))
                 {
                     // 甯歌鎺ュ彛锛氭寜鎿嶄綔绫诲瀷鎺ㄩ�佸崟鏉′笟鍔℃暟鎹�
+                    Gs.Toolbox.LogHelper.Debug(this.ToString(),
+                        $"SendErp - 寮�濮嬭皟鐢℉ttpPostErp(甯歌鎺ュ彛) - keyUserGuid:{keyUserGuid}, keyGuid:{keyGuid}, keyNo:{keyNo}, urlType:0, keyUrl:{keyUrl}");
                     (_rtnInt, _rtnStr) = InterfaceUtil.HttpPostErp(_erpJson,
                         keyUserGuid, keyGuid, keyNo, 0, keyUrl);
+                    Gs.Toolbox.LogHelper.Debug(this.ToString(),
+                        $"SendErp - HttpPostErp杩斿洖 - _rtnInt:{_rtnInt}, _rtnStr:{_rtnStr}");
                 }
                 else
                 {
                     // 甯dtype鐨勮姹傜敤浜庣壒娈婃祦绋嬶紙濡傚叧闂�佸弽鍏抽棴锛夛紝ERP闇�瑕侀澶栫殑鐘舵�佹爣璁�
+                    Gs.Toolbox.LogHelper.Debug(this.ToString(),
+                        $"SendErp - 寮�濮嬭皟鐢℉ttpPostErp(鐗规畩娴佺▼) - keyUserGuid:{keyUserGuid}, keyGuid:{keyGuid}, keyNo:{keyNo}, urlType:2, keyUrl:{keyUrl}, idtype:{idtype}");
                     (_rtnInt, _rtnStr) = InterfaceUtil.HttpPostErp(_erpJson,
                         keyUserGuid, keyGuid, keyNo, 2, keyUrl);
+                    Gs.Toolbox.LogHelper.Debug(this.ToString(),
+                        $"SendErp - HttpPostErp杩斿洖 - _rtnInt:{_rtnInt}, _rtnStr:{_rtnStr}");
                 }
             }
             catch (Exception ex)
@@ -446,9 +461,16 @@
             string keyMeth = model.keyMeth;
             string keyNo = model.keyNo;
             string idtype = model.idtype; // 浠呭湪鏇存柊宸ュ崟鐘舵�佹椂浣跨敤
+
+            Gs.Toolbox.LogHelper.Debug(this.ToString(),
+                $"GetErpParam寮�濮� - keyGuid:{keyGuid}, keyMeth:{keyMeth}, keyProduce:{keyProduce}, keyTaskName:{keyTaskName}, idtype:{idtype}");
+
             if (keyMeth.ToUpper() == "delete".ToUpper())
+            {
                 // 鍒犻櫎鎿嶄綔鏃犻渶鍚慐RP鎺ㄩ�佹暟鎹紝鍙渶杩斿洖绌轰覆
+                Gs.Toolbox.LogHelper.Debug(this.ToString(), "GetErpParam - 鍒犻櫎鎿嶄綔锛岃繑鍥炵┖涓�");
                 return "";
+            }
             try
             {
                 System.Data.DataSet dset = new System.Data.DataSet();
@@ -459,31 +481,53 @@
                     new("@keyMeth", keyMeth.ToLower()),
                 };
                 // 璋冪敤涓氬姟瀹氫箟鐨勫瓨鍌ㄨ繃绋嬶紝灏哅ES鏁版嵁鎵撳寘缁橢RP
+                Gs.Toolbox.LogHelper.Debug(this.ToString(),
+                    $"GetErpParam - 寮�濮嬭皟鐢ㄥ瓨鍌ㄨ繃绋�:{keyProduce}, 鍙傛暟:@inOrderGuid={keyGuid}, @inEdtUserGuid={keyUserGuid}, @keyMeth={keyMeth.ToLower()}");
                 dset = DbHelperSQL.RunProcedure(keyProduce, parameters, "0");
+                Gs.Toolbox.LogHelper.Debug(this.ToString(),
+                    $"GetErpParam - 瀛樺偍杩囩▼杩斿洖锛孌ataSet琛ㄦ暟閲�:{(dset == null ? 0 : dset.Tables.Count)}");
                 if (dset == null)
+                {
+                    Gs.Toolbox.LogHelper.Debug(this.ToString(), "GetErpParam - DataSet涓簄ull锛岃繑鍥炵┖涓�");
                     return "";
+                }
                 if (dset.Tables.Count <= 0)
+                {
+                    Gs.Toolbox.LogHelper.Debug(this.ToString(), "GetErpParam - DataSet琛ㄦ暟閲忎负0锛岃繑鍥炵┖涓�");
                     return "";
+                }
                 if (dset.Tables[0].Rows.Count <= 0)
+                {
+                    Gs.Toolbox.LogHelper.Debug(this.ToString(), "GetErpParam - 绗竴寮犺〃琛屾暟涓�0锛岃繑鍥炵┖涓�");
                     return "";
+                }
+
+                Gs.Toolbox.LogHelper.Debug(this.ToString(),
+                    $"GetErpParam - 绗竴寮犺〃琛屾暟:{dset.Tables[0].Rows.Count}, 鍒楁暟:{dset.Tables[0].Columns.Count}");
+
                 // 甯歌鎺ュ彛澶勭悊閫昏緫
                 if (string.IsNullOrEmpty(idtype))
                 {
+                    Gs.Toolbox.LogHelper.Debug(this.ToString(), "GetErpParam - 甯歌鎺ュ彛澶勭悊閫昏緫");
                     // 甯歌鍑哄弬锛氱涓�寮犺〃鏄富鏁版嵁锛岀浜屽紶琛紙鑻ュ瓨鍦級鏄瓙琛ㄩ泦鍚�
                     string _mesGuid = dset.Tables[0].Rows[0][0].ToString();
                     dynamic _datajson = new ExpandoObject();
                     if (dset.Tables.Count > 1)
                     {
+                        Gs.Toolbox.LogHelper.Debug(this.ToString(),
+                            $"GetErpParam - 澶氳〃杩斿洖锛岀浜屽紶琛ㄨ鏁�:{dset.Tables[1].Rows.Count}");
                         // 澶氳〃杩斿洖鏃讹紝闇�瑕佹妸瀛愯〃闆嗗悎鎸傚埌datajson涓�
                         // 缁撴鎿嶄綔鐨勭粨鏋勪笌鍏朵粬涓嶄竴鏍凤紝鐗规畩澶勭悊
                         if (keyMeth.ToLower() == "toclose".ToLower() ||
                             keyMeth.ToLower() == "closure".ToLower() ||
                             keyMeth.ToLower() == "unfinish")
                         {
+                            Gs.Toolbox.LogHelper.Debug(this.ToString(), "GetErpParam - 缁撴鎿嶄綔锛屼娇鐢ㄧ浜屽紶琛�");
                             _datajson = dset.Tables[1].Rows[0].RowToDynamic();
                         }
                         else
                         {
+                            Gs.Toolbox.LogHelper.Debug(this.ToString(), "GetErpParam - 甯歌澶氳〃锛屼富琛�+瀛愯〃缁撴瀯");
                             _datajson = dset.Tables[0].Rows[0].RowToDynamic();
                             List<dynamic> _lst =
                                 dset.Tables[1].TableToDynamicList();
@@ -493,6 +537,7 @@
                     }
                     else if (dset.Tables.Count == 1)
                     {
+                        Gs.Toolbox.LogHelper.Debug(this.ToString(), "GetErpParam - 鍗曡〃杩斿洖");
                         _datajson = dset.Tables[0].Rows[0].RowToDynamic();
                     }
 
@@ -504,10 +549,14 @@
                     //     datajson = JsonConvert.SerializeObject(_datajson),
                     // };
                     // return JsonConvert.SerializeObject(_obj);
-                    return JsonConvert.SerializeObject(_datajson);
+                    string jsonResult = JsonConvert.SerializeObject(_datajson);
+                    Gs.Toolbox.LogHelper.Debug(this.ToString(),
+                        $"GetErpParam - 甯歌鎺ュ彛JSON鏋勫缓瀹屾垚锛岄暱搴�:{jsonResult.Length}");
+                    return jsonResult;
                 }
 
                 // 璁㈠崟鍥炰紶鏍囪瘑澶勭悊閫昏緫锛堝甫idtype锛�
+                Gs.Toolbox.LogHelper.Debug(this.ToString(), "GetErpParam - 璁㈠崟鍥炰紶鏍囪瘑澶勭悊閫昏緫(idtype)");
                 List<dynamic> _datajson22 = new List<dynamic>();
                 dynamic _ob = new ExpandoObject();
                 _ob.ENTRY = dset.Tables[0].TableToDynamicList();
@@ -519,7 +568,10 @@
                 //     datajson = JsonConvert.SerializeObject(_datajson22),
                 // };
                 // return JsonConvert.SerializeObject(_obj22);
-                return JsonConvert.SerializeObject(_datajson22);
+                string jsonResult22 = JsonConvert.SerializeObject(_datajson22);
+                Gs.Toolbox.LogHelper.Debug(this.ToString(),
+                    $"GetErpParam - idtype鎺ュ彛JSON鏋勫缓瀹屾垚锛岄暱搴�:{jsonResult22.Length}");
+                return jsonResult22;
             }
             catch (Exception ex)
             {
diff --git a/WebApi/Gs.Toolbox/InterfaceUtil.cs b/WebApi/Gs.Toolbox/InterfaceUtil.cs
index 5d00201..cc77abc 100644
--- a/WebApi/Gs.Toolbox/InterfaceUtil.cs
+++ b/WebApi/Gs.Toolbox/InterfaceUtil.cs
@@ -31,12 +31,17 @@
         string url = AppSettingsHelper.getValueByKey("TestErpUrl") + keyUrl;
         if (urlType == 2)
             url = AppSettingsHelper.getValueByKey("TestErpUrl2") + keyUrl;
+
+        LogHelper.Debug("InterfaceUtil.HttpPostErp",
+            $"鏂规硶鍏ュ彛 - url:{url}, urlType:{urlType}, hNo:{hNo}, param闀垮害:{param.Length}, param鍓�200瀛楃:{(param.Length > 200 ? param.Substring(0, 200) : param)}");
+
         HttpWebRequest request = null;
         StreamWriter requestStream = null;
         WebResponse response = null;
         string responseStr = "";
         try
         {
+            LogHelper.Debug("InterfaceUtil.HttpPostErp", $"寮�濮嬪垱寤篐TTP璇锋眰 - URL:{url}");
             request = (HttpWebRequest)WebRequest.Create(url);
             request.Method = "POST";
             request.ContentType = "application/json";
@@ -48,16 +53,21 @@
                 new HttpRequestCachePolicy(HttpRequestCacheLevel
                     .NoCacheNoStore);
             request.CachePolicy = noCachePolicy;
+            LogHelper.Debug("InterfaceUtil.HttpPostErp", "HTTP璇锋眰閰嶇疆瀹屾垚锛屽紑濮嬪彂閫佹暟鎹�");
             requestStream = new StreamWriter(request.GetRequestStream());
             requestStream.Write(param);
             requestStream.Close();
+            LogHelper.Debug("InterfaceUtil.HttpPostErp", "鏁版嵁鍙戦�佸畬鎴愶紝绛夊緟鍝嶅簲");
             response = request.GetResponse();
+            LogHelper.Debug("InterfaceUtil.HttpPostErp", "鏀跺埌鍝嶅簲");
             if (response != null)
             {
                 var reader = new StreamReader(response.GetResponseStream(),
                     Encoding.UTF8);
                 responseStr = reader.ReadToEnd();
                 reader.Close();
+                LogHelper.Debug("InterfaceUtil.HttpPostErp",
+                    $"鍝嶅簲璇诲彇瀹屾垚 - 鍝嶅簲闀垮害:{responseStr.Length}, 鍝嶅簲鍐呭:{responseStr}");
             }
         }
         catch (Exception ex)
@@ -80,13 +90,24 @@
                   if ("200".Equals(_result.code))
                       _rtn = 1;
               }*/
-      
+
         if (_rtn != -1)
         {
+                LogHelper.Debug("InterfaceUtil.HttpPostErp", $"寮�濮嬭В鏋愬搷搴擩SON - responseStr:{responseStr}");
                 Result _result = JsonConvert.DeserializeObject<Result>(responseStr);
+                LogHelper.Debug("InterfaceUtil.HttpPostErp",
+                    $"JSON瑙f瀽瀹屾垚 - status:{_result?.status}, message:{_result?.message}, doc_no:{_result?.data?.doc_no}");
                 // 鏂板垽鏂鍒欙細status=0 涓� message=Success 鎵嶇畻鎴愬姛
                 if (_result?.status == "0" && _result?.message == "Success")
+                {
                     _rtn = 1;
+                    LogHelper.Debug("InterfaceUtil.HttpPostErp", "鍒ゆ柇缁撴灉锛氭垚鍔�");
+                }
+                else
+                {
+                    LogHelper.Debug("InterfaceUtil.HttpPostErp",
+                        $"鍒ゆ柇缁撴灉锛氬け璐� - status涓嶄负0鎴杕essage涓嶄负Success");
+                }
                docNo = _result.data.doc_no;
         }
 
@@ -96,7 +117,8 @@
             sbLog.Append(",鍙戦�佹垚鍔�");
 
             //鍙戦�佹垚鍔熷弽鍐檈rp鍗曞彿
-           
+            LogHelper.Debug("InterfaceUtil.HttpPostErp",
+                $"寮�濮嬭皟鐢ㄥ瓨鍌ㄨ繃绋嬪弽鍐橢RP鍗曞彿 - hNo:{hNo}, erpNo:{docNo}, Api:{keyUrl}");
             SqlParameter[] parameters =
                {
                 new("@hNo", hNo),
@@ -106,11 +128,16 @@
                 new("@in2", ""),
                };
             DbHelperSQL.RunProcedure("[prc_Rev_ErpNo]", parameters);
+            LogHelper.Debug("InterfaceUtil.HttpPostErp", "鍙嶅啓ERP鍗曞彿瀹屾垚");
         }
         else
+        {
             sbLog.Append(",鍙戦�佸け璐�,mes閫�鍑烘搷浣�");
+            LogHelper.Debug("InterfaceUtil.HttpPostErp", $"鍙戦�佸け璐� - _rtn:{_rtn}");
+        }
         try
         {
+            LogHelper.Debug("InterfaceUtil.HttpPostErp", "寮�濮嬪啓鍏ユ棩蹇楄〃");
             SqlParameter[] parameters =
             {
                 new("@edtUserGuid", edtUserGuid),
@@ -125,12 +152,15 @@
                 new("@isErp", 1),
             };
             DbHelperSQL.RunProcedure("[prc_log_create]", parameters);
+            LogHelper.Debug("InterfaceUtil.HttpPostErp", "鏃ュ織琛ㄥ啓鍏ュ畬鎴�");
         }
         catch (Exception ex)
         {
             LogHelper.Debug(url, "HttpPostErp 鍐欏叆鏃ュ織琛�" + ex.Message);
         }
 
+        LogHelper.Debug("InterfaceUtil.HttpPostErp",
+            $"鏂规硶缁撴潫 - 杩斿洖鍊�:(_rtn:{_rtn}, {(_rtn > 0 ? "strLogGuid:" + strLogGuid : "responseStr:" + responseStr)})");
         return (_rtn, (_rtn > 0 ? strLogGuid : responseStr));
     }
 

--
Gitblit v1.9.3