From d59b540dd78d49ddf1f2e1c6dfb7b19a7d3e3d7c Mon Sep 17 00:00:00 2001 From: 肖洋 <cathay_xy@163.com> Date: 星期日, 19 一月 2025 11:19:24 +0800 Subject: [PATCH] 优化代码结构和错误处理 --- Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationServices/MCS/Partial/NotifyFinishTest.cs | 93 +++++++++++++++++++++++++++++++++++++--------- 1 files changed, 74 insertions(+), 19 deletions(-) diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationServices/MCS/Partial/NotifyFinishTest.cs b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationServices/MCS/Partial/NotifyFinishTest.cs index 6d7aeb8..18b4539 100644 --- a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationServices/MCS/Partial/NotifyFinishTest.cs +++ b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationServices/MCS/Partial/NotifyFinishTest.cs @@ -1,4 +1,6 @@ -锘縰sing Newtonsoft.Json; +锘縰sing LogLibrary.Log; +using Masuit.Tools; +using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Linq; @@ -9,9 +11,11 @@ using WIDESEA_Core.Enums; using WIDESEA_Core.Helper; using WIDESEA_DTO; +using WIDESEA_DTO.MOM; using WIDESEA_DTO.WMS; using WIDESEA_Model.Models; using WIDESEA_StorageBasicRepository; +using WIDESEAWCS_Model.Models; namespace WIDESEA_StoragIntegrationServices { @@ -34,6 +38,23 @@ if (location == null) throw new Exception("鏈煡搴撲綅"); + if (_taskRepository.QueryFirst(x => x.SourceAddress == result.LocationID && x.Roadway == location.RoadwayNo) != null) + { + throw new Exception("褰撳墠搴撲綅宸插瓨鍦ㄤ换鍔�"); + } + + Dt_StationManager stationManager; + if (result.IsNG == 1) + { + stationManager = _stationManagerRepository.QueryFirst(x => x.Roadway == location.RoadwayNo && x.stationType == 4); + } + else + { + stationManager = _stationManagerRepository.QueryFirst(x => x.Roadway == location.RoadwayNo && x.stationType == 2); + } + + if (stationManager == null) throw new Exception("鏈煡绔欏彴"); + int taskNum = _taskRepository.GetTaskNo().Result; Dt_Task task = new Dt_Task @@ -42,44 +63,78 @@ Creater = "HK", CurrentAddress = result.LocationID, Grade = 1, + Dispatchertime = DateTime.Now, PalletCode = result.PalletBarcode, Roadway = location.RoadwayNo, SourceAddress = result.LocationID, TaskState = (int)TaskOutStatusEnum.OutNew, TaskType = result.IsNG == 1 ? (int)TaskOutboundTypeEnum.OutNG : (int)TaskOutboundTypeEnum.Outbound, - TargetAddress = "", + TargetAddress = stationManager.stationLocation, + NextAddress = stationManager.stationChildCode, TaskNum = taskNum, //_taskRepository.GetTaskNo().Result, TaskId = 0, }; - WMSTaskDTO taskDTO = new WMSTaskDTO + // 灏濊瘯娣诲姞鏂颁换鍔� + WMSTaskDTO taskDTO = new WMSTaskDTO() { - Id = 0, + TaskNum = task.TaskNum.Value, Grade = 1, - PalletCode = result.PalletBarcode, - RoadWay = location.RoadwayNo, - SourceAddress = result.LocationID, - TargetAddress = "", - TaskNum = taskNum, //_taskRepository.GetTaskNo().Result, - TaskState = (int)TaskOutStatusEnum.OutNew, + PalletCode = task.PalletCode, + RoadWay = task.Roadway, + SourceAddress = task.SourceAddress, + TargetAddress = task.TargetAddress, + TaskState = task.TaskState.Value, + Id = 0, TaskType = result.IsNG == 1 ? (int)TaskOutboundTypeEnum.OutNG : (int)TaskOutboundTypeEnum.Outbound, }; - //var respon = HttpHelper.Post("http://localhost:9291/api/Task/ReceiveTask", JsonConvert.SerializeObject(taskDTO)); - //if (respon != null) - //{ - - //} - //else - //{ - // throw new Exception("WCS澶勭悊澶辫触"); - //} + var configs = _configService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress); + var ipAddress = configs.FirstOrDefault(x => x.ConfigKey == SysConfigConst.WCSIPAddress)?.ConfigValue; + var ReceiveByWMSTask = configs.FirstOrDefault(x => x.ConfigKey == SysConfigConst.ReceiveByWMSTask)?.ConfigValue; + if (ReceiveByWMSTask == null || ipAddress == null) + { + throw new Exception("WMS IP 鏈厤缃�"); + } + var wmsIpAddrss = ipAddress + ReceiveByWMSTask; + var respon = HttpHelper.Post(wmsIpAddrss, JsonConvert.SerializeObject(taskDTO)); //http://localhost:9291/api/Task/ReceiveTask, + if (respon != null) + { + WebResponseContent respone = JsonConvert.DeserializeObject<WebResponseContent>(respon.ToString()); + if (respone.Status) + { + var taskId = _taskRepository.AddData(task); + } + else + { + throw new Exception("WCS澶勭悊澶辫触:" + respone.Message); + } + } + else + { + throw new Exception("WCS澶勭悊澶辫触"); + } + //WMSTaskDTO taskDTO = new WMSTaskDTO + //{ + // Id = 0, + // Grade = 1, + // PalletCode = result.PalletBarcode, + // RoadWay = location.RoadwayNo, + // SourceAddress = result.LocationID, + // TargetAddress = task.TargetAddress, + // TaskNum = taskNum, //_taskRepository.GetTaskNo().Result, + // TaskState = (int)TaskOutStatusEnum.OutNew, + //}; + LogFactory.GetLog("鍒嗗娴嬭瘯瀹屾垚閫氱煡").Info(true, $"\r\r--------------------------------------"); + LogFactory.GetLog("鍒嗗娴嬭瘯瀹屾垚閫氱煡").Info(true, result.ToJsonString()); return content.OK(); } catch (Exception ex) { + LogFactory.GetLog("鍒嗗娴嬭瘯瀹屾垚閫氱煡").Info(true, $"\r\r--------------------------------------"); + LogFactory.GetLog("鍒嗗娴嬭瘯瀹屾垚閫氱煡").Info(true, ex.Message); return content.Error(ex.Message); } } -- Gitblit v1.9.3