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