From 16749e23b489ee24f993fe9e87346680b7bcf63a Mon Sep 17 00:00:00 2001
From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com>
Date: 星期五, 10 十月 2025 21:14:49 +0800
Subject: [PATCH] 代码提交

---
 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/AGV/AGVController.cs |  221 ++----------------------------------------------------
 1 files changed, 11 insertions(+), 210 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/AGV/AGVController.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/AGV/AGVController.cs"
index 2390e9f..068735d 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/AGV/AGVController.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/AGV/AGVController.cs"
@@ -6,9 +6,11 @@
 using WIDESEAWCS_Core;
 using WIDESEAWCS_DTO.AGV;
 using WIDESEAWCS_ITaskInfoRepository;
+using WIDESEAWCS_ITaskInfoService;
 using WIDESEAWCS_Model.Models;
 using WIDESEAWCS_QuartzJob;
 using WIDESEAWCS_Tasks;
+using WIDESEAWCS_Tasks.AGV;
 using WIDESEAWCS_Tasks.ConveyorLineJob;
 using WIDESEAWCS_Tasks.ElevatorJob;
 
@@ -19,10 +21,14 @@
     public class AGVController : ControllerBase
     {
         private readonly ITaskRepository _taskRepository;
+        private readonly ITaskService _taskService;
+        private readonly IAGVSignal _signal;
 
-        public AGVController(ITaskRepository taskRepository)
+        public AGVController(ITaskRepository taskRepository,ITaskService taskService,IAGVSignal signal)
         {
             _taskRepository = taskRepository;
+            _taskService = taskService;
+            _signal = signal;
         }
 
         /// <summary>
@@ -30,217 +36,12 @@
         /// </summary>
         /// <param name="receiveDTO"></param>
         /// <returns></returns>
-        [HttpPost, Route("AGVStatusReport"), AllowAnonymous]
-        public WebResponseContent AGVStatusReport(AGVReceiveDTO receiveDTO) => SignalInteraction(receiveDTO);
-
-        #region  AGV涓庤澶囦俊鍙蜂氦浜�
-
-        /// <summary>
-        /// AGV--璁惧浜や簰
-        /// </summary>
-        /// <returns></returns>
-        public WebResponseContent SignalInteraction(AGVReceiveDTO receiveDTO)
+        [HttpPost, HttpGet,Route("AGVStatusReport"), AllowAnonymous]
+        public WebResponseContent AGVStatusReport([FromBody] AGVReceiveDTO receiveDTO)
         {
-            WebResponseContent content = new WebResponseContent();
-            try
-            {
-                var task = _taskRepository.QueryFirst(t => t.TaskNum == receiveDTO.TaskNum);
-                if (task == null)
-                {
-                    return content.Error("鏈壘鍒颁换鍔�");
-                }
-                MethodInfo? method = GetType().GetMethod(receiveDTO.Status);
-                if (method != null)
-                {
-                    CommonConveyorLine? commonConveyorLine = Storage.Devices.FirstOrDefault(x => x.DeviceCode == task.DeviceCode) as CommonConveyorLine;
-                    CommonElevator? elevator = Storage.Devices.FirstOrDefault(x => x.DeviceCode == task.DeviceCode) as CommonElevator;
-                    if (elevator == null && commonConveyorLine == null)
-                        return content.Error("鏈壘鍒拌澶�");
-                    else
-                        return content = (WebResponseContent)method.Invoke(this, new object[] { task, commonConveyorLine, elevator });
-
-                }
-                else
-                {
-                    throw new Exception($"鏈壘鍒拌鐘舵�亄receiveDTO.Status}瀹氫箟");
-                }
-            }
-            catch (Exception ex)
-            {
-                return content.Error(ex.Message);
-            }
+            return _signal.SignalInteraction(receiveDTO);
         }
 
-        /// <summary>
-        /// 鏀捐揣瀹屾垚
-        /// </summary>
-        /// <param name="task"></param>
-        /// <returns></returns>
-        public WebResponseContent PutFinish(Dt_Task task, CommonConveyorLine commonConveyorLine, CommonElevator elevator)
-        {
-            WebResponseContent content = new WebResponseContent();
-            try
-            {
-                if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
-                {
-                    elevator.SetValue(ElevatorDBName.OneLayerPutFinish, 1);
-                    elevator.SetValue(ElevatorDBName.StartCommand, 1);
-                    content.OK();
-                }
-                else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup)
-                {
-                    if (task.DeviceCode.Contains("TSJ"))
-                    {
-                        elevator.SetValue(ElevatorDBName.TwoLayerPutFinish, 1);
-                        elevator.SetValue(ElevatorDBName.StartCommand, 1);
-                        content.OK();
-                    }
-                    else
-                    {
-                        commonConveyorLine.SetValue(ConveyorLineDBName.PutFinish, 1, "101");
-                        commonConveyorLine.SetValue(ConveyorLineDBName.ConveyorLineTaskNum, 9990, "101");
-                    }
-                }
-                else
-                {
-                    throw new Exception("浠诲姟鐘舵�佸紓甯�");
-                }
-            }
-            catch (Exception ex)
-            {
-                content.Error(ex.Message);
-            }
-            return content;
-        }
-
-        /// <summary>
-        /// 鍙栬揣瀹屾垚
-        /// </summary>
-        /// <param name="task"></param>
-        /// <returns></returns>
-        public WebResponseContent PickUpFinish(Dt_Task task, CommonConveyorLine commonConveyorLine, CommonElevator elevator)
-        {
-            WebResponseContent content = new WebResponseContent();
-            try
-            {
-                if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
-                {
-                    if (task.DeviceCode.Contains("TSJ"))
-                    {
-                        elevator.SetValue(ElevatorDBName.TwoLayerPutFinish, 1);
-                        elevator.SetValue(ElevatorDBName.StartCommand, 1);
-                        content.OK();
-                    }
-                    else
-                    {
-                        commonConveyorLine.SetValue(ConveyorLineDBName.PutFinish, 1, "101");
-                        content.OK();
-                    }
-
-                }
-                else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup)
-                {
-                    if (task.DeviceCode.Contains("TSJ"))
-                    {
-                        elevator.SetValue(ElevatorDBName.OneLayerPutFinish, 1);
-                        elevator.SetValue(ElevatorDBName.StartCommand, 1);
-                        content.OK();
-                    }
-                }
-                else
-                {
-                    throw new Exception("浠诲姟鐘舵�佸紓甯�");
-                }
-            }
-            catch (Exception ex)
-            {
-                content.Error(ex.Message);
-            }
-            return content;
-        }
-
-        /// <summary>
-        /// 璇锋眰鍙栬揣
-        /// </summary>
-        /// <param name="task"></param>
-        /// <returns></returns>
-        public WebResponseContent RequestPickUp(Dt_Task task, CommonConveyorLine commonConveyorLine, CommonElevator elevator)
-        {
-            WebResponseContent content = new WebResponseContent();
-            try
-            {
-                if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
-                {
-                    int AllowPickUp = 0;
-                    if (task.DeviceCode.Contains("TSJ"))
-                        AllowPickUp = elevator.GetValue<ElevatorDBName, short>(ElevatorDBName.TwoLayerAllowPickUp);
-                    else
-                        AllowPickUp = commonConveyorLine.GetValue<ConveyorLineDBName, short>(ConveyorLineDBName.AllowPickUp, "101");
-
-                    content = AllowPickUp == 1 ? content.OK() : content.Error("璁惧涓嶅厑璁稿彇璐�");
-
-                }
-                else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup)
-                {
-                    int AllowPickUp = 0;
-                    if (task.DeviceCode.Contains("TSJ"))
-                        AllowPickUp = elevator.GetValue<ElevatorDBName, short>(ElevatorDBName.OneLayerAllowPickUp);
-
-                    content = AllowPickUp == 1 ? content.OK() : content.Error("璁惧涓嶅厑璁稿彇璐�");
-                }
-                else
-                {
-                    throw new Exception("浠诲姟鐘舵�佸紓甯�");
-                }
-            }
-            catch (Exception ex)
-            {
-                content.Error(ex.Message);
-            }
-            return content;
-        }
-
-        /// <summary>
-        /// 璇锋眰鏀捐揣
-        /// </summary>
-        /// <param name="task"></param>
-        /// <returns></returns>
-        public WebResponseContent RequestPut(Dt_Task task, CommonConveyorLine commonConveyorLine, CommonElevator elevator)
-        {
-            WebResponseContent content = new WebResponseContent();
-            try
-            {
-                if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
-                {
-                    int AllowPickUp = 0;
-                    if (task.DeviceCode.Contains("TSJ"))
-                        AllowPickUp = elevator.GetValue<ElevatorDBName, short>(ElevatorDBName.OneLayerAllowPut);
-
-                    content = AllowPickUp == 1 ? content.OK() : content.Error("璁惧涓嶅厑璁告斁璐�");
-
-                }
-                else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup)
-                {
-                    int AllowPickUp = 0;
-                    if (task.DeviceCode.Contains("TSJ"))
-                        AllowPickUp = elevator.GetValue<ElevatorDBName, short>(ElevatorDBName.TwoLayerAllowPut);
-                    else
-                        AllowPickUp = commonConveyorLine.GetValue<ConveyorLineDBName, short>(ConveyorLineDBName.AllowPut, "101");
-
-                    content = AllowPickUp == 1 ? content.OK() : content.Error("璁惧涓嶅厑璁告斁璐�");
-                }
-                else
-                {
-                    throw new Exception("浠诲姟鐘舵�佸紓甯�");
-                }
-            }
-            catch (Exception ex)
-            {
-                content.Error(ex.Message);
-            }
-            return content;
-        }
-
-        #endregion
+        
     }
 }

--
Gitblit v1.9.3