项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/RGVJob_FirstFloor/CommonRGV_FirstFloorJob.cs
@@ -136,7 +136,7 @@
                                                    IsExecutingTask.TargetStation = station.remark;
                                                    IsExecutingTask.TaskState = (int)TaskOutStatusEnum.RGV_TransFer;
                                                }
                                                _taskRepository.UpdateData(IsExecutingTask);
                                                Thread.Sleep(1000);
                                            }
@@ -154,62 +154,68 @@
                        }
                        else
                        {
                            Dt_Task taskNew = null;
                            taskNew = GetTransFerTask(FirstRgv);
                            if (taskNew == null)
                            {
                                taskNew = DispatchTask(FirstRgv);
                                if (IsExistTransTask(FirstRgv))
                                {
                                    taskNew = DispatchTask(FirstRgv);
                                }
                            }
                            if (taskNew != null)
                            {
                                RGVTaskCommand? rgvTaskCommand = ConvertToRGVTaskCommand(taskNew);
                                if (rgvTaskCommand != null)
                                {
                                    Thread.Sleep(1000);
                                    bool sendFlag = SendCommand(FirstRgv, rgvTaskCommand);
                                    if (sendFlag)
                                    RGVTaskCommand? rgvTaskCommand = ConvertToRGVTaskCommand(taskNew);
                                    if (rgvTaskCommand != null)
                                    {
                                        if (taskNew.TaskState == (int)TaskInStatusEnum.RGV_TransFerFInish)
                                        Thread.Sleep(1000);
                                        bool sendFlag = SendCommand(FirstRgv, rgvTaskCommand);
                                        if (sendFlag)
                                        {
                                            taskNew.TaskState = (int)TaskInStatusEnum.RGV_InExecuting;
                                            _taskRepository.UpdateData(taskNew);
                                            Thread.Sleep(1000);
                                        }
                                        else if (taskNew.TaskState == (int)TaskOutStatusEnum.RGV_TransFerFInish)
                                        {
                                            taskNew.TaskState = (int)TaskOutStatusEnum.RGV_OutExecuting;
                                            _taskRepository.UpdateData(taskNew);
                                            Thread.Sleep(1000);
                                        }
                                        else if (taskNew.Remark != null)
                                        {
                                            taskNew.RGVName = "RGV02";
                                            taskNew.CurrentAddress = taskNew.Remark;
                                            taskNew.Remark = "";
                                            taskNew.TaskState = (int)TaskOutStatusEnum.RGV_TransFer;
                                            Dt_StationManager station = _stationManagerRepository.QueryFirst(x => x.stationChildCode == taskNew.NextAddress);
                                            taskNew.SourceStation = taskNew.CurrentAddress == "1025" ? 10 : 7;
                                            if (taskNew.TaskType == (int)TaskInboundTypeEnum.Inbound)
                                            if (taskNew.TaskState == (int)TaskInStatusEnum.RGV_TransFerFInish)
                                            {
                                                taskNew.TargetStation = station.stationRemark;
                                                taskNew.TaskState = (int)TaskInStatusEnum.RGV_InExecuting;
                                                _taskRepository.UpdateData(taskNew);
                                                Thread.Sleep(1000);
                                            }
                                            else if (taskNew.TaskState == (int)TaskOutStatusEnum.RGV_TransFerFInish)
                                            {
                                                taskNew.TaskState = (int)TaskOutStatusEnum.RGV_OutExecuting;
                                                _taskRepository.UpdateData(taskNew);
                                                Thread.Sleep(1000);
                                            }
                                            else if (taskNew.Remark != null)
                                            {
                                                taskNew.RGVName = "RGV02";
                                                taskNew.CurrentAddress = taskNew.Remark;
                                                taskNew.Remark = "";
                                                taskNew.TaskState = (int)TaskOutStatusEnum.RGV_TransFer;
                                                Dt_StationManager station = _stationManagerRepository.QueryFirst(x => x.stationChildCode == taskNew.NextAddress);
                                                taskNew.SourceStation = taskNew.CurrentAddress == "1025" ? 10 : 7;
                                                if (taskNew.TaskType == (int)TaskInboundTypeEnum.Inbound)
                                                {
                                                    taskNew.TargetStation = station.stationRemark;
                                                }
                                                else
                                                {
                                                    taskNew.TargetStation = station.remark;
                                                }
                                                _taskRepository.UpdateData(taskNew);
                                                Thread.Sleep(1000);
                                            }
                                            else
                                            {
                                                taskNew.TargetStation = station.remark;
                                                taskNew.RGVName = FirstRgv.DeviceCode;
                                                _taskRepository.UpdateData(taskNew);
                                                _taskService.UpdateTaskStatusToNext(taskNew.TaskNum);
                                                Thread.Sleep(1000);
                                            }
                                            _taskRepository.UpdateData(taskNew);
                                            Thread.Sleep(1000);
                                        }
                                        else
                                        {
                                            taskNew.RGVName = FirstRgv.DeviceCode;
                                            _taskRepository.UpdateData(taskNew);
                                            _taskService.UpdateTaskStatusToNext(taskNew.TaskNum);
                                            Thread.Sleep(1000);
                                        }
                                    }
                                }
                            }
                        }
                    }
                    #region 璋冪敤浜嬩欢鎬荤嚎閫氱煡鍓嶇
