From 40f71192f067a48fff730a52fa8f47a1b69ba59d Mon Sep 17 00:00:00 2001
From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com>
Date: 星期一, 13 十月 2025 17:28:00 +0800
Subject: [PATCH] 支持跨楼层与AGV搬运任务,优化货位管理新增跨楼层与AGV搬运任务相关页面、API及服务逻辑,支持任务状态更新与多任务类型处理。  更新货位管理功能,支持批量创建货位及批量记录货位状态变动。  重构任务状态更新逻辑,增强事务处理能力,优化代码结构。 调整页面配置与文档布局,新增常量与枚举以支持新功能。 修复部分任务状态处理中的潜在问题。

---
 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/AGV/AGVSignal.cs |   63 +++----------------------------
 1 files changed, 6 insertions(+), 57 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 65e2168..91883ea 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"
@@ -92,74 +92,21 @@
                 {
                     if (task.TaskState == (int)TaskAcrossFloorStatusEnum.FirstCarry)
                     {
-                        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);
+                        _taskService.UpdateTaskStatusToNext(task.TaskNum);
                         content.OK();
                     }
-                    else if (task.TaskState == (int)TaskAcrossFloorStatusEnum.SecondCarry)
+                    else if (task.TaskState == (int)TaskAcrossFloorStatusEnum.EndAddressExecuting)
                     {
-                        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);
+                        _taskService.UpdateTaskStatusToNext(task.TaskNum);
+                        content.OK();
                     }
                 }
                 if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.CarryGroup)
@@ -212,6 +159,8 @@
                         {
                             elevator.SetValue(ElevatorDBName.TwoLayerPickUpFinish, 1);
                         }
+                        task.TaskState = (int)TaskAcrossFloorStatusEnum.EndAddressExecuting;
+                        _taskRepository.UpdateData(task);
                     }
                 }
 

--
Gitblit v1.9.3