林豪 左 2 роки тому
батько
коміт
94af255318

+ 2 - 2
WCS.Entity.Protocol/SRM/SrmEnum.cs

@@ -134,12 +134,12 @@ namespace WCS.Entity.Protocol.SRM
         /// <summary>
         ///  放货降叉
         /// </summary>
-        PutGoodsDropFork = 6,
+        PutGoodsDropFork = 8,
 
         /// <summary>
         ///  放货收叉
         /// </summary>
-        PutGoodsRetractFork = 7,
+        PutGoodsRetractFork = 9,
     }
 
     /// <summary>

+ 47 - 0
WCS.WorkEngineering/Systems/AgvSystems.cs

@@ -0,0 +1,47 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using WCS.Core;
+using WCS.WorkEngineering.WebApi.Models.AGV;
+using WCS.WorkEngineering.Worlds;
+
+namespace WCS.WorkEngineering.Systems
+{
+    /// <summary>
+    ///  Agv交互系统
+    /// </summary>
+    [BelongTo(typeof(MainWorld))]
+    [Description("Agv交互系统")]
+    public class AgvSystems : ServiceSystem<AgvCallbackRequest, AgvCallbackResponse>
+    {
+        protected override AgvCallbackResponse Do(AgvCallbackRequest reqDto)
+        {
+            switch (reqDto.method)
+            {
+                case "申请":
+                    break;
+
+                case "申请放货":
+                    break;
+
+                case "申请取货":
+                    break;
+
+                case "取放完成":
+                    break;
+
+                default:
+                    break;
+            }
+
+            var res = new AgvCallbackResponse() { code = "0", message = "成功" };
+
+            return res;
+        }
+    }
+
+  
+}

+ 1 - 1
WCS.WorkEngineering/Systems/OutboundSiteInteractionSystems.cs

@@ -4,7 +4,7 @@ using WCS.WorkEngineering.Extensions;
 namespace WCS.WorkEngineering.Systems
 {
     /// <summary>
-    /// 出库站交互
+    /// 出库站交互
     /// </summary>
     public class OutboundSiteInteractionSystems : DeviceSystem<Station>
     {

+ 3 - 20
WCS.WorkEngineering/WebApi/Controllers/AgvController.cs

@@ -1,4 +1,6 @@
 using Microsoft.AspNetCore.Mvc;
+using WCS.Core;
+using WCS.WorkEngineering.Systems;
 using WCS.WorkEngineering.WebApi.Models.AGV;
 
 namespace WCS.WorkEngineering.WebApi.Controllers
@@ -18,26 +20,7 @@ namespace WCS.WorkEngineering.WebApi.Controllers
         [HttpPost]
         public AgvCallbackResponse AgvCallback(AgvCallbackRequest reqDto)
         {
-            switch (reqDto.method)
-            {
-                case "申请":
-                    break;
-                case "申请放货":
-                    break;
-
-                case "申请取货":
-                    break;
-
-                case "取放完成":
-                    break;
-
-                default:
-                    break;
-            }
-
-            var res = new AgvCallbackResponse() { code = "0", message = "成功" };
-
-            return res;
+            return World.GetSystemInstance<AgvSystems>().Invoke(reqDto);
         }
     }
 }

+ 4 - 2
WCS.WorkEngineering/Worlds/NoInteractionWorld.cs

@@ -41,8 +41,10 @@ namespace WCS.WorkEngineering.Worlds
                 tasks.ForEach(task =>
                 {
                     //获取堆垛机到目标地址的路径信息
-                    var path = ServiceHub.deviceInfos.First(v => v.Code == task.Device).Paths.First(v => v.EndCode == task.AddrTo).Path.Split("-");
-                    //
+                    var path = ServiceHub.deviceInfos.First(v => v.Code == task.Device).Paths?
+                                                     .First(v => v.EndCode == task.AddrTo).Path?
+                                                     .Split("-");
+                    //开始处理
                     task.SrmStation = path[1];
                     task.AddrNext = path[2];
                     task.Status = Entity.TaskStatus.WaitingToExecute;