huangxiaoqiang
2025-11-29 f9e8a2d52fe52fb2389892a46c12d4d262ee9aaf
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/AGV/AGVSignal.cs
@@ -91,6 +91,8 @@
                if (task.TaskState == (int)TaskAcrossFloorStatusEnum.FirstCarry)
                {
                    if (task.DoubleTray != 1)
                    {
                    if (task.Floor == "1F")
                    {
                        elevator.SetValue(ElevatorDBName.OneLayerPutFinish, 1);
@@ -98,6 +100,22 @@
                    else
                    {
                        elevator.SetValue(ElevatorDBName.TwoLayerPutFinish, 1);
                        }
                    }
                    else
                    {
                        var taskDouble = _taskRepository.QueryFirst(x => x.TaskState == (int)TaskAcrossFloorStatusEnum.FirstCarryFinish && x.DoubleTray==1);
                        if (taskDouble != null)
                        {
                            if (task.Floor == "1F")
                            {
                                elevator.SetValue(ElevatorDBName.OneLayerPutFinish, 1);
                            }
                            else
                            {
                                elevator.SetValue(ElevatorDBName.TwoLayerPutFinish, 1);
                            }
                        }
                    }
                    _taskService.UpdateTaskStatusToNext(task.TaskNum);
                    content.OK();
@@ -151,6 +169,8 @@
                if (task.TaskState == (int)TaskAcrossFloorStatusEnum.SecondCarry)
                {
                    if (task.DoubleTray != 1)
                    {
                    if (task.Floor == "1F")
                    {
                        elevator.SetValue(ElevatorDBName.OneLayerPickUpFinish, 1);
@@ -159,7 +179,24 @@
                    {
                        elevator.SetValue(ElevatorDBName.TwoLayerPickUpFinish, 1);
                    }
                    }
                    else
                    {
                        var taskDouble = _taskRepository.QueryFirst(x => x.TaskState == (int)TaskAcrossFloorStatusEnum.SecondCarry && x.DoubleTray == 1 && x.PalletCode != task.PalletCode);
                        if (taskDouble == null)
                        {
                            if (task.Floor == "1F")
                            {
                                elevator.SetValue(ElevatorDBName.OneLayerPutFinish, 1);
                            }
                            else
                            {
                                elevator.SetValue(ElevatorDBName.TwoLayerPutFinish, 1);
                            }
                        }
                    }
                    _taskService.UpdateTaskStatusToNext(task.TaskNum);
                    content.OK();
                }