From 05a9d230c8f515bc59b491311bd2897b82164fab Mon Sep 17 00:00:00 2001 From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com> Date: 星期六, 12 七月 2025 18:31:49 +0800 Subject: [PATCH] 增强异常处理错误信息返回在 `TaskService.cs` 文件中,更新了异常处理逻辑,错误信息现在包含异常的堆栈跟踪信息 `ex.StackTrace`,以提供更详细的调试信息。 --- Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationServices/MOM/CellState/CellStateService.cs | 122 ++++++++++++++++++---------------------- 1 files changed, 55 insertions(+), 67 deletions(-) diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationServices/MOM/CellState/CellStateService.cs b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationServices/MOM/CellState/CellStateService.cs index 3601449..e61bb34 100644 --- a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationServices/MOM/CellState/CellStateService.cs +++ b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationServices/MOM/CellState/CellStateService.cs @@ -1,13 +1,18 @@ -锘縰sing LogLibrary.Log; +锘縰sing AngleSharp.Io; +using LogLibrary.Log; using Masuit.Tools; using Newtonsoft.Json; using WIDESEA_Common; using WIDESEA_Core; +using WIDESEA_Core.Const; +using WIDESEA_Core.Helper; using WIDESEA_DTO; using WIDESEA_DTO.MOM; +using WIDESEA_IRepository; +using WIDESEA_IServices; using WIDESEA_IStorageBasicService; using WIDESEA_IStoragIntegrationServices; -using WIDESEA_Model.Models; +using static Org.BouncyCastle.Math.EC.ECCurve; namespace WIDESEA_StoragIntegrationServices; @@ -16,10 +21,12 @@ private readonly LogFactory LogFactory = new LogFactory(); private readonly IBoxingInfoService _boxingInfoService; + private readonly ISys_ConfigService _configService; - public CellStateService(IBoxingInfoService boxingInfoService) + public CellStateService(IBoxingInfoService boxingInfoService, ISys_ConfigService configRepository) { _boxingInfoService = boxingInfoService; + _configService = configRepository; } /// <summary> @@ -33,45 +40,30 @@ try { input.SessionId = Guid.NewGuid().ToString(); - input.Software = "闄堝寲鏈�"; - input.EquipmentCode = "P1K10040"; - input.EmployeeNo = "T00001"; + input.EmployeeNo = "MITest"; input.RequestTime = TimeZoneInfo.ConvertTimeToUtc(DateTime.Now).ToString("yyyy-MM-ddTHH:mm:ss.fffZ"); - var inputJson = input.ToDictionary(); - var x = await HttpsClient.PostAsync("http://ts-momapp01:12020/api/MachineIntegration/CellState", inputJson); - if (x != null) + var inputJson = Masuit.Tools.ObjectExtensions.ToDictionary(input); + var configs = _configService.GetConfigsByCategory(CateGoryConst.SYS_MOMIPAddress); + var wmsBase = configs.FirstOrDefault(x => x.ConfigKey == SysConfigConst.MOMBaseIP)?.ConfigValue; + var ipAddress = configs.FirstOrDefault(x => x.ConfigKey == SysConfigConst.CellState)?.ConfigValue; + if (wmsBase == null || ipAddress == null) { - ResultCellState result = JsonConvert.DeserializeObject<ResultCellState>(x); - DtBoxingInfo boxingInfo = new DtBoxingInfo() - { - IsFull = true, - PalletCode = "", - }; - var details = new List<DtBoxingInfoDetail>(); - foreach (var item in result.SerialNos) - { - DtBoxingInfoDetail detail = new DtBoxingInfoDetail() - { - SerialNumber = item.SerialNo, - OrderNo = item.BindCode, - Status = item.SerialNoStatus, - }; - details.Add(detail); - } - boxingInfo.BoxingInfoDetails = details; - var abc = await _boxingInfoService.AddBoxingInfoAsync(boxingInfo); - if (abc.Status) - return content.OK("缁勭洏鎴愬姛"); - else - return content.Error("缁勭洏澶辫触"); + throw new InvalidOperationException("WMS IP 鏈厤缃�"); } + var wmsIpAddress = wmsBase + ipAddress; + + var result = HttpsClient.PostAsync(wmsIpAddress, inputJson).Result; + LogFactory.GetLog("鍗曠數鑺睘鎬ц幏鍙�").Info(true, $"\r\r--------------------------------------"); - LogFactory.GetLog("鍗曠數鑺睘鎬ц幏鍙�").Info(true, x); + LogFactory.GetLog("鍗曠數鑺睘鎬ц幏鍙�").Info(true, result); + return result; } catch (Exception err) { - Console.WriteLine(err.Message.ToString()); + //Console.WriteLine(err.Message.ToString()); LogFactory.GetLog("鍗曠數鑺睘鎬ц幏鍙�").Error(true, $"\r\r--------------------------------------"); + LogFactory.GetLog("鍗曠數鑺睘鎬ц幏鍙�").Error(true, $"璇锋眰鍙傛暟: {JsonConvert.SerializeObject(input)}"); + LogFactory.GetLog("鍗曠數鑺睘鎬ц幏鍙�").Error(true, err.Message); LogFactory.GetLog("鍗曠數鑺睘鎬ц幏鍙�").Error(true, err.StackTrace); } return Task.FromResult<dynamic>(null); @@ -88,47 +80,43 @@ try { input.SessionId = Guid.NewGuid().ToString(); - input.Software = "闄堝寲鏈�"; - input.EquipmentCode = "P1K10040"; - input.EmployeeNo = "T00001"; + input.EmployeeNo = "MITest"; input.RequestTime = TimeZoneInfo.ConvertTimeToUtc(DateTime.Now).ToString("yyyy-MM-ddTHH:mm:ss.fffZ"); - var inputJson = input.ToDictionary(); - var x = await HttpsClient.PostAsync("http://ts-momapp01:12020/api/MachineIntegration/TrayCellsStatus", inputJson); - if (x != null) + var inputJson = Masuit.Tools.ObjectExtensions.ToDictionary(input); + var configs = _configService.GetConfigsByCategory(CateGoryConst.SYS_MOMIPAddress); + var wmsBase = configs.FirstOrDefault(x => x.ConfigKey == SysConfigConst.MOMBaseIP)?.ConfigValue; + var ipAddress = configs.FirstOrDefault(x => x.ConfigKey == SysConfigConst.TrayCellsStatus)?.ConfigValue; + if (wmsBase == null || ipAddress == null) { - ResultTrayCellsStatus result = JsonConvert.DeserializeObject<ResultTrayCellsStatus>(x); - DtBoxingInfo boxingInfo = new DtBoxingInfo() - { - IsFull = true, - PalletCode = result.TrayBarcode, - }; - var details = new List<DtBoxingInfoDetail>(); - foreach (var item in result.SerialNos) - { - DtBoxingInfoDetail detail = new DtBoxingInfoDetail() - { - SerialNumber = item.SerialNo, - OrderNo = item.PositionNo.ToString(), - Status = item.SerialNoStatus, - Remark = result.TrayBarcodePropertys.ToJsonString(), - MaterielCode = result.BindCode, - }; - details.Add(detail); - } - boxingInfo.BoxingInfoDetails = details; - var abc = await _boxingInfoService.AddBoxingInfoAsync(boxingInfo); - if (abc.Status) - content.OK("缁勭洏鎴愬姛", result); - else - content.Error("缁勭洏澶辫触"); + throw new InvalidOperationException("WMS IP 鏈厤缃�"); } + var wmsIpAddress = wmsBase + ipAddress; + + var result = HttpsClient.PostAsync(wmsIpAddress, inputJson).Result; + + var respone = JsonConvert.DeserializeObject<ResultTrayCellsStatus>(result.ToString()); + + if (!respone.Success) + { + MoMErrorMsg.AddMoMErrorMsg(0, input.TrayBarcode, respone.MOMMessage, SysConfigConst.TrayCellsStatus); + } + else + { + MoMErrorMsg.DeleteMoMErrorMsg(0, input.TrayBarcode); + } + LogFactory.GetLog("鏁寸洏鐢佃姱灞炴�ц幏鍙�").Info(true, $"\r\r--------------------------------------"); - LogFactory.GetLog("鏁寸洏鐢佃姱灞炴�ц幏鍙�").Info(true, x); + LogFactory.GetLog("鏁寸洏鐢佃姱灞炴�ц幏鍙�").Info(true, result); + content.OK(data: result); } catch (Exception err) { - Console.WriteLine(err.Message.ToString()); + //MoMErrorMsg.AddMoMErrorMsg(0, input.TrayBarcode, err.Message, SysConfigConst.TrayCellsStatus); + + //Console.WriteLine(err.Message.ToString()); LogFactory.GetLog("鏁寸洏鐢佃姱灞炴�ц幏鍙�").Error(true, $"\r\r--------------------------------------"); + LogFactory.GetLog("鏁寸洏鐢佃姱灞炴�ц幏鍙�").Error(true, $"璇锋眰鍙傛暟: {JsonConvert.SerializeObject(input)}"); + LogFactory.GetLog("鏁寸洏鐢佃姱灞炴�ц幏鍙�").Error(true, err.Message); LogFactory.GetLog("鏁寸洏鐢佃姱灞炴�ц幏鍙�").Error(true, err.StackTrace); } return content; -- Gitblit v1.9.3