xby-y
2026-04-09 b3ff80e45d24a821ca0731983b1546b48570cdf1
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs
@@ -160,15 +160,13 @@
            task = _taskService.QueryStackerCraneInTask(commonStackerCrane.DeviceCode);         //获取入库任务
            List<Dt_Task> YKtasks = _taskService.QueryStackerCraneYKTasks(commonStackerCrane.DeviceCode);
            if (task != null)
            {
                if (task.Roadway == "SC02") return task;    //如果有任务则直接下发给堆垛机
                if (task.Depth == 1) return task;
                //2深位进行判断是否要移库
                Dt_Task dt_Task = _taskService.RequestWMSTaskMovelibrary(task);
                Dt_Task dt_Task = OutTaskMovelibrary(task);
                if (dt_Task != null) return dt_Task;
            }
            else if (YKtasks.Count > 0) //库位调拨
@@ -194,10 +192,8 @@
            {
                //进行获取堆垛机出库任务
                List<Dt_Task> tasks = _taskService.QueryStackerCraneOutTasks(commonStackerCrane.DeviceCode);
                    foreach (var item in tasks)
                    {
                    if (OutTaskStationIsOccupied(item) != null)
                        {
                            if (item.Roadway == "SC01")
@@ -216,14 +212,22 @@
                    
                }
            }
            return task;
        }
        private Dt_Task? OutTaskMovelibrary([NotNull] Dt_Task task)
        {
            string[] targetCodes = task.SourceAddress.Split("-");
            string[] targetCodes;
            if (task.TaskType == (int)TaskInboundTypeEnum.Inbound)
            {
                targetCodes = task.TargetAddress.Split("-");
            }
            else
            {
                targetCodes = task.SourceAddress.Split("-");
            }
            if (targetCodes[1] == "001")
            {
                targetCodes[1] = "002";