1
huangxiaoqiang
2025-04-17 bdb75323b6c677135d74ff84ac760ca8ea554da4
CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs
@@ -210,6 +210,7 @@
                    {
                        task = _taskRepository.QueryFirst(x => x.TaskNum == e.TaskNum);
                        Dt_Task? newTask = _taskService.UpdatePosition(task.TaskNum, task.CurrentAddress);
                        _taskService.UpdateData(newTask);
                    }
                    if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup && (task.TargetAddress == "002-071-001" || task.TargetAddress == "001-061-001"))
                    {
@@ -256,6 +257,32 @@
            if (task != null && task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
            {
                #region 静置出库判断是否能执行任务
                if (task != null && task.Roadway.Contains("JZ") && task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
                {
                    // 查询是否存在静置入库任务
                    var inJZTask = _taskRepository.QueryData(x => x.Roadway == task.Roadway &&
                        (x.TaskState == (int)TaskInStatusEnum.Line_InExecuting ||
                         x.TaskState == (int)TaskInStatusEnum.SC_InExecuting ||
                         x.TaskState == (int)TaskInStatusEnum.Line_InFinish));
                    ConsoleHelper.WriteErrorLine($"当前静置线体存在入库任务{inJZTask.Count()}条,{(inJZTask.Count() <= 0 ? "可出库" : "不可出库")}");
                    WriteInfo(commonStackerCrane.DeviceName, $"当前静置线体存在入库任务{inJZTask.Count()}条,{(inJZTask.Count() <= 0 ? "可出库" : "不可出库")}");
                    if (inJZTask.Any() || inJZTask.Count() > 0)
                    {
                        var x = inJZTask.Where(x => x.TaskState == (int)TaskInStatusEnum.Line_InFinish).FirstOrDefault();
                        if (x != null)
                        {
                            return x;
                        }
                        else
                        {
                            return null;
                        }
                    }
                }
                #endregion
                // 检查当前出库任务站台是否允许放货
                var occupiedStation = OutTaskStationIsOccupied(task);
                if (occupiedStation == null)
@@ -280,22 +307,7 @@
                    return task;
                }
                #region 静置出库判断是否能执行任务
                if (!task.IsNullOrEmpty() && task.Roadway.Contains("JZ") && task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
                {
                    // 查询是否存在静置入库任务
                    var inJZTask = _taskRepository.QueryData(x => x.Roadway == task.Roadway &&
                        (x.TaskState == (int)TaskInStatusEnum.Line_InExecuting ||
                         x.TaskState == (int)TaskInStatusEnum.SC_InExecuting ||
                         x.TaskState == (int)TaskInStatusEnum.Line_InFinish));
                    ConsoleHelper.WriteErrorLine($"当前静置线体存在入库任务{inJZTask.Count()}条,{(inJZTask.Count() > 0 ? "可入库" : "不可入库")}");
                    if (!inJZTask.IsNullOrEmpty())
                        return null;
                }
                #endregion 静置出库判断是否能执行任务
            }
            else if (task == null)
            {