From 4dfe8ece141f05a163cf7d290b6fe4c520d89909 Mon Sep 17 00:00:00 2001
From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com>
Date: 星期五, 31 十月 2025 17:28:33 +0800
Subject: [PATCH] 1

---
 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/AGV/AGVSignal.cs |  205 +++++++++++++++++++++++----------------------------
 1 files changed, 93 insertions(+), 112 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/AGV/AGVSignal.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/AGV/AGVSignal.cs"
index 91883ea..a8c0dc3 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/AGV/AGVSignal.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/AGV/AGVSignal.cs"
@@ -88,45 +88,48 @@
             WebResponseContent content = new WebResponseContent();
             try
             {
-                if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.AcrossFloorGroup)
+
+                if (task.TaskState == (int)TaskAcrossFloorStatusEnum.FirstCarry)
                 {
-                    if (task.TaskState == (int)TaskAcrossFloorStatusEnum.FirstCarry)
+                    if (task.Floor == "1F")
                     {
-                        if (task.Floor == "1F")
-                        {
-                            elevator.SetValue(ElevatorDBName.OneLayerPutFinish, 1);
-                        }
-                        else
-                        {
-                            elevator.SetValue(ElevatorDBName.TwoLayerPutFinish, 1);
-                        }
-                        _taskService.UpdateTaskStatusToNext(task.TaskNum);
-                        content.OK();
+                        elevator.SetValue(ElevatorDBName.OneLayerPutFinish, 1);
                     }
-                    else if (task.TaskState == (int)TaskAcrossFloorStatusEnum.EndAddressExecuting)
+                    else
                     {
-                        _taskService.UpdateTaskStatusToNext(task.TaskNum);
-                        content.OK();
+                        elevator.SetValue(ElevatorDBName.TwoLayerPutFinish, 1);
                     }
+                    _taskService.UpdateTaskStatusToNext(task.TaskNum);
+                    content.OK();
                 }
-                if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.CarryGroup)
+                else if (task.TaskState == (int)TaskAcrossFloorStatusEnum.EndAddressExecuting)
+                {
+                    _taskService.UpdateTaskStatusToNext(task.TaskNum);
+                    content.OK();
+                }
+                
+                if (task.TaskState.GetTaskStateGroup() == TaskStateGroup.CarryGroup)
                 {
                     _taskService.UpdateTaskStatusToNext(task.TaskNum);
                 }
-                if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
+                if (task.TaskState.GetTaskStateGroup() == TaskStateGroup.OutbondGroup)
                 {
                     if (task.TaskState == (int)TaskOutStatusEnum.AGV_OutExecuting)
                     {
                         _taskService.UpdateTaskStatusToNext(task.TaskNum);
                     }
                 }
-                else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup)
+                else if (task.TaskState.GetTaskStateGroup() == TaskStateGroup.InboundGroup)
                 {
+                    commonConveyorLine.Communicator.WriteNoRead("DB100.0", Convert.ToInt32(9990));
                     commonConveyorLine.SetValue(ConveyorLineDBName.PutFinish, 1, "LK001");
-                    commonConveyorLine.Communicator.WriteNoRead("DB100.0", 9990);
+
+                    Thread.Sleep(1000);
+                    commonConveyorLine.Communicator.WriteNoRead("DB100.0", Convert.ToInt32(9990));
                     commonConveyorLine.Communicator.WriteNoRead("DB100.4", Convert.ToInt16(task.TaskNum));
-                    task.TaskState = (int)TaskInStatusEnum.Line_InExecuting;
+                    task.TaskState = (int)TaskInStatusEnum.AGV_InFinish;
                     _taskRepository.UpdateData(task);
+                    _taskService.UpdateTaskStatusToNext(task.TaskNum);
                     content.OK();
                 }
             }
