From 457b75b642a1fdaa7158e5b047cabc5d7ae16333 Mon Sep 17 00:00:00 2001 From: xxyy <cathay_xy@163.com> Date: 星期一, 10 三月 2025 10:10:13 +0800 Subject: [PATCH] 修复和优化 Dt_TaskService.cs 中的任务请求逻辑 --- Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationServices/MCS/Partial/NotifyFinishTest.cs | 91 ++++++++++++++++++++++++++++++++++++++------- 1 files changed, 77 insertions(+), 14 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 119658d..a38f83b 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 @@ -41,42 +62,84 @@ CreateDate = DateTime.Now, Creater = "HK", CurrentAddress = result.LocationID, - Grade = 1, + Grade = result.IsNG == 1 ? 1 : 2, + 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() { + TaskNum = task.TaskNum.Value, + Grade = result.IsNG == 1 ? 1 : 2, + PalletCode = task.PalletCode, + RoadWay = task.Roadway, + SourceAddress = task.SourceAddress, + TargetAddress = task.TargetAddress, + TaskState = task.TaskState.Value, Id = 0, - Grade = 1, - PalletCode = result.PalletBarcode, - RoadWay = location.RoadwayNo, - SourceAddress = result.LocationID, - TargetAddress = result.LocationID, - TaskNum = taskNum, //_taskRepository.GetTaskNo().Result, - TaskState = (int)TaskOutStatusEnum.OutNew, TaskType = result.IsNG == 1 ? (int)TaskOutboundTypeEnum.OutNG : (int)TaskOutboundTypeEnum.Outbound, }; - var sysConfig = _configService.GetByConfigKey(CateGoryConst.CONFIG_SYS_IPAddress, SysConfigConst.WCSIPAddress); - var respon = HttpHelper.Post(sysConfig.ConfigValue, JsonConvert.SerializeObject(taskDTO)); + 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); + location.LocationStatus = (int) LocationEnum.InStockDisable; + _locationRepository.UpdateData(location); + _simpleCacheService.HashDel<DtStockInfo>(WIDESEA_Cache.CacheConst.Cache_DtStockInfo, new string[] { taskDTO.PalletCode }); + } + + 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