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);
                }
@@ -121,14 +143,8 @@
                }
                else if (task.TaskState.GetTaskStateGroup() == TaskStateGroup.InboundGroup)
                {
                    commonConveyorLine.Communicator.WriteNoRead("DB100.0", 9990);
                    commonConveyorLine.SetValue(ConveyorLineDBName.PutFinish, 1, "LK001");
                    Thread.Sleep(1000);
                    commonConveyorLine.Communicator.WriteNoRead("DB100.0", 9990);
                    commonConveyorLine.Communicator.WriteNoRead("DB100.4", Convert.ToInt16(task.TaskNum));
                    task.TaskState = (int)TaskInStatusEnum.AGV_InFinish;
                    _taskRepository.UpdateData(task);
                    _taskService.UpdateTaskStatusToNext(task.TaskNum);
                    content.OK();
                }
@@ -153,24 +169,40 @@
                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();
                }
@@ -229,8 +261,6 @@
                    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();
                    }