huangxiaoqiang
5 天以前 37b28e4f6b8c865c1df06543f124fd1c1ba244d9
CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/Task/RequestInbound.cs
@@ -6,6 +6,8 @@
using Microsoft.VisualBasic;
using MoYu.Logging;
using Newtonsoft.Json;
using OfficeOpenXml.FormulaParsing.Excel.Functions.Math;
using SqlSugar;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using WIDESEAWCS_Common;
@@ -17,6 +19,7 @@
using WIDESEAWCS_DTO.WMS;
using WIDESEAWCS_Model.Models;
using WIDESEAWCS_QuartzJob;
using WIDESEAWCS_QuartzJob.Models;
using WIDESEAWCS_Tasks.ConveyorLineJob;
using static Microsoft.EntityFrameworkCore.DbLoggerCategory.Database;
@@ -101,10 +104,10 @@
        {
            // 使用正则表达式匹配类似 -数字 的模式,并替换为空字符串
            task.NextAddress = Regex.Replace(task.NextAddress, @"-(\d+)", "");
            if (Convert.ToInt32(task.NextAddress) > 1999)
            {
                task.NextAddress = (Convert.ToInt32(task.NextAddress) - 1000).ToString();
            }
            //if (Convert.ToInt32(task.NextAddress) > 2999)
            //{
            //    task.NextAddress = (Convert.ToInt32(task.NextAddress) - 1000).ToString();
            //}
            var comm = _mapper.Map<ConveyorLineTaskCommand>(task);
            comm.InteractiveSignal = command.InteractiveSignal;
            return comm;
@@ -400,7 +403,7 @@
            try
            {
                StaticVariable.isLineRun = false;
                if (StaticVariable.isStackerRun)
                {
                    ExecuteConveyorLineTask(conveyorLine, command, ProtocalDetailValue, childDeviceCode);
@@ -427,6 +430,7 @@
                    LogAndSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, logMessage, conveyorLineTaskCommand.TargetAddress.ToString());
                    return;
                }
                var configz = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
                var wmsbase = configz.Where(x => x.ConfigKey == SysConfigKeyConst.WMSIP_BASE).FirstOrDefault()?.ConfigValue;
                var address = configz.Where(x => x.ConfigKey == SysConfigKeyConst.QueryLocationFreeJZ).FirstOrDefault()?.ConfigValue;
@@ -442,7 +446,6 @@
                    ConsoleHelper.WriteErrorLine(LocationFree.Message);
                    return;
                }
                if (resultTrayCellsStatus.SerialNos.Count == 0)
                {
                    var Traycontent = await _taskService.RequestWMSTask(command.Barcode, childDeviceCode);
@@ -458,7 +461,6 @@
                }
                else
                {
                    var QueryStockInfoForRealTrayJZ = configz.Where(x => x.ConfigKey == SysConfigKeyConst.QueryStockInfoForRealTrayJZAsync).FirstOrDefault()?.ConfigValue;
                    if (wmsbase == null || QueryStockInfoForRealTrayJZ == null)
                    {
@@ -552,7 +554,7 @@
            finally
            {
                StaticVariable.isLineRun = true;
            }
            }
        }
        /// <summary>
@@ -588,11 +590,9 @@
            else if (task.Roadway.Contains("JZ"))
            {
                // 查询是否存在静置出库任务
                var outJZTask = _taskRepository.QueryData(x => x.Roadway == task.Roadway &&
                    (x.TaskState == (int)TaskOutStatusEnum.SC_OutExecuting ||
                     x.TaskState == (int)TaskOutStatusEnum.SC_OutFinish || x.TaskState == (int)TaskOutStatusEnum.OutNew));
                var outJZTask = _taskRepository.QueryData(x => x.Roadway == task.Roadway && x.TaskType == (int)TaskOutboundTypeEnum.Outbound && (x.TaskState == (int)TaskOutStatusEnum.SC_OutExecuting || x.TaskState == (int)TaskOutStatusEnum.SC_OutFinish || x.TaskState == (int)TaskOutStatusEnum.OutNew));
                if (!outJZTask.Any())
                if (!outJZTask.Any() || outJZTask.Count() == 0)
                {
                    // 映射任务命令
                    var taskCommand = MapTaskCommand(task, command);
@@ -605,6 +605,8 @@
                    // 更新任务状态
                    _taskService.UpdateTaskStatusToNext(task);
                    WriteInfo(conveyorLine.DeviceName, $"静置存在出库任务{outJZTask.Count()}");
                }
                else
                {