@@ -147,28 +150,28 @@
             WebResponseContent content = new WebResponseContent();
             try
             {
-                if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.AcrossFloorGroup)
-                {
-                    if (task.TaskState == (int)TaskAcrossFloorStatusEnum.SecondCarry)
-                    {
-                        if (task.Floor == "1F")
-                        {
-                            elevator.SetValue(ElevatorDBName.OneLayerPickUpFinish, 1);
-                        }
-                        else
-                        {
-                            elevator.SetValue(ElevatorDBName.TwoLayerPickUpFinish, 1);
-                        }
-                        task.TaskState = (int)TaskAcrossFloorStatusEnum.EndAddressExecuting;
-                        _taskRepository.UpdateData(task);
-                    }
-                }
 
-                if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
+                if (task.TaskState == (int)TaskAcrossFloorStatusEnum.SecondCarry)
+                {
+                    if (task.Floor == "1F")
+                    {
+                        elevator.SetValue(ElevatorDBName.OneLayerPickUpFinish, 1);
+                    }
+                    else
+                    {
+                        elevator.SetValue(ElevatorDBName.TwoLayerPickUpFinish, 1);
+                    }
+                    task.TaskState = (int)TaskAcrossFloorStatusEnum.EndAddressExecuting;
+                    _taskRepository.UpdateData(task);
+                }
+                
+
+                if (task.TaskState.GetTaskStateGroup() == TaskStateGroup.OutbondGroup)
                 {
                     commonConveyorLine.SetValue(ConveyorLineDBName.PickUpFinish, 1, "LK001");
-                    task.TaskState = (int)TaskOutStatusEnum.AGV_OutExecuting;
-                    _taskRepository.UpdateData(task);
+                    //task.TaskState = (int)TaskOutStatusEnum.AGV_OutExecuting;
+                    //_taskRepository.UpdateData(task);
+                    _taskService.UpdateTaskStatusToNext(task.TaskNum);
                     content.OK();
                 }
             }
@@ -189,48 +192,46 @@
             WebResponseContent content = new WebResponseContent();
             try
             {
-                if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.AcrossFloorGroup)
+
+                if (task.TaskState == (int)TaskAcrossFloorStatusEnum.SecondCarry)
                 {
-                    if (task.TaskState == (int)TaskAcrossFloorStatusEnum.SecondCarry)
+                    if (task.Floor == "1F")
                     {
-                        if (task.Floor == "1F")
+                        if (elevator.GetValue<ElevatorDBName, short>(ElevatorDBName.OneLayerAllowPickUp) == 1)
                         {
-                            if (elevator.GetValue<ElevatorDBName, short>(ElevatorDBName.OneLayerAllowPickUp) == 1)
-                            {
-                                _taskService.ContinueAgvTask(task.AGVTaskNum);
-                                content.OK();
-                            }
-                            else
-                            {
-                                task.AGVSign = "RequestPickUp";
-                                _taskRepository.UpdateData(task);
-                                content.Error("璁惧涓嶅厑璁稿彇璐�");
-                            }
+                            _taskService.ContinueAgvTask(task.AGVTaskNum);
+                            content.OK();
                         }
                         else
                         {
-                            if (elevator.GetValue<ElevatorDBName, short>(ElevatorDBName.TwoLayerAllowPickUp) == 1)
-                            {
-                                _taskService.ContinueAgvTask(task.AGVTaskNum);
-                                content.OK();
-                            }
-                            else
-                            {
-                                task.AGVSign = "RequestPickUp";
-                                _taskRepository.UpdateData(task);
-                                content.Error("璁惧涓嶅厑璁稿彇璐�");
-                            }
+                            task.AGVSign = "RequestPickUp";
+                            _taskRepository.UpdateData(task);
+                            content.Error("璁惧涓嶅厑璁稿彇璐�");
+                        }
+                    }
+                    else
+                    {
+                        if (elevator.GetValue<ElevatorDBName, short>(ElevatorDBName.TwoLayerAllowPickUp) == 1)
+                        {
+                            _taskService.ContinueAgvTask(task.AGVTaskNum);
+                            content.OK();
+                        }
+                        else
+                        {
+                            task.AGVSign = "RequestPickUp";
+                            _taskRepository.UpdateData(task);
+                            content.Error("璁惧涓嶅厑璁稿彇璐�");
                         }
                     }
                 }
