From e3b6c01acf7228c009d861c1efea4cbcc7926abe Mon Sep 17 00:00:00 2001 From: 刘磊 <1161824510@qq.com> Date: 星期三, 04 十二月 2024 14:13:33 +0800 Subject: [PATCH] 分容空框出库 --- Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/Dt_TaskService.cs | 39 ++++++++++--------- Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationServices/MCS/Partial/RequestChangeLocation.cs | 67 ++++++++++++++++++++++++++++++++- 2 files changed, 86 insertions(+), 20 deletions(-) diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationServices/MCS/Partial/RequestChangeLocation.cs b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationServices/MCS/Partial/RequestChangeLocation.cs index 7db9ba8..7efa91a 100644 --- a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationServices/MCS/Partial/RequestChangeLocation.cs +++ b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationServices/MCS/Partial/RequestChangeLocation.cs @@ -4,8 +4,12 @@ using System.Linq; using System.Text; using System.Threading.Tasks; +using WIDESEA_Common; using WIDESEA_Core; +using WIDESEA_Core.Enums; using WIDESEA_DTO; +using WIDESEA_DTO.WMS; +using WIDESEA_Model.Models; namespace WIDESEA_StoragIntegrationServices { @@ -24,10 +28,69 @@ if (string.IsNullOrEmpty(json.ToString())) throw new Exception("涓婁紶鍙傛暟涓虹┖"); var result = JsonConvert.DeserializeObject<RequestReMove>(json.ToString()); - ; - if (result.MoveType == 5) Console.WriteLine($"鍒嗗妫�娴嬫煖鐏瑙﹀彂:搴撲綅{result.LocationID}"); + var location = _locationRepository.QueryFirst(x => x.AreaId == result.LocationArea && x.LocationCode == result.LocationID); + if (location == null) throw new Exception("鏈煡搴撲綅"); + + if (result.MoveType == 5) + { + Console.WriteLine($"鍒嗗妫�娴嬫煖鐏瑙﹀彂:搴撲綅{result.LocationID}"); + + //鏌ユ壘娑堥槻绔欏彴 + var station = _stationManagerRepository.QueryFirst(t => t.Roadway == location.RoadwayNo + && t.stationType == (int)StationManager.FireStation + /*&& t. == "Enable"*/); + if (station == null) + { + throw new Exception("娑堥槻绔欏彴鏈厤缃�!"); + } + //鏌ユ壘搴撳瓨淇℃伅 + var barcodeData = _stockInfoRepository.QueryFirst(t => t.LocationCode == location.LocationCode); + //鎵樼洏鐮� + string barcode = string.Empty; + if (barcodeData != null) + { + barcode = barcodeData.PalletCode; + } + else + { + //鏃犲簱瀛樹俊鎭紝鐢熸垚闅忔満鎵樼洏鐮� + barcode = "M" + DateTime.Now.ToString("MMddHHmmss") + "-" + new Random().Next(100, 1000); + } + int taskNum = _taskRepository.GetTaskNo().Result; + Dt_Task task = new Dt_Task + { + CreateDate = DateTime.Now, + Creater = "HK", + CurrentAddress = result.LocationID, + Grade = 1, + Dispatchertime = DateTime.Now, + PalletCode = result.PalletBarcode, + Roadway = location.RoadwayNo, + SourceAddress = result.LocationID, + TaskState = (int)TaskOutStatusEnum.OutNew, + TaskType = 500, + TargetAddress = station.stationLocation, + NextAddress = station.stationChildCode, + TaskNum = taskNum, //_taskRepository.GetTaskNo().Result, + TaskId = 0, + }; + + // 灏濊瘯娣诲姞鏂颁换鍔� + WMSTaskDTO taskDTO = new WMSTaskDTO() + { + TaskNum = task.TaskNum.Value, + Grade = 1, + PalletCode = task.PalletCode, + RoadWay = task.Roadway, + SourceAddress = task.SourceAddress, + TargetAddress = task.TargetAddress, + TaskState = task.TaskState.Value, + Id = 0, + TaskType = 500, + }; + } LogFactory.GetLog("鍒嗗绉诲簱鐢宠").Info(true, $"\r\r--------------------------------------"); LogFactory.GetLog("鍒嗗绉诲簱鐢宠").Info(true, result); return content.OK(); diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/Dt_TaskService.cs b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/Dt_TaskService.cs index c47ade2..0aeacb5 100644 --- a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/Dt_TaskService.cs +++ b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/Dt_TaskService.cs @@ -391,24 +391,24 @@ } //鍒涘缓涓�涓猅rayCellsStatusDto瀵硅薄锛屽苟璧嬪�� - TrayCellsStatusDto trayCells = new TrayCellsStatusDto() - { - Software = "WMS", - TrayBarcode = input.PalletCode, - //EquipmentCode = "EQ_CWJZ01" - EquipmentCode = input.EquiCodeMOM - }; + //TrayCellsStatusDto trayCells = new TrayCellsStatusDto() + //{ + // Software = "WMS", + // TrayBarcode = input.PalletCode, + // //EquipmentCode = "EQ_CWJZ01" + // EquipmentCode = input.EquiCodeMOM + //}; // 璋冪敤GetTrayCellStatusAsync鏂规硶锛岃幏鍙栨暣鐩樼數鑺� - content = await GetTrayCellStatusAsync(trayCells); + //content = await GetTrayCellStatusAsync(trayCells); // 濡傛灉鐘舵�佷负false锛屽垯杩斿洖content - if (!content.Status) return content; + //if (!content.Status) return content; // 娣诲姞缁勭洏淇℃伅 // 灏哻ontent.Data杞崲涓篟esultTrayCellsStatus瀵硅薄 - var result = JsonConvert.DeserializeObject<ResultTrayCellsStatus>(content.Data.ToString()); - if (result.SerialNos.Count <= 0) - return content.Error(result.MOMMessage); + //var result = JsonConvert.DeserializeObject<ResultTrayCellsStatus>(content.Data.ToString()); + //if (result.SerialNos.Count <= 0) + // return content.Error(result.MOMMessage); //Console.WriteLine(result); //// TODO 鑾峰彇鏈湴鏂欐灞炴�т笌鏁寸洏鐢佃姱灞炴�ц幏鍙栫殑鍊艰繘琛屽姣旓紝濡傛灉涓�鑷村垯缁х画锛屽惁鍒欒繑鍥為敊璇俊鎭� @@ -417,8 +417,8 @@ //// return content.Error("鏂欐灞炴�т笉瀛樺湪"); //// 璋冪敤CreateBoxingInfo鏂规硶锛屽垱寤虹粍鐩樹俊鎭� - var boxing = CreateBoxingInfo(result, input.PalletCode); - if (boxing == null) return content.Error("缁勭洏澶辫触"); + //var boxing = CreateBoxingInfo(result, input.PalletCode); + //if (boxing == null) return content.Error("缁勭洏澶辫触"); //// 璋冪敤GetProcessApplyAsync鏂规硶锛岃幏鍙栧伐鑹鸿矾绾� //ProcessApplyDto process = await GetProcessApplyAsync(input, result); @@ -436,10 +436,10 @@ ////var processResponse = await GetProcessResponseAsync(process, input.Position); // 璋冪敤CreateNewTask鏂规硶锛屽垱寤烘柊浠诲姟 content = await CreateNewTask(input); - if (content.Status) - { - var isBox = await _boxingInfoRepository.AddDataNavAsync(boxing); - } + //if (content.Status) + //{ + // var isBox = await _boxingInfoRepository.AddDataNavAsync(boxing); + //} } catch (Exception err) { @@ -510,6 +510,8 @@ TaskType = task.TaskType, }; content.OK(data: taskDTO); + + } else content.Error("娣诲姞浠诲姟澶辫触"); @@ -637,6 +639,7 @@ ////// 璋冪敤GetProcessResponseAsync鏂规硶锛岃幏鍙栧伐鑹哄搷搴� ////var processResponse = await GetProcessResponseAsync(process, input.Position); + var isBox = await _boxingInfoRepository.AddDataNavAsync(boxing); } var task = new Dt_Task -- Gitblit v1.9.3