From 413194b8c6a71fea8cb7a567800b11703c6c7d5a Mon Sep 17 00:00:00 2001 From: chengsc <11752@DESKTOP-DS49RCP> Date: 星期三, 11 六月 2025 14:40:05 +0800 Subject: [PATCH] 添加叠托机业务 --- Admin.NET/WCS.Application/OpenApi/OpenApi.cs | 76 +++++++++++++++++++++++++++++++------- 1 files changed, 62 insertions(+), 14 deletions(-) diff --git a/Admin.NET/WCS.Application/OpenApi/OpenApi.cs b/Admin.NET/WCS.Application/OpenApi/OpenApi.cs index ba4d4a6..c6a068c 100644 --- a/Admin.NET/WCS.Application/OpenApi/OpenApi.cs +++ b/Admin.NET/WCS.Application/OpenApi/OpenApi.cs @@ -3,6 +3,7 @@ using Furion.Logging; using WCS.Application.Entity; using WCS.Application.Util; +using static SKIT.FlurlHttpClient.Wechat.Api.Models.ComponentTCBBatchCreateContainerServiceVersionRequest.Types; namespace WCS.Application; @@ -98,7 +99,8 @@ throw Oops.Bah("浠诲姟宸插瓨鍦�!"); } var listTask = new List<WcsTask>(); - foreach (var models in modelList) + var list = modelList.OrderBy(m => m.Order).ThenBy(m => m.TaskNo).ToList(); + foreach (var models in list) { if (models.TaskType == "0") { @@ -125,6 +127,7 @@ EndLocate = models.EndLocate, EndRoadway = models.EndRoadway, PalletNo = models.PalletNo, + CreateTime = DateTime.Now }; // 鑻ラ潪AGV浠诲姟澧炲姞浠诲姟ID @@ -133,9 +136,9 @@ taskAdd.TaskId = FourWayCarUtil.GetTaskId(); } - listTask.Add(taskAdd); + await _db.Insertable(taskAdd).ExecuteCommandAsync(); } - await _db.Insertable(listTask).ExecuteCommandAsync(); + } /// <summary> /// WCS鎺ュ彈WMS涓嬪彂鐨勪换鍔�(鍗曟潯浠诲姟) @@ -418,21 +421,26 @@ [UnitOfWork] public async Task<dynamic> agvCallback(AGVCallBackInput input) { + Log.Information("AGV鍙嶉浠诲姟" + input.ToJson()); AGVCallBackResponse result = new AGVCallBackResponse() { ReqCode = input.ReqCode, Message = "鎴愬姛", Code = "0" }; - if (input.TaskCode.Substring(0, 3) != "WCS" && input.TaskCode.Substring(0, 2) != "TK") + if (input.robotTaskCode.Substring(0, 3) != "WCS" && input.robotTaskCode.Substring(0, 2) != "TK") + { + result.Message = "鍙嶉鐨勪换鍔′笉鏄疻CS鐨勪换鍔�"; + result.Code = "1"; return result; + } PLCUtil modUtil = null; try { - var modTask = await _db.Queryable<WcsTask>().FirstAsync(s => s.TaskNo == input.TaskCode); + var modTask = await _db.Queryable<WcsTask>().FirstAsync(s => s.TaskNo == input.robotTaskCode); if (modTask != null) { - switch (input.Method) + switch (input.Extra.Values.Method) { case "end"://浠诲姟瀹屾垚 { @@ -459,15 +467,26 @@ var inputs = new TaskRequestWMS(); inputs.TaskNo = modTask.TaskNo; inputs.PalletNo = modTask.PalletNo; - inputs.TaskType = modTask.TaskType.ToString(); + inputs.TaskType = ((int)modTask.TaskType).ToString(); inputs.TaskStatus = "2"; var modResponseTask = httpService.RequestTask(inputs).Result; } } break; - case "admin"://璧板嚭鍌ㄤ綅 + case "outbin"://璧板嚭鍌ㄤ綅 { + WcsTaskMonitor modTaskMonitor = new WcsTaskMonitor() + { + TaskNo = modTask.TaskNo, + //PlcId = modDevice.PlcId, + PlcName = "AGV", + StartLocat = modTask.StartLocate, + EndLocat = modTask.EndLocate, + Status = TaskStatusEnum.Complete, + InteractiveMsg = $"AGV灏忚溅鍙嶉浠诲姟鍙栬揣瀹屾垚锛岃蛋鍑哄偍浣�", + }; + await _db.Insertable(modTaskMonitor).ExecuteCommandAsync(); //鍙嶉WMS浠诲姟鍙栬揣瀹屾垚銆乄MS鍒ゆ柇鏄钩搴撳偍浣嶅氨鏇存柊鍌ㄤ綅鐘舵�� if (modTask.Origin == "WMS") { @@ -475,22 +494,22 @@ var inputs = new TaskRequestWMS(); inputs.TaskNo = modTask.TaskNo; inputs.PalletNo = modTask.PalletNo; - inputs.TaskType = "2"; + inputs.TaskType = ((int)modTask.TaskType).ToString(); inputs.TaskStatus = "2"; var modResponseTask = httpService.RequestTaskQh(inputs).Result; } } break; - case "continue"://鏀捐揣鐢宠 + case "release"://鏀捐揣鐢宠 { - if (modTask.EndLocate != "B010101")//9鍙峰伐浣嶅湴鍧� + if (modTask.EndLocate != "B040101")//9鍙峰伐浣嶅湴鍧� { result.Code = "1"; result.Message = "鎵句笉鍒拌浠诲姟"; return result; } - modTask.Status = TaskStatusEnum.Complete; + //modTask.Status = TaskStatusEnum.Complete; modTask.IsComple = "1"; await _db.Updateable(modTask).ExecuteCommandAsync(); WcsTaskMonitor modTaskMonitor = new WcsTaskMonitor() @@ -506,7 +525,36 @@ await _db.Insertable(modTaskMonitor).ExecuteCommandAsync(); HubUtil.PublicTask(modTask.Adapt<WcsTaskOutput>()); HubUtil.PublicTaskMonitor(modTaskMonitor.Adapt<WcsTaskMonitorOutput>()); - + if (modTask.Origin == "WMS") + { + HttpService httpService = new HttpService(); + var inputs = new TaskRequestWMS(); + inputs.TaskNo = modTask.TaskNo; + inputs.PalletNo = modTask.PalletNo; + inputs.TaskType = ((int)modTask.TaskType).ToString(); + inputs.TaskStatus = "2"; + var modResponseTask = httpService.RequestTaskQh(inputs).Result; + } + } + break; + case "notifyFullSite": + { + var palletNo = input.Extra.Values.carrierCode; + var count = input.Extra.Values.pileCount; + if (string.IsNullOrWhiteSpace(palletNo) || count <= 0) + { + throw new Exception("鍙傛暟锛氭墭鐩樺彿/鏁伴噺楠岃瘉澶辫触"); + } + //鍚慦MS鐢宠绌烘墭鍏ュ簱 + HttpService httpService = new HttpService(); + var inputs = new NullPallInRequest(); + + inputs.PalletNo = modTask.PalletNo; + inputs.PallNum = count; + inputs.Locate = "B100101";//鍙犳墭鐩樻満浣嶇疆 + inputs.HouseNo = "W02"; + var modResponseTask = httpService.RequestLiKuPallet(inputs); + } break; case "cancel"://浠诲姟鍙栨秷 @@ -555,7 +603,7 @@ modUtil?.Close(); } - + Log.Information("AGV鍙嶉浠诲姟杩斿洖" + result.ToJson()); return result; } -- Gitblit v1.8.0