huangxiaoqiang
2025-03-26 1b8cce65d4987e4b7e94d1b178abb3af0978a2d4
CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs
@@ -1,4 +1,5 @@
using Mapster;
using Masuit.Tools;
using Newtonsoft.Json;
using Quartz;
using System.Diagnostics.CodeAnalysis;
@@ -60,7 +61,6 @@
        {
            try
            {
                CommonStackerCrane commonStackerCrane = (CommonStackerCrane)context.JobDetail.JobDataMap.Get("JobParams");
                if (commonStackerCrane != null)
                {
@@ -218,7 +218,7 @@
        /// <returns></returns>
        private Dt_Task? GetTask(CommonStackerCrane commonStackerCrane)
        {
            Dt_Task task;
            Dt_Task task = null;
            if (commonStackerCrane.LastTaskType == null)
            {
                task = _taskService.QueryStackerCraneTask(commonStackerCrane.DeviceCode);
@@ -266,6 +266,22 @@
                    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)
            {
@@ -309,7 +325,7 @@
                    IDevice? device = null;
                    if (task.Roadway.Contains("GW"))
                    {
                        device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == "1015");
                        device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == "1004");
                        if (device != null)
                        {
                            CommonConveyorLine_GW conveyorLine = (CommonConveyorLine_GW)device;
@@ -414,7 +430,7 @@
            {
                var value = _sys_ConfigService.GetByConfigKey(CateGoryConst.CONFIG_SYS_InStation, SysConfigKeyConst.JZNGInBoundStation).ConfigValue;
                var valueList = value.Split(',').ToList();
                if ((valueList.Contains(task.SourceAddress)) && task.Roadway.Contains("CH")||task.Roadway.Contains("JZ"))
                if ((valueList.Contains(task.SourceAddress)) && task.Roadway.Contains("CH") || task.Roadway.Contains("JZ"))
                {
                    string[] souredCodes = task.CurrentAddress.Split("-");
                    if (souredCodes.Length == 3)