@@ -290,7 +296,7 @@
                                                IsExecutingTask.RGVName = "RGV01";
                                                IsExecutingTask.CurrentAddress = IsExecutingTask.Remark;
                                                IsExecutingTask.Remark = "";
                                                Dt_StationManager station = _stationManagerRepository.QueryFirst(x => x.stationChildCode == IsExecutingTask.NextAddress);
                                                IsExecutingTask.SourceStation = IsExecutingTask.CurrentAddress == "1025" ? 10 : 7;
                                                if (IsExecutingTask.TaskType == (int)TaskInboundTypeEnum.Inbound)
@@ -321,13 +327,16 @@
                        }
                        else
                        {
                            Dt_Task taskNew = null;
                            taskNew = GetTransFerTask(SecondRgv);
                            if (taskNew == null)
                            {
                                taskNew = DispatchTask(SecondRgv);
                                if (IsExistTransTask(SecondRgv))
                                {
                                    taskNew = DispatchTask(SecondRgv);
                                }
                            }
                            if (taskNew != null)
                            {
                                RGVTaskCommand? rgvTaskCommand = ConvertToRGVTaskCommand(taskNew);
@@ -368,6 +377,7 @@
                                    }
                                }
                            }
                        }
                    }
                    #region 璋冪敤浜嬩欢鎬荤嚎閫氱煡鍓嶇
@@ -400,6 +410,7 @@
                            LevelPoint = SecondRgv.GetValue<RGVDBName, int>(RGVDBName.LevelPoint),
                            CurrentTaskNum = SecondRgv.GetValue<RGVDBName, short>(RGVDBName.RGVTaskNum),
                            RGVAlarm = SecondRgv.GetValue<RGVDBName, uint>(RGVDBName.RGVAlarm),
                            InStock = SecondRgv.GetValue<RGVDBName, bool>(RGVDBName.InStock),
                            SecondRgv.DeviceCode,
                            SecondRgv.DeviceName,
                        };
@@ -520,7 +531,7 @@
                                    };
                                    SendCommand(commonRGVSecond, command);
                                    Thread.Sleep(3000);
                                    if (!commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Running))
                                    if (!commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Running) || commonRGVSecond.GetValue<RGVDBName, int>(RGVDBName.Speed) == 0)
                                    {
                                        return null;
                                    }
@@ -633,7 +644,7 @@
                                    };
                                    SendCommand(commonRGVFirst, command);
                                    Thread.Sleep(3000);
                                    if (!commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Running))
                                    if (!commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Running) || commonRGVFirst.GetValue<RGVDBName, int>(RGVDBName.Speed) == 0)
                                    {
                                        return null;
                                    }
@@ -716,7 +727,7 @@
                            };
                            SendCommand(commonRGVSecond, command);
                            Thread.Sleep(3000);
                            if (!commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Running))
                            if (!commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Running) || commonRGVSecond.GetValue<RGVDBName, int>(RGVDBName.Speed) == 0)
                            {
                                return null;
                            }
