From 74ca5a83f24c53c48ad7e6f5b7739649fb411546 Mon Sep 17 00:00:00 2001 From: kazelee <1847801760@qq.com> Date: 星期四, 17 七月 2025 17:19:53 +0800 Subject: [PATCH] 优化部分日志和未使用代码 --- util/WebHelper.cs | 176 ++++++++++++++++++++++ util/SqlHelper.cs | 11 api/DebugController.cs | 128 --------------- util/HttpHelper.cs | 5 wms/LocationHelper.cs | 11 models/TN_Container.cs | 2 api/AgvController.cs | 134 ---------------- util/LogHelper.cs | 1 process/TaskProcess.cs | 3 HH.WCS.Mobox3.DSZSH.csproj | 1 10 files changed, 190 insertions(+), 282 deletions(-) diff --git a/HH.WCS.Mobox3.DSZSH.csproj b/HH.WCS.Mobox3.DSZSH.csproj index 570c813..393f918 100644 --- a/HH.WCS.Mobox3.DSZSH.csproj +++ b/HH.WCS.Mobox3.DSZSH.csproj @@ -270,6 +270,7 @@ <Compile Include="api\WMSController.cs" /> <Compile Include="dispatch\HostToAGV.cs" /> <Compile Include="util\LogHelper.cs" /> + <Compile Include="util\WebHelper.cs" /> <Compile Include="wms\LocationHelper.cs" /> <Compile Include="wms\SYSHelper.cs" /> <Compile Include="Program.cs" /> diff --git a/api/AgvController.cs b/api/AgvController.cs index 1a6e3f4..f01ab17 100644 --- a/api/AgvController.cs +++ b/api/AgvController.cs @@ -29,7 +29,7 @@ [HttpPost] [Route("AGVCallbackState")] public ReturnResult AGVCallbackState(AgvTaskState model){ - LogHelper.InfoHostToAGV("NDC浠诲姟鐘舵�鍥炴姤", model); + LogHelper.InfoHostToAGV("AGVCallbackState锛歂DC浠诲姟鐘舵�鍥炴姤", model); return WCSCore.OperateAgvTaskStatus(model); } @@ -41,138 +41,8 @@ [HttpPost] [Route("SafetyInteraction")] public ReturnResult SafetyInteraction(SafetyInteractionInfo model) { - LogHelper.InfoHostToAGV("AGV涓庝骇绾胯繘琛屽畨鍏ㄤ氦浜�, model); + LogHelper.InfoHostToAGV("SafetyInteraction锛欰GV涓庝骇绾胯繘琛屽畨鍏ㄤ氦浜�, model); return WCSCore.SafetyInteraction(model); } - - // 澶囩敤锛歊equest 璇锋眰鎺堟潈 --------------------------------------------- - - // 妯℃嫙瀛樺偍鐨凙ppKey鍜孉ppSecret锛堝疄闄呭簲瀛樺偍鍦ㄦ暟鎹簱鎴栭厤缃腑锛�- private static readonly Dictionary<string, string> AppSecrets = new Dictionary<string, string> { - { "testAppKey", "7a8f9b3d2e1c6a5b4c8d7e6f" } - }; - - // 鍏佽鐨勬椂闂村樊锛堢锛夛紝鐢ㄤ簬楠岃瘉鏃堕棿鎴�- private const int AllowedTimeDiff = 300; // 5鍒嗛挓 - - private CheckHeadersResult CheckHeaders(System.Net.Http.Headers.HttpRequestHeaders headers) { - // 蹇呴』瀛楁楠岃瘉 - if (!headers.Contains("AppKey") || !headers.Contains("ReqVerify") || !headers.Contains("ReqTime")) { - return CreateCheckHeadersResult(false, HttpStatusCode.BadRequest, "缂哄皯蹇呰璇锋眰澶村弬鏁�); - } - - var headerModel = new SecureRequest { - AppKey = headers.GetValues("AppKey").First(), - ReqVerify = headers.GetValues("ReqVerify").First(), - ReqTime = long.Parse(headers.GetValues("ReqTime").First()), - }; - - // 楠岃瘉Header - var validationResult = ValidateHeaders(headerModel); - if (validationResult != null) { - return validationResult; - } - - return CreateCheckHeadersResult(true); - } - - private CheckHeadersResult ValidateHeaders(SecureRequest request) { - // 瀹炵幇鎵�湁Header楠岃瘉閫昏緫 - - // 楠岃瘉AppKey鏄惁瀛樺湪 - if (!AppSecrets.TryGetValue(request.AppKey, out var appSecret)) { - return CreateCheckHeadersResult(false, HttpStatusCode.Unauthorized, "鏃犳晥鐨凙ppKey"); - } - - // 楠岃瘉鏃堕棿鎴虫槸鍚﹀湪鍏佽鑼冨洿鍐�- var currentTime = DateTimeOffset.UtcNow.ToUnixTimeSeconds(); - if (Math.Abs(currentTime - request.ReqTime) > AllowedTimeDiff) { - return CreateCheckHeadersResult(false, HttpStatusCode.Unauthorized, "璇锋眰宸茶繃鏈�); - } - - // 璁$畻楠岃瘉涓�- var expectedVerify = CalculateRequestVerify(request.AppKey, appSecret, request.ReqTime); - - // 楠岃瘉璇锋眰绛惧悕 - if (!string.Equals(expectedVerify, request.ReqVerify, StringComparison.OrdinalIgnoreCase)) { - return CreateCheckHeadersResult(false, HttpStatusCode.Unauthorized, "楠岃瘉澶辫触"); - } - - return null; - } - - /// <summary> - /// 鏋勯�涓�釜鎴愬姛缁撴灉鐨凴esponseMessage - /// </summary> - /// <example><code><![CDATA[ - /// var res = ApiHelper.OperateAgvTaskStatus(model); - /// return CreateSuccessResponse(res); - /// ]]></code></example> - /// <param name="code"></param> - /// <param name="data"></param> - /// <returns></returns> - private IHttpActionResult CreateSuccessResponse(HttpStatusCode code, object data) { - return ResponseMessage(new HttpResponseMessage(code) { - Headers = { }, - Content = new StringContent(JsonConvert.SerializeObject(data), Encoding.UTF8, "application/json") - }); - } - - /// <summary> - /// 鏋勯�涓�釜澶辫触缁撴灉鐨凴esponseMessage - /// </summary> - /// <example><code><![CDATA[ - /// var headers = Request.Headers; - /// var checkRes = CheckHeaders(headers); - /// if (!checkRes.isSuccess) { - /// return CreateErrorResponse(checkRes.code, checkRes.message); - /// } - /// ]]></code></example> - /// <param name="code"></param> - /// <param name="message"></param> - /// <returns></returns> - private IHttpActionResult CreateErrorResponse(HttpStatusCode code, string message) { - return ResponseMessage(new HttpResponseMessage(code) { - Headers = { }, - Content = new StringContent(message) - }); - } - - private CheckHeadersResult CreateCheckHeadersResult(bool isSuccess, HttpStatusCode code = HttpStatusCode.OK, string message = "") { - return new CheckHeadersResult { - code = code, - message = message, - isSuccess = isSuccess - }; - } - - // 璁$畻璇锋眰楠岃瘉涓�- private string CalculateRequestVerify(string appKey, string appSecret, long reqTime) { - using (var md5 = MD5.Create()) { - var input = $"{appKey}{appSecret}{reqTime}"; - var inputBytes = Encoding.UTF8.GetBytes(input); - var hashBytes = md5.ComputeHash(inputBytes); - - // 灏嗗瓧鑺傛暟缁勮浆鎹负鍗佸叚杩涘埗瀛楃涓�- var sb = new StringBuilder(); - foreach (var b in hashBytes) { - sb.Append(b.ToString("x2")); - } - return sb.ToString(); - } - } - } - - // 璇锋眰妯″瀷 - public class SecureRequest { - public string AppKey { get; set; } - public long ReqTime { get; set; } - public string ReqVerify { get; set; } - } - - public class CheckHeadersResult { - public bool isSuccess { get; set; } - public HttpStatusCode code { get; set; } - public string message { get; set; } } } diff --git a/api/DebugController.cs b/api/DebugController.cs index 6934fdb..d2f7485 100644 --- a/api/DebugController.cs +++ b/api/DebugController.cs @@ -1,5 +1,6 @@ 锘縰sing System; using System.Collections.Generic; +using System.IO; using System.Runtime.ConstrainedExecution; using System.Web.Http; @@ -53,133 +54,6 @@ returnResult.ResultList.Add(temp4); agvTaskState.state = 5; - var temp5 = WCSCore.OperateAgvTaskStatus(agvTaskState); - returnResult.ResultList.Add(temp5); - - agvTaskState.state = 6; - var temp6 = WCSCore.OperateAgvTaskStatus(agvTaskState); - returnResult.ResultList.Add(temp6); - - agvTaskState.state = 2; - var temp2 = WCSCore.OperateAgvTaskStatus(agvTaskState); - returnResult.ResultList.Add(temp2); - - return returnResult; - } - - /// <summary> - /// 妯℃嫙AGV鍥炴姤浠诲姟鐘舵�锛堟寚瀹氫笅涓�釜鐘舵�锛岀敤浜庨渶瑕佸垎娈垫祴璇曠殑鍦烘櫙锛�br/> - /// 鎬ц兘鐩稿杈冨樊锛屼粎鐢ㄤ簬娴嬭瘯锛屼竴鑸笉浣跨敤 - /// </summary> - /// <param name="model"></param> - /// <returns></returns> - [HttpPost] - [Route("AgvReports")] - public ReturnResults AgvReports(AgvReportsInfo model) { - var db = new SqlHelper<object>().GetInstance(); - ReturnResults returnResult = new ReturnResults(); - returnResult.ResultList = new List<ReturnResult>(); - var agvTaskState = new AgvTaskState() { - task_no = model.TaskId, - forklift_no = model.ForkliftNo, - }; - - var taskAction = db.Queryable<TN_Task_Action>() - .Where(t => t.S_TASK_CODE == model.TaskId) - .OrderBy(t => new { create = SqlFunc.Desc(t.T_CREATE) }).First(); // 鏈�悗涓�釜Action鐘舵� - - var lastState = taskAction?.N_ACTION_CODE ?? 0; - - if (model.NextState <= 0 || model.NextState >= 7) { - LogHelper.Info("灏忚溅鍥炴姤鐘舵�涓嶅湪134562鐨勮寖鍥村唴"); - } - - // 0 ==> 1,3,4,5,6,2 - if (lastState == 0 && model.NextState >= 1) { - agvTaskState.state = 1; - var temp = WCSCore.OperateAgvTaskStatus(agvTaskState); - returnResult.ResultList.Add(temp); - } - // 0,1 ==> 3,4,5,6,2 - if (lastState < 2 && model.NextState >= 2) { - agvTaskState.state = 3; - var temp = WCSCore.OperateAgvTaskStatus(agvTaskState); - returnResult.ResultList.Add(temp); - } - // 0,1,3 ==> 4,5,6,2 - if (lastState < 4 && lastState != 2 && (model.NextState >= 3 || model.NextState == 2)) { - agvTaskState.state = 4; - var temp = WCSCore.OperateAgvTaskStatus(agvTaskState); - returnResult.ResultList.Add(temp); - } - // 0,1,3,4 ==> 5,6,2 - if (lastState < 5 && lastState != 2 && (model.NextState >= 4 || model.NextState == 2)) { - agvTaskState.state = 5; - var temp = WCSCore.OperateAgvTaskStatus(agvTaskState); - returnResult.ResultList.Add(temp); - } - // 0,1,3,4,5 ==> 6,2 - if (lastState < 6 && lastState != 2 && (model.NextState >= 5 || model.NextState == 2)) { - agvTaskState.state = 6; - var temp = WCSCore.OperateAgvTaskStatus(agvTaskState); - returnResult.ResultList.Add(temp); - } - // 0,1,3,4,5,6 ==> 2 - if (lastState != 2 && model.NextState == 2) { - agvTaskState.state = 2; - var temp = WCSCore.OperateAgvTaskStatus(agvTaskState); - returnResult.ResultList.Add(temp); - } - - return returnResult; - } - - /// <summary> - /// AGV鐘舵�涓�敭鍥炴姤134 - /// </summary> - /// <param name="model">瀹瑰櫒鍙�/param> - /// <returns></returns> - [HttpPost] - [Route("AGVSeriesReports14")] - public ReturnResults AGVSeriesReports14(UpdateTaskState model) { - var agvTaskState = new AgvTaskState() { - task_no = model.TaskID, - forklift_no = model.ForkliftNo, - state = 1 - }; - ReturnResults returnResult = new ReturnResults(); - returnResult.ResultList = new List<ReturnResult>(); - - var temp1 = WCSCore.OperateAgvTaskStatus(agvTaskState); - returnResult.ResultList.Add(temp1); - - agvTaskState.state = 3; - var temp3 = WCSCore.OperateAgvTaskStatus(agvTaskState); - returnResult.ResultList.Add(temp3); - - agvTaskState.state = 4; - var temp4 = WCSCore.OperateAgvTaskStatus(agvTaskState); - returnResult.ResultList.Add(temp4); - - return returnResult; - } - - /// <summary> - /// AGV鐘舵�涓�敭鍥炴姤562 - /// </summary> - /// <param name="model">瀹瑰櫒鍙�/param> - /// <returns></returns> - [HttpPost] - [Route("AGVSeriesReports62")] - public ReturnResults AGVSeriesReports62(UpdateTaskState model) { - var agvTaskState = new AgvTaskState() { - task_no = model.TaskID, - forklift_no = model.ForkliftNo, - state = 5 - }; - ReturnResults returnResult = new ReturnResults(); - returnResult.ResultList = new List<ReturnResult>(); - var temp5 = WCSCore.OperateAgvTaskStatus(agvTaskState); returnResult.ResultList.Add(temp5); diff --git a/models/TN_Container.cs b/models/TN_Container.cs index 0f11666..d39ed3d 100644 --- a/models/TN_Container.cs +++ b/models/TN_Container.cs @@ -26,7 +26,7 @@ [SugarColumn(IsIgnore = true)] [Navigate(NavigateType.OneToMany, nameof(TN_CG_Detail.S_CNTR_CODE), nameof(S_CODE))] - public List<TN_CG_Detail> CntrItemRels { get; set; } + public List<TN_CG_Detail> CntrItemRels { get; set; } } } diff --git a/process/TaskProcess.cs b/process/TaskProcess.cs index c3a3343..adca1cd 100644 --- a/process/TaskProcess.cs +++ b/process/TaskProcess.cs @@ -23,14 +23,13 @@ if (load) { Console.WriteLine($"浠诲姟{mst.S_CODE} 璐т綅{mst.S_START_LOC}鍙栬揣瀹屾垚锛岃捣鐐硅В缁戝鍣▄mst.S_CNTR_CODE}"); LogHelper.Info($"浠诲姟{mst.S_CODE} 璐т綅{mst.S_START_LOC}鍙栬揣瀹屾垚锛岃捣鐐硅В缁戝鍣▄mst.S_CNTR_CODE}"); - LocationHelper.UnBindingLoc(mst.S_START_LOC, mst.S_CNTR_CODE.Split(',').ToList()); + LocationHelper.UnbindLocCntr(mst.S_START_LOC, mst.S_CNTR_CODE.Split(',').ToList()); } else { Console.WriteLine($"浠诲姟{mst.S_CODE} 璐т綅{mst.S_END_LOC}鍗歌揣瀹屾垚锛岀粓鐐圭粦瀹氬鍣▄mst.S_CNTR_CODE}"); LogHelper.Info($"浠诲姟{mst.S_CODE} 璐т綅{mst.S_END_LOC}鍗歌揣瀹屾垚锛岀粓鐐圭粦瀹氬鍣▄mst.S_CNTR_CODE}"); LocationHelper.BindingLoc(mst.S_END_LOC, mst.S_CNTR_CODE.Split(',').ToList()); } - } /// <summary> diff --git a/util/HttpHelper.cs b/util/HttpHelper.cs index d509893..44c3df4 100644 --- a/util/HttpHelper.cs +++ b/util/HttpHelper.cs @@ -84,7 +84,6 @@ Stream stream = null; WebResponse rsp = null; try { - rsp = request.GetResponse(); stream = rsp.GetResponseStream(); reader = new StreamReader(stream); @@ -101,7 +100,6 @@ if (stream != null) stream.Close(); if (rsp != null) rsp.Close(); } - } public string Post(string url, string postData, string contentType = "application/json", string sessionId = "") { @@ -137,7 +135,6 @@ if (stream != null) stream.Close(); if (rsp != null) rsp.Close(); } - } public string Post(string url, Dictionary<string, string> dic) { @@ -173,7 +170,6 @@ } catch (Exception e) { - LogHelper.Info($"PostWithCookie res={e.Message}", "API"); return ""; } @@ -183,7 +179,6 @@ if (stream != null) stream.Close(); if (rsp != null) rsp.Close(); } - } public string Put(string url, string postData, string contentType = "application/json", string sessionId = "") diff --git a/util/LogHelper.cs b/util/LogHelper.cs index bb0e16d..7621d26 100644 --- a/util/LogHelper.cs +++ b/util/LogHelper.cs @@ -83,7 +83,6 @@ Info($"AGV浠诲姟锛歿taskName}" + JsonConvert.SerializeObject(model), "HosttoagvTask"); } #endregion - } internal class LogFactory diff --git a/util/SqlHelper.cs b/util/SqlHelper.cs index 94c166d..f8327ed 100644 --- a/util/SqlHelper.cs +++ b/util/SqlHelper.cs @@ -6,20 +6,19 @@ namespace HH.WCS.Mobox3.DSZSH.util { //https://www.donet5.com/Home/Doc public class SqlHelper<T> where T : class, new() { + // NOTE锛氬鏋滅敤Oracle鏁版嵁搴擄紝闇�鍖匫racle.ManagedDataAccess/21.15.0锛岀幆澧僴etframework 4.6.2锛堝お鏂颁簡4.8鏈夌殑鏈嶅姟鍣ㄥ畨瑁呬笉涓婂幓锛� - /// <summary> - /// 濡傛灉鐢∣racle鏁版嵁闇�鍖匫racle.ManagedDataAccess/21.15.0锛岀幆澧僴etframework 4.62锛屽お鏂颁簡4.8鏈夌殑鏈嶅姟鍣ㄥ畨瑁呬笉涓婂幓 - /// </summary> - /// <param name="url"></param> - /// <returns></returns> public SqlSugarClient GetInstance(string url = "") { //鍒涘缓鏁版嵁搴撳璞� SqlSugarClient db = new SqlSugarClient(new ConnectionConfig() { ConnectionString = string.IsNullOrEmpty(url) ? Settings.SqlServer : url, + //ConnectionString = @"Data Source=192.168.1.198\sql2008;Initial Catalog=OIMobox;User ID=sa;Password=sa@2015", DbType = DbType.SqlServer, + //ConnectionString = @"Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=OIMobox)));User Id=system;Password=Am123123;", //DbType = DbType.Oracle, + IsAutoCloseConnection = true, InitKeyType = InitKeyType.Attribute//浠庣壒鎬ц鍙栦富閿嚜澧炰俊鎭� }); @@ -63,7 +62,5 @@ return db; } - } - } diff --git a/util/WebHelper.cs b/util/WebHelper.cs new file mode 100644 index 0000000..06c7464 --- /dev/null +++ b/util/WebHelper.cs @@ -0,0 +1,176 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Net.Http; +using System.Text; +using System.Threading.Tasks; + +namespace HH.WCS.Mobox3.DSZSH.util { + // 灏濊瘯浼樺寲HttpHelper + public class WebHelper : IDisposable { + private readonly HttpClient _httpClient; + private readonly int _timeoutSeconds; + + public WebHelper(int timeoutSeconds = 3) { + _httpClient = new HttpClient(); + _timeoutSeconds = timeoutSeconds; + _httpClient.Timeout = TimeSpan.FromSeconds(_timeoutSeconds); + } + + #region 寮傛鏂规硶 + public async Task<string> GetAsync(string url, Dictionary<string, string> headers = null) { + try { + using (var request = new HttpRequestMessage(HttpMethod.Get, url)) { + AddHeaders(request, headers); + + var response = await _httpClient.SendAsync(request); + response.EnsureSuccessStatusCode(); + + return await response.Content.ReadAsStringAsync(); + } + } + catch (Exception e) { + LogHelper.Info($"GET request failed: {e.Message}", "API"); + return string.Empty; + } + } + + public async Task<string> PostAsync(string url, string content, string contentType = "application/json", Dictionary<string, string> headers = null) { + try { + using (var request = new HttpRequestMessage(HttpMethod.Post, url)) { + AddHeaders(request, headers); + + request.Content = new StringContent(content, Encoding.UTF8, contentType); + var response = await _httpClient.SendAsync(request); + response.EnsureSuccessStatusCode(); + + return await response.Content.ReadAsStringAsync(); + } + } + catch (Exception e) { + LogHelper.Info($"POST request failed: {e.Message}", "API"); + return string.Empty; + } + } + + public async Task<string> PutAsync(string url, string content, string contentType = "application/json", Dictionary<string, string> headers = null) { + try { + using (var request = new HttpRequestMessage(HttpMethod.Put, url)) { + AddHeaders(request, headers); + + request.Content = new StringContent(content, Encoding.UTF8, contentType); + var response = await _httpClient.SendAsync(request); + response.EnsureSuccessStatusCode(); + + return await response.Content.ReadAsStringAsync(); + } + } + catch (Exception e) { + LogHelper.Info($"PUT request failed: {e.Message}", "API"); + return string.Empty; + } + } + + public async Task<string> DeleteAsync(string url, Dictionary<string, string> headers = null) { + try { + using (var request = new HttpRequestMessage(HttpMethod.Delete, url)) { + AddHeaders(request, headers); + + var response = await _httpClient.SendAsync(request); + response.EnsureSuccessStatusCode(); + + return await response.Content.ReadAsStringAsync(); + } + } + catch (Exception e) { + LogHelper.Info($"DELETE request failed: {e.Message}", "API"); + return string.Empty; + } + } + #endregion + + #region 鍚屾鏂规硶 + public string WebGet(string url, Dictionary<string, string> headers = null) { + try { + using (var request = new HttpRequestMessage(HttpMethod.Get, url)) { + AddHeaders(request, headers); + + var response = _httpClient.SendAsync(request).GetAwaiter().GetResult(); + response.EnsureSuccessStatusCode(); + + return response.Content.ReadAsStringAsync().GetAwaiter().GetResult(); + } + } + catch (Exception e) { + LogHelper.Info($"GET request failed: {e.Message}", "API"); + return string.Empty; + } + } + + public string WebPost(string url, string postData, string contentType = "application/json", Dictionary<string, string> headers = null) { + try { + using (var request = new HttpRequestMessage(HttpMethod.Post, url)) { + AddHeaders(request, headers); + + request.Content = new StringContent(postData, Encoding.UTF8, contentType); + var response = _httpClient.SendAsync(request).GetAwaiter().GetResult(); + response.EnsureSuccessStatusCode(); + + return response.Content.ReadAsStringAsync().GetAwaiter().GetResult(); + } + } + catch (Exception e) { + LogHelper.Info($"POST request failed: {e.Message}", "API"); + return string.Empty; + } + } + + public string WebPut(string url, string putData, string contentType = "application/json", Dictionary<string, string> headers = null) { + try { + using (var request = new HttpRequestMessage(HttpMethod.Put, url)) { + AddHeaders(request, headers); + + request.Content = new StringContent(putData, Encoding.UTF8, contentType); + var response = _httpClient.SendAsync(request).GetAwaiter().GetResult(); + response.EnsureSuccessStatusCode(); + + return response.Content.ReadAsStringAsync().GetAwaiter().GetResult(); + } + } + catch (Exception e) { + LogHelper.Info($"PUT request failed: {e.Message}", "API"); + return string.Empty; + } + } + + public string WebDelete(string url, Dictionary<string, string> headers = null) { + try { + using (var request = new HttpRequestMessage(HttpMethod.Delete, url)) { + AddHeaders(request, headers); + + var response = _httpClient.SendAsync(request).GetAwaiter().GetResult(); + response.EnsureSuccessStatusCode(); + + return response.Content.ReadAsStringAsync().GetAwaiter().GetResult(); + } + } + catch (Exception e) { + LogHelper.Info($"DELETE request failed: {e.Message}", "API"); + return string.Empty; + } + } + #endregion + + private void AddHeaders(HttpRequestMessage request, Dictionary<string, string> headers) { + if (headers != null) { + foreach (var header in headers) { + request.Headers.TryAddWithoutValidation(header.Key, header.Value); + } + } + } + + public void Dispose() { + _httpClient?.Dispose(); + } + } +} diff --git a/wms/LocationHelper.cs b/wms/LocationHelper.cs index fea5c42..3ab86d1 100644 --- a/wms/LocationHelper.cs +++ b/wms/LocationHelper.cs @@ -143,15 +143,14 @@ /// <param name="loc"></param> /// <param name="cntrs"></param> /// <returns></returns> - public static string UnBindingLoc(string loc, List<string> cntrs) + public static string UnbindLocCntr(string loc, List<string> cntrs) { var db = new SqlHelper<object>().GetInstance(); var logs = $"璐т綅锛歿loc}锛屽鍣細{JsonConvert.SerializeObject(cntrs)}"; try { var lcrList = db.Queryable<TN_Loc_Container>().Where(a => cntrs.Contains(a.S_CNTR_CODE) && a.S_LOC_CODE == loc).ToList(); - if (lcrList.Count == 0) - { + if (lcrList.Count == 0) { LogHelper.Info($"璐т綅鏃犻渶瑙g粦瀹瑰櫒锛屽湪鏁版嵁搴撲腑鏈壘鍒皗JsonConvert.SerializeObject(cntrs)}鐩稿叧鐨勮揣浣嶅鍣ㄥ叧绯昏〃淇℃伅"); } cntrs = lcrList.Select(a => a.S_CNTR_CODE).ToList(); @@ -180,14 +179,12 @@ } log = JsonConvert.SerializeObject(location); - if (db.Updateable(location).UpdateColumns(it => new { it.N_CURRENT_NUM, it.S_LOCK_STATE, it.N_LOCK_STATE }).ExecuteCommand() > 0) - { + if (db.Updateable(location).UpdateColumns(it => new { it.N_CURRENT_NUM, it.S_LOCK_STATE, it.N_LOCK_STATE }).ExecuteCommand() > 0) { tran.CommitTran(); LogHelper.Info($"鏇存柊璐т綅琛ㄦ垚鍔燂紝{log}"); } - else - { + else { tran.RollbackTran(); LogHelper.Info($"鏇存柊璐т綅琛ㄥけ璐ワ紝{log}"); -- Gitblit v1.9.1