wanshenmean
22 小时以前 556ce5b91a9544c7cea40d01f555ebe07c14377d
feat(StackerCraneTaskSelector): 出库任务选择时检查 TargetAddress 输送线任务冲突

站台可用后、WMS 移库检查前,查询是否有 Line_OutExecuting 状态的任务去同一 TargetAddress

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
已修改1个文件
8 ■■■■■ 文件已修改
Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/StackerCraneTaskSelector.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/StackerCraneTaskSelector.cs
@@ -216,6 +216,14 @@
                return null;
            }
            // 检查是否有正在执行的输送线任务去往同一 TargetAddress
            if (_taskService.HasExecutingTaskToTarget(outboundTask.Roadway, outboundTask.TargetAddress))
            {
                QuartzLogHelper.LogInfo(_logger, "TrySelectOutboundTask:TargetAddress: {TargetAddress} 已有正在执行的输送线任务,任务号: {TaskNum}",
                    $"TrySelectOutboundTask:TargetAddress: {outboundTask.TargetAddress} 已有正在执行的输送线任务", outboundTask.Roadway, outboundTask.TargetAddress, outboundTask.TaskNum);
                return null;
            }
            // 站台检查通过后,调用 WMS 判断是否需要移库
            var taskAfterTransferCheck = _transferCheck(outboundTask.TaskNum) ?? outboundTask;
            var taskGroup = taskAfterTransferCheck.TaskType.GetTaskTypeGroup();