@@ -795,7 +806,7 @@
                            };
                            SendCommand(commonRGVFirst, command);
                            Thread.Sleep(3000);
                            if (!commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Running))
                            if (!commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Running) || commonRGVFirst.GetValue<RGVDBName, int>(RGVDBName.Speed) == 0)
                            {
                                return null;
                            }
@@ -902,7 +913,7 @@
                                    };
                                    SendCommand(commonRGVSecond, command);
                                    Thread.Sleep(3000);
                                    if (!commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Running))
                                    if (!commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Running) || commonRGVSecond.GetValue<RGVDBName, int>(RGVDBName.Speed) == 0)
                                    {
                                        return null;
                                    }
@@ -989,7 +1000,7 @@
                                    };
                                    SendCommand(commonRGVFirst, command);
                                    Thread.Sleep(3000);
                                    if (!commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Running))
                                    if (!commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Running) || commonRGVFirst.GetValue<RGVDBName, int>(RGVDBName.Speed) == 0)
                                    {
                                        return null;
                                    }
@@ -1033,6 +1044,21 @@
                return null;
            }
        }
        public bool IsExistTransTask(CommonRGV_FirstFloor commonRGV)
        {
            if (commonRGV.DeviceCode == "RGV01")
            {
                var task = _taskRepository.QueryFirst(x => x.Floor == "1F" && (x.TaskState == (int)TaskInStatusEnum.RGV_TransFerFInish || x.TaskState == (int)TaskOutStatusEnum.RGV_TransFerFInish)&&x.RGVName=="RGV02");
                return task == null ? true : false;
            }
            else
            {
                var task = _taskRepository.QueryFirst(x => x.Floor == "1F" && (x.TaskState == (int)TaskInStatusEnum.RGV_TransFerFInish || x.TaskState == (int)TaskOutStatusEnum.RGV_TransFerFInish) && x.RGVName == "RGV01");
                return task == null ? true : false;
            }
        }
        /// <summary>
        /// RGV浠诲姟瀹屾垚
@@ -1398,7 +1424,7 @@
                }
                else if (task.TaskState == (int)TaskInStatusEnum.RGV_IndispatchFinish)
                {
                    if (task.Remark != null && (task.Roadway == "SC01" || task.Roadway == "SC06"))
                    if (task.Remark != null && (task.Remark == "1026" || task.Remark == "1025"))
                    {
                        Dt_StationManager stationManager = _stationManagerRepository.QueryFirst(x => x.stationChildCode == task.Remark);
                        rgvTaskCommand.TaskType = (byte)Convert.ToSByte(4);
@@ -1446,9 +1472,18 @@
                }
                else if (task.TaskState == (int)TaskOutStatusEnum.RGV_OutdispatchFinish)
                {
                    Dt_StationManager stationManager = _stationManagerRepository.QueryFirst(x => x.stationChildCode == task.NextAddress);
                    rgvTaskCommand.TaskType = (byte)Convert.ToSByte(4);
                    rgvTaskCommand.PutcargoLocation = (byte)Convert.ToSByte(stationManager.stationRemark);
                    if (task.Remark != null && (task.Roadway == "SC01" || task.Roadway == "SC06"))
                    {
                        Dt_StationManager stationManager = _stationManagerRepository.QueryFirst(x => x.stationChildCode == task.Remark);
                        rgvTaskCommand.TaskType = (byte)Convert.ToSByte(4);
                        rgvTaskCommand.PutcargoLocation = (byte)Convert.ToSByte(stationManager.stationRemark);
                    }
                    else
                    {
                        Dt_StationManager stationManager = _stationManagerRepository.QueryFirst(x => x.stationChildCode == task.NextAddress);
                        rgvTaskCommand.TaskType = (byte)Convert.ToSByte(4);
                        rgvTaskCommand.PutcargoLocation = (byte)Convert.ToSByte(stationManager.stationRemark);
                    }
                }
                else
                {