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/Util/HttpService.cs | 55 +++++++++++++++++++++++++++ Admin.NET/WCS.Application/Model/AGVModel.cs | 9 ++++ Admin.NET/WCS.Application/OpenApi/OpenApi.cs | 25 ++++++++++++ Admin.NET/WCS.Application/Model/TaskRequest.cs | 21 ++++++++++ 4 files changed, 110 insertions(+), 0 deletions(-) diff --git a/Admin.NET/WCS.Application/Model/AGVModel.cs b/Admin.NET/WCS.Application/Model/AGVModel.cs index e6231ee..607a0ef 100644 --- a/Admin.NET/WCS.Application/Model/AGVModel.cs +++ b/Admin.NET/WCS.Application/Model/AGVModel.cs @@ -185,6 +185,15 @@ /// 鏂规硶鍚� end : 浠诲姟缁撴潫 /// </summary> public string Method { get; set; } + + /// <summary> + /// 鎵樼洏鍙� + /// </summary> + public string carrierCode { get; set; } + /// <summary> + /// 鎵樼洏鏁伴噺 + /// </summary> + public int pileCount { get; set; } } public class AGVCallBackResponse { diff --git a/Admin.NET/WCS.Application/Model/TaskRequest.cs b/Admin.NET/WCS.Application/Model/TaskRequest.cs index 5d28098..c1d5d91 100644 --- a/Admin.NET/WCS.Application/Model/TaskRequest.cs +++ b/Admin.NET/WCS.Application/Model/TaskRequest.cs @@ -2,6 +2,27 @@ using WCS.Application.Entity; namespace WCS.Application; + +/// <summary> +/// 绌烘墭璺哄叆搴撶敵璇� +/// </summary> +public class NullPallInRequest +{ + + public string PalletNo { get; set; } + /// <summary> + /// 鎵樼洏鏁伴噺 + /// </summary> + public int PallNum { get; set; } + /// <summary> + /// 鍌ㄤ綅 + /// </summary> + public string Locate { get; set; } + + public string HouseNo { get; set; } + +} + public class TaskRequest { public string TaskNo { get; set; } // 浠诲姟鍙� diff --git a/Admin.NET/WCS.Application/OpenApi/OpenApi.cs b/Admin.NET/WCS.Application/OpenApi/OpenApi.cs index aadbd65..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; @@ -428,7 +429,11 @@ Code = "0" }; 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 { @@ -532,6 +537,26 @@ } } 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"://浠诲姟鍙栨秷 { PLCService.AGVStatus = false; diff --git a/Admin.NET/WCS.Application/Util/HttpService.cs b/Admin.NET/WCS.Application/Util/HttpService.cs index 545364f..03cfa9d 100644 --- a/Admin.NET/WCS.Application/Util/HttpService.cs +++ b/Admin.NET/WCS.Application/Util/HttpService.cs @@ -37,6 +37,61 @@ }; } + /// <summary> + /// 璋冪敤WMS鎺ュ彛鐢宠鍙犳墭鏈虹┖鎵樺叆搴撴帴鍙� + /// </summary> + /// <param name="model"></param> + /// <returns></returns> + public string RequestLiKuPallet(NullPallInRequest model) + { + string returnStr = ""; + + var task = _db.Queryable<WcsTask>().First(m => m.IsDelete == false && (m.Status == TaskStatusEnum.Wait || m.Status == TaskStatusEnum.Doing) && m.TaskType == TaskTypeEnum.In && m.PalletNo == model.PalletNo); + + if (task == null) + { + string url = Urls.WMSAddress + ":" + Urls.WMSPort; + var result = (url + "/api/DownAPi/RequestPalletIn").SetBody(model, "application/json", Encoding.UTF8).PostAsAsync<ResponseTasks>().Result; + Log.Information("璋冪敤WMS鎺ュ彛鍙嶉绌烘墭鍏ュ簱浠诲姟鎺ュ彛" + result.ToJson()); + if (result.Success == 0) + { + + var taskAdd = new WcsTask() + { + TaskType = TaskTypeEnum.In, + Status = TaskStatusEnum.Wait, + Type = PLCTypeEnum.ConveyorLine, + Origin = "WMS", + + PalletNo = model.PalletNo, + TaskNo = result.TaskList.TaskNo, + Levels = 999, + + StartLocate = model.Locate, + StartRoadway = result.TaskList.StartRoadway, + EndLocate = result.TaskList.EndLocate, + EndRoadway = result.TaskList.EndRoadway, + TaskId = FourWayCarUtil.GetTaskId() + }; + + _db.Insertable(taskAdd).ExecuteCommand(); + + returnStr = result.TaskList.EndLocate; + + } + else + { + returnStr = "-1:" + result.Message; + return returnStr; + } + } + else + { + returnStr = task.EndLocate; + } + + return returnStr; + } /// <summary> /// 璋冪敤WMS鎺ュ彛鐢宠宸烽亾鎺ュ彛 -- Gitblit v1.8.0