| | |
| | | using System.Net.Cache; |
| | | using System.Net; |
| | | using System.Text; |
| | | using Newtonsoft.Json; |
| | | using Newtonsoft.Json; |
| | | using System.Data.SqlClient; |
| | | using System.Dynamic; |
| | | using System.Net; |
| | | using System.Net.Cache; |
| | | using System.Text; |
| | | |
| | | |
| | | namespace Gs.Toolbox; |
| | |
| | | /// <returns>如果成功返回日志guid,否则返回串</returns> |
| | | public static (int, string) HttpPostErp(string param, string edtUserGuid = "", string abtGuid = "", string hNo = "", int urlType = 0) |
| | | { |
| | | System.Text.StringBuilder sbTm = new System.Text.StringBuilder(); |
| | | sbTm.Append(DateTime.Now.ToString() + "开始发送"); |
| | | int _rtn = 0; |
| | | //日志详细,发送的时候,记录日志,存储过程调用的时候,再累加上mes业务的操作结果 |
| | | System.Text.StringBuilder sbLog = new System.Text.StringBuilder(); |
| | | sbLog.Append(DateTime.Now.ToString() + "开始发送"); |
| | | string strLogGuid = Guid.NewGuid().ToString(); |
| | | string url = AppSettingsHelper.getValueByKey("TestErpUrl"); |
| | | if (urlType == 2) |
| | | { |
| | | url = AppSettingsHelper.getValueByKey("TestErpUrl2"); |
| | | } |
| | | else if (urlType == 3) |
| | | { |
| | | url = AppSettingsHelper.getValueByKey("TestErpUrl3"); |
| | | } |
| | | else if (urlType == 4) |
| | | { |
| | | url = AppSettingsHelper.getValueByKey("TestErpUrl4"); |
| | | } |
| | | else if (urlType == 5) |
| | | { |
| | | url = AppSettingsHelper.getValueByKey("TestErpUrl5"); |
| | | } |
| | | else if (urlType == 6) |
| | | { |
| | | url = AppSettingsHelper.getValueByKey("TestErpUrl6"); |
| | | } |
| | | HttpWebRequest request = null; |
| | | StreamWriter requestStream = null; |
| | | WebResponse response = null; |
| | |
| | | request.Method = "POST"; |
| | | request.ContentType = "application/json"; |
| | | request.Accept = "*/*"; |
| | | request.Timeout = 150000; |
| | | //request.Timeout = 150000; |
| | | request.AllowAutoRedirect = false; |
| | | request.ServicePoint.Expect100Continue = false; |
| | | HttpRequestCachePolicy noCachePolicy = new HttpRequestCachePolicy(HttpRequestCacheLevel.NoCacheNoStore); |
| | |
| | | response = request.GetResponse(); |
| | | if (response != null) |
| | | { |
| | | var reader = new StreamReader(response.GetResponseStream(), |
| | | Encoding.UTF8); |
| | | var reader = new StreamReader(response.GetResponseStream(),Encoding.UTF8); |
| | | responseStr = reader.ReadToEnd(); |
| | | reader.Close(); |
| | | } |
| | | // LogHelper.Debug(url, "HttpPostErp response:" + param + ",response:" + responseStr.ToString()); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | LogHelper.Debug(url, "HttpPostErp param:" + param + ",ex:" + ex.Message); |
| | | LogHelper.Debug(url, "HttpPostErp response:" + param + ",ex:" + ex.Message); |
| | | responseStr = ex.Message; |
| | | // throw ex; |
| | | _rtn = -1; |
| | | } |
| | | finally |
| | | { |
| | |
| | | requestStream = null; |
| | | response = null; |
| | | } |
| | | Result _result = JsonConvert.DeserializeObject<Result>(responseStr); |
| | | int _rtn = 0; |
| | | if ("200".Equals(_result.state)) |
| | | _rtn = 1; |
| | | sbTm.Append("," + DateTime.Now.ToString() + "结束发送"); |
| | | //{"msg":"操作成功","code":200,"data":{"number":"CGSL168397","code":"200","id":"268781"}} |
| | | if (_rtn != -1) |
| | | { |
| | | Result _result = JsonConvert.DeserializeObject<Result>(responseStr); |
| | | if ("200".Equals(_result.code)) |
| | | _rtn = 1; |
| | | } |
| | | sbLog.Append("," + DateTime.Now.ToString() + "结束发送"); |
| | | if (_rtn > 0) |
| | | sbTm.Append(",发送成功"); |
| | | sbLog.Append(",发送成功"); |
| | | else |
| | | sbTm.Append(",发送失败,mes退出操作"); |
| | | sbLog.Append(",发送失败,mes退出操作"); |
| | | try |
| | | { |
| | | SqlParameter[] parameters = |
| | |
| | | new("@edtUserGuid", edtUserGuid), |
| | | new("@abtGuid", abtGuid), |
| | | new("@abtTable", ""), |
| | | new("@detail", sbTm.ToString()), |
| | | new("@detail", sbLog.ToString()), |
| | | new("@hNo", hNo), |
| | | new("@RtnLogGuid", strLogGuid), |
| | | new("@SendJson", param), |
| | | new("@RtnJson", responseStr), |
| | | new("@isSuccess", (_rtn>0?1:0)), |
| | | new("@isErp", 1), |
| | | }; |
| | | DbHelperSQL.RunProcedure("[prc_log_create]", parameters); |
| | | } |
| | |
| | | return (_rtn, (_rtn > 0 ? strLogGuid : responseStr)); |
| | | } |
| | | } |
| | | |
| | | //{"msg":"操作成功","code":200,"data":{"number":"CGSL168397","code":"200","id":"268781"}} |
| | | public class Result |
| | | { |
| | | /// <summary> |
| | | /// 200成功,否则失败 |
| | | /// </summary> |
| | | public string? state { get; set; } |
| | | /// |
| | | |
| | | public string? msg { get; set; } |
| | | |
| | | public string? status { get; set; } |
| | | |
| | | public string? message { get; set; } |
| | | public string? code { get; set; } |
| | | // public string? data { get; set; } |
| | | } |