From 82149871f30f4564d84272649352496a2ab0a38e Mon Sep 17 00:00:00 2001
From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com>
Date: 星期四, 23 十月 2025 17:12:52 +0800
Subject: [PATCH] 1

---
 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/AGV/AGVSignal.cs |  240 ++++++++++++++++++++---------------------------------------
 1 files changed, 81 insertions(+), 159 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 e653bc8..ed2c5f9 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,92 +88,38 @@
             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")
                     {
-                        Dt_StationManager stationManager = new Dt_StationManager();
-                        string TaskTemplate = string.Empty;
-                        if (task.Floor == "1F")
-                        {
-                            stationManager = _stationManagerRepository.QueryFirst(x => x.stationType == 5 && x.stationFloor == "2F");
-                            elevator.SetValue(ElevatorDBName.OneLayerPutFinish, 1);
-                            TaskTemplate = "BBB";
-                            //璇锋眰WMS璺ㄦゼ灞�2浠诲姟
-                        }
-                        else
-                        {
-                            stationManager = _stationManagerRepository.QueryFirst(x => x.stationType == 5 && x.stationFloor == "1F");
-                            elevator.SetValue(ElevatorDBName.TwoLayerPutFinish, 1);
-                            //璇锋眰WMS璺ㄦゼ灞�2浠诲姟
-                            TaskTemplate = "CCC";
-                        }
-                        task.TaskState = (int)TaskAcrossFloorStatusEnum.FirstCarryFinish;
-                        task.ModifyDate = DateTime.Now;
-                        task.Modifier = "System";
-
-                        Dt_Task_Hty task_Hty = _mapper.Map<Dt_Task_Hty>(task);
-                        task_Hty.TaskId = 0;
-
-                        _taskRepository.DeleteData(task);
-                        _taskhtyRepository.AddData(task_Hty);
-                        Random random = new Random();
-                        int randomNumber = random.Next(1000, 10000);
-
-                        WMSTaskDTO taskDTO = new WMSTaskDTO()
-                        {
-                            Id = 1,
-                            TaskNum = randomNumber,
-                            RoadWay = "AGV",
-                            TaskType = (int)TaskAcrossFloorTypeEnum.AcrossFloorCarry,
-                            TaskState = (int)TaskAcrossFloorStatusEnum.SecondCarry,
-                            PalletCode = task.PalletCode,
-                            SourceAddress = stationManager.stationChildCode,
-                            TargetAddress = task.TargetAddress,
-                            Grade = 1,
-                            AGVTaskNum = GenerateUniqueId()
-                        };
-                        Dt_Task SecondCarry =  _mapper.Map<Dt_Task>(taskDTO);
-                        task.Creater = "WMS";
-
-                        SecondCarry.CurrentAddress = stationManager.stationChildCode;
-
-                        SecondCarry.NextAddress = task.TargetAddress;
-
-                        SecondCarry.Floor = stationManager.stationFloor;
-
-                        SecondCarry.AGVSign = "";
-
-                        _taskRepository.AddData(SecondCarry);
-
-                        _taskService.SendAgvTask(TaskTemplate, SecondCarry.TaskNum);
-                        content.OK();
+                        elevator.SetValue(ElevatorDBName.OneLayerPutFinish, 1);
                     }
-                    else if (task.TaskState == (int)TaskAcrossFloorStatusEnum.SecondCarry)
+                    else
                     {
-                        task.TaskState = (int)TaskAcrossFloorStatusEnum.SecondCarryFinish;
-                        task.ModifyDate = DateTime.Now;
-                        task.Modifier = "System";
-
-                        Dt_Task_Hty task_Hty = _mapper.Map<Dt_Task_Hty>(task);
-                        task_Hty.TaskId = 0;
-
-                        _taskRepository.DeleteData(task);
-                        _taskhtyRepository.AddData(task_Hty);
+                        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.SetValue(ConveyorLineDBName.PutFinish, 1, "LK001");
                     commonConveyorLine.Communicator.WriteNoRead("DB100.0", 9990);
@@ -200,24 +146,23 @@
             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;
@@ -242,42 +187,39 @@
             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)
                     {
@@ -313,42 +255,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)
                     {
@@ -376,22 +315,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