-
-                if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
+                if (task.TaskState.GetTaskStateGroup() == TaskStateGroup.OutbondGroup)
                 {
                     if (commonConveyorLine.GetValue<ConveyorLineDBName, short>(ConveyorLineDBName.AllowPickUp, "LK001") == 1)
                     {
                         _taskService.ContinueAgvTask(task.AGVTaskNum);
-                        task.TaskState = (int)TaskOutStatusEnum.Line_OutFinish;
-                        _taskRepository.UpdateData(task);
+                        //task.TaskState = (int)TaskOutStatusEnum.Line_OutFinish;
+                        //_taskRepository.UpdateData(task);
+                        _taskService.UpdateTaskStatusToNext(task.TaskNum);
                         content.OK();
                     }
                     else
@@ -260,42 +261,39 @@
             WebResponseContent content = new WebResponseContent();
             try
             {
-                if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.AcrossFloorGroup)
+
+                if (task.TaskState == (int)TaskAcrossFloorStatusEnum.FirstCarry)
                 {
-                    if (task.TaskState == (int)TaskAcrossFloorStatusEnum.FirstCarry)
+                    if (task.Floor == "1F")
                     {
-                        if (task.Floor == "1F")
+                        if (elevator.GetValue<ElevatorDBName, short>(ElevatorDBName.OneLayerAllowPut) == 1)
                         {
-                            if (elevator.GetValue<ElevatorDBName, short>(ElevatorDBName.OneLayerAllowPut) == 1)
-                            {
-                                _taskService.ContinueAgvTask(task.AGVTaskNum);
-                                content.OK();
-                            }
-                            else
-                            {
-                                task.AGVSign = "RequestPut";
-                                _taskRepository.UpdateData(task);
-                                content.Error("璁惧涓嶅厑璁告斁璐�");
-                            }
+                            _taskService.ContinueAgvTask(task.AGVTaskNum);
+                            content.OK();
                         }
                         else
                         {
-                            if (elevator.GetValue<ElevatorDBName, short>(ElevatorDBName.TwoLayerAllowPut) == 1)
-                            {
-                                _taskService.ContinueAgvTask(task.AGVTaskNum);
-                                content.OK();
-                            }
-                            else
-                            {
-                                task.AGVSign = "RequestPut";
-                                _taskRepository.UpdateData(task);
-                                content.Error("璁惧涓嶅厑璁告斁璐�");
-                            }
+                            task.AGVSign = "RequestPut";
+                            _taskRepository.UpdateData(task);
+                            content.Error("璁惧涓嶅厑璁告斁璐�");
+                        }
+                    }
+                    else
+                    {
+                        if (elevator.GetValue<ElevatorDBName, short>(ElevatorDBName.TwoLayerAllowPut) == 1)
+                        {
+                            _taskService.ContinueAgvTask(task.AGVTaskNum);
+                            content.OK();
+                        }
+                        else
+                        {
+                            task.AGVSign = "RequestPut";
+                            _taskRepository.UpdateData(task);
+                            content.Error("璁惧涓嶅厑璁告斁璐�");
                         }
                     }
                 }
-
-                if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup)
+                if (task.TaskState.GetTaskStateGroup() == TaskStateGroup.InboundGroup)
                 {
                     if (commonConveyorLine.GetValue<ConveyorLineDBName, short>(ConveyorLineDBName.AllowPut, "LK001") == 1)
                     {
@@ -323,22 +321,5 @@
 
         #endregion
 
-        #region 鑾峰彇AGV浠诲姟鍙�
-
-        private static readonly Random _random = new Random();
-
-
-        public static string GenerateUniqueId()
-        {
-            // 鑾峰彇褰撳墠姣绾ф椂闂存埑
-            long timestamp = DateTimeOffset.Now.ToUnixTimeMilliseconds();
-
-            // 鐢熸垚4浣嶉殢鏈烘暟锛�0000-9999锛�
-            int randomNumber = _random.Next(0, 10000);
-            string randomPart = randomNumber.ToString("D4"); // 琛ラ浂鍒�4浣�
-
-            return $"{timestamp}{randomPart}";
-        }
-        #endregion
     }
 }

--
Gitblit v1.9.3