From b06b33248bcc19f8ea6c574124d5c536b7fa6c49 Mon Sep 17 00:00:00 2001 From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com> Date: 星期三, 16 七月 2025 19:22:27 +0800 Subject: [PATCH] 添加常温直接出库功能,增加实框入库存在任务发往异常口 --- CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/Task/RequestInbound.cs | 41 +++++++++++++++++++++++++++-------------- 1 files changed, 27 insertions(+), 14 deletions(-) diff --git a/CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/Task/RequestInbound.cs b/CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/Task/RequestInbound.cs index 601c5b7..d300996 100644 --- a/CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/Task/RequestInbound.cs +++ b/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; @@ -100,8 +103,8 @@ private ConveyorLineTaskCommand MapTaskCommand(Dt_Task task, ConveyorLineTaskCommand command) { // 浣跨敤姝e垯琛ㄨ揪寮忓尮閰嶇被浼� -鏁板瓧 鐨勬ā寮忥紝骞舵浛鎹负绌哄瓧绗︿覆 - //task.NextAddress = Regex.Replace(task.NextAddress, @"-(\d+)", ""); - //if (Convert.ToInt32(task.NextAddress) > 1999) + task.NextAddress = Regex.Replace(task.NextAddress, @"-(\d+)", ""); + //if (Convert.ToInt32(task.NextAddress) > 2999) //{ // task.NextAddress = (Convert.ToInt32(task.NextAddress) - 1000).ToString(); //} @@ -150,6 +153,21 @@ { if (command.Barcode != "NoRead") { + if (_taskRepository.QueryFirst(x => x.PalletCode == command.Barcode) != null) + { + var taskExecuting = _taskRepository.QueryFirst(x => x.PalletCode == command.Barcode && (x.TaskState == (int)TaskOutStatusEnum.Line_OutExecuting || x.TaskState == (int)TaskOutStatusEnum.SC_OutFinish)); + + if (taskExecuting != null) + { + taskExecuting.ExceptionMessage = "鏈帴鏀跺埌绾夸綋瀹屾垚淇″彿绯荤粺鍐呴儴鑷姩瀹屾垚"; + _taskService.Delete(taskExecuting); + } + + ConsoleHelper.WriteErrorLine($"褰撳墠鎵樼洏瀛樺湪浠诲姟锛氥�恵command.Barcode}銆�"); + + WriteInfo(conveyorLine.DeviceName, $"褰撳墠鎵樼洏瀛樺湪浠诲姟{command.Barcode}"); + + } string isTrue = string.Empty; ResultTrayCellsStatus result = GetResultTrayCellsStatus(command, stationManager); @@ -186,10 +204,6 @@ taskDTO = CreateEmptyTrayTaskDto(command.Barcode, childDeviceCode); ; } - if (_taskRepository.QueryFirst(x => x.PalletCode == taskDTO.PalletCode) != null) - { - WriteInfo(conveyorLine.DeviceName, "褰撳墠鎵樼洏瀛樺湪浠诲姟"); - } CreateEmptyTryTask(conveyorLine, command, childDeviceCode, ProtocalDetailValue, taskDTO); } @@ -400,7 +414,7 @@ try { StaticVariable.isLineRun = false; - + if (StaticVariable.isStackerRun) { ExecuteConveyorLineTask(conveyorLine, command, ProtocalDetailValue, childDeviceCode); @@ -427,6 +441,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 +457,6 @@ ConsoleHelper.WriteErrorLine(LocationFree.Message); return; } - if (resultTrayCellsStatus.SerialNos.Count == 0) { var Traycontent = await _taskService.RequestWMSTask(command.Barcode, childDeviceCode); @@ -458,7 +472,6 @@ } else { - var QueryStockInfoForRealTrayJZ = configz.Where(x => x.ConfigKey == SysConfigKeyConst.QueryStockInfoForRealTrayJZAsync).FirstOrDefault()?.ConfigValue; if (wmsbase == null || QueryStockInfoForRealTrayJZ == null) { @@ -552,7 +565,7 @@ finally { StaticVariable.isLineRun = true; - } + } } /// <summary> @@ -588,11 +601,9 @@ else if (task.Roadway.Contains("JZ")) { // 鏌ヨ鏄惁瀛樺湪闈欑疆鍑哄簱浠诲姟 - var outJZTask = _taskRepository.QueryData(x => x.Roadway == task.Roadway && task.TaskType == (int)TaskOutboundTypeEnum.Outbound && - (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 +616,8 @@ // 鏇存柊浠诲姟鐘舵�� _taskService.UpdateTaskStatusToNext(task); + + WriteInfo(conveyorLine.DeviceName, $"闈欑疆瀛樺湪鍑哄簱浠诲姟{outJZTask.Count()}"); } else { -- Gitblit v1.9.3