wanshenmean
昨天 5f1294d6dea53d286f5e7029839d37bf490e32bb
Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/StackerCraneTaskSelector.cs
@@ -170,7 +170,10 @@
            // ===== 同 NextAddress 无可用任务,尝试不同 NextAddress 的任务 =====
            // 查找其他可用的出库站台
            // 查询其他站台的出库任务
            var tasks = _taskService.QueryStackerCraneOutTasks(deviceCode, new List<string> { candidateTask.NextAddress }, false);
            var tasks = _taskService.QueryStackerCraneOutTasks(deviceCode, new List<string> { candidateTask.NextAddress }, false)
                .GroupBy(x => x.TargetAddress)
                .Select(g => g.FirstOrDefault())
                .ToList();
            foreach (var alternativeTask in tasks)
            {
                selectedTask = TrySelectOutboundTask(alternativeTask);
@@ -203,10 +206,13 @@
        {
            // 先进行本地站台检查(PLC 读取,快速),避免不必要的 WMS HTTP 调用
            // 判断 TargetAddress 输送线站台是否空闲
            if (!IsTargetAddressConveyorStationAvailable(outboundTask))
            if (outboundTask.TaskType != (int)TaskOutboundTypeEnum.OutEmpty)
            {
                return null;
                // 判断 TargetAddress 输送线站台是否空闲
                if (!IsTargetAddressConveyorStationAvailable(outboundTask))
                {
                    return null;
                }
            }
            // 判断 NextAddress 出库站台是否可用