From 7059b12b4901d4307d130b2bc3846a8c6f7174a6 Mon Sep 17 00:00:00 2001 From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com> Date: 星期五, 12 九月 2025 11:30:55 +0800 Subject: [PATCH] 1 --- 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/RGVJob_FirstFloor/CommonRGV_FirstFloorJob.cs | 111 ++++++++++++++++++++++++++++++++++--------------------- 1 files changed, 68 insertions(+), 43 deletions(-) diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/RGVJob_FirstFloor/CommonRGV_FirstFloorJob.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/RGVJob_FirstFloor/CommonRGV_FirstFloorJob.cs" index 728235d..82a3be1 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/RGVJob_FirstFloor/CommonRGV_FirstFloorJob.cs" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/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 璋冪敤浜嬩欢鎬荤嚎閫氱煡鍓嶇 @@ -1034,6 +1044,21 @@ } } + 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浠诲姟瀹屾垚 /// </summary> -- Gitblit v1.9.3