From 753361f589444455fe1b20476c658201ccd92c38 Mon Sep 17 00:00:00 2001 From: helongyang <647556386@qq.com> Date: 星期三, 30 七月 2025 09:53:19 +0800 Subject: [PATCH] 更新优化 --- 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/干膜仓/StackerCraneJob_GM.cs | 13 ++++++++++--- 1 files changed, 10 insertions(+), 3 deletions(-) diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\345\271\262\350\206\234\344\273\223/StackerCraneJob_GM.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\345\271\262\350\206\234\344\273\223/StackerCraneJob_GM.cs" index 3d1aa80..0536b05 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\345\271\262\350\206\234\344\273\223/StackerCraneJob_GM.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\345\271\262\350\206\234\344\273\223/StackerCraneJob_GM.cs" @@ -74,6 +74,7 @@ { try { + Thread.Sleep(2200); CommonStackerCrane commonStackerCrane = (CommonStackerCrane)context.JobDetail.JobDataMap.Get("JobParams"); if (commonStackerCrane != null) { @@ -275,7 +276,6 @@ WriteError(commonStackerCrane.DeviceCode, $"绉诲簱鎺ュ彛璋冪敤閿欒"); _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"绉诲簱鎺ュ彛璋冪敤閿欒"); return null; - } if (task.TaskNum == taskDTO.TaskNum) { @@ -286,9 +286,16 @@ Dt_Task reloTask = _mapper.Map<Dt_Task>(taskDTO); //鍒ゆ柇绉诲簱璐т綅浠诲姟鏄惁宸插瓨鍦紝濡傚瓨鍦ㄥ厛鎵ц Dt_Task existTask = _taskService.QueryStackerExistTask(reloTask.PalletCode, reloTask.SourceAddress); - if (existTask != null) + if (existTask != null && existTask.TaskState == (int)TaskStatusEnum.SC_Execute) { + Dt_StationManger? stationManger = _stationMangerRepository.QueryFirst(x => (x.StationCode == task.NextAddress || x.StackerCraneStationCode == task.NextAddress) && x.StackerCraneCode == task.DeviceCode); + existTask.NextAddress = stationManger.StackerCraneStationCode; + _taskRepository.UpdateData(existTask); return existTask; + } + else if (existTask != null && existTask.TaskState != (int)TaskStatusEnum.SC_Execute) + { + return null; } else { @@ -315,7 +322,7 @@ /// <returns>濡傛灉鏈鍗犵敤锛岃繑鍥炰紶鍏ョ殑浠诲姟淇℃伅锛屽惁鍒欙紝杩斿洖null</returns> private Dt_Task? OutTaskStationIsOccupied([NotNull] Dt_Task task) { - Dt_StationManger? stationManger = _stationMangerRepository.QueryFirst(x => x.StationCode == task.NextAddress && x.StackerCraneCode == task.DeviceCode); + Dt_StationManger? stationManger = _stationMangerRepository.QueryFirst(x =>( x.StationCode == task.NextAddress || x.StackerCraneStationCode==task.NextAddress )&& x.StackerCraneCode == task.DeviceCode); if (stationManger != null) { IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == stationManger.StationDeviceCode); -- Gitblit v1.9.3