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