huangxiaoqiang
2025-11-29 f9e8a2d52fe52fb2389892a46c12d4d262ee9aaf
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/AGV/AGVSignal.cs
@@ -91,13 +91,31 @@
                if (task.TaskState == (int)TaskAcrossFloorStatusEnum.FirstCarry)
                {
                    if (task.Floor == "1F")
                    if (task.DoubleTray != 1)
                    {
                        elevator.SetValue(ElevatorDBName.OneLayerPutFinish, 1);
                        if (task.Floor == "1F")
                        {
                            elevator.SetValue(ElevatorDBName.OneLayerPutFinish, 1);
                        }
                        else
                        {
                            elevator.SetValue(ElevatorDBName.TwoLayerPutFinish, 1);
                        }
                    }
                    else
                    {
                        elevator.SetValue(ElevatorDBName.TwoLayerPutFinish, 1);
                        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();
@@ -107,8 +125,12 @@
                    _taskService.UpdateTaskStatusToNext(task.TaskNum);
                    content.OK();
                }
                if (task.TaskState.GetTaskStateGroup() == TaskStateGroup.CarryGroup)
                else if(task.TaskState.GetTaskStateGroup() == TaskStateGroup.CarryGroup)
                {
                    _taskService.UpdateTaskStatusToNext(task.TaskNum);
                }
                if (task.TaskState.GetTaskStateGroup() == TaskStateGroup.RelocationGroup)
                {
                    _taskService.UpdateTaskStatusToNext(task.TaskNum);
                }
@@ -122,10 +144,8 @@
                else if (task.TaskState.GetTaskStateGroup() == TaskStateGroup.InboundGroup)
                {
                    commonConveyorLine.SetValue(ConveyorLineDBName.PutFinish, 1, "LK001");
                    commonConveyorLine.Communicator.WriteNoRead("DB100.0", 9990);
                    commonConveyorLine.Communicator.WriteNoRead("DB100.4", Convert.ToInt16(task.TaskNum));
                    task.TaskState = (int)TaskInStatusEnum.Line_InExecuting;
                    _taskRepository.UpdateData(task);
                    _taskService.UpdateTaskStatusToNext(task.TaskNum);
                    content.OK();
                }
            }
@@ -149,24 +169,41 @@
                if (task.TaskState == (int)TaskAcrossFloorStatusEnum.SecondCarry)
                {
                    if (task.Floor == "1F")
                    if (task.DoubleTray != 1)
                    {
                        elevator.SetValue(ElevatorDBName.OneLayerPickUpFinish, 1);
                        if (task.Floor == "1F")
                        {
                            elevator.SetValue(ElevatorDBName.OneLayerPickUpFinish, 1);
                        }
                        else
                        {
                            elevator.SetValue(ElevatorDBName.TwoLayerPickUpFinish, 1);
                        }
                    }
                    else
                    {
                        elevator.SetValue(ElevatorDBName.TwoLayerPickUpFinish, 1);
                        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);
                            }
                        }
                    }
                    task.TaskState = (int)TaskAcrossFloorStatusEnum.EndAddressExecuting;
                    _taskRepository.UpdateData(task);
                    _taskService.UpdateTaskStatusToNext(task.TaskNum);
                    content.OK();
                }
                
                if (task.TaskState.GetTaskStateGroup() == TaskStateGroup.OutbondGroup)
                {
                    commonConveyorLine.SetValue(ConveyorLineDBName.PickUpFinish, 1, "LK001");
                    task.TaskState = (int)TaskOutStatusEnum.AGV_OutExecuting;
                    _taskRepository.UpdateData(task);
                    _taskService.UpdateTaskStatusToNext(task.TaskNum);
                    content.OK();
                }
            }
@@ -224,8 +261,7 @@
                    if (commonConveyorLine.GetValue<ConveyorLineDBName, short>(ConveyorLineDBName.AllowPickUp, "LK001") == 1)
                    {
                        _taskService.ContinueAgvTask(task.AGVTaskNum);
                        task.TaskState = (int)TaskOutStatusEnum.Line_OutFinish;
                        _taskRepository.UpdateData(task);
                        _taskService.UpdateTaskStatusToNext(task.TaskNum);
                        content.OK();
                    }
                    else