From 19f73f3d2370c821355d0cc0fa5b0f7cdcb898e8 Mon Sep 17 00:00:00 2001
From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com>
Date: 星期一, 23 六月 2025 08:48:32 +0800
Subject: [PATCH] 增强任务处理和更新版本信息在 `TaskController.cs` 中添加了对 `WIDESEAWCS_ITaskInfoRepository` 和 `WIDESEAWCS_ITaskInfoService` 的引用,以提升任务信息处理能力。在 `CommonConveyorLineJob.cs` 中引入 `platformNotusable` 列表,确保查询平台信息时的可用性检查。在 `RequestInbound.cs` 中添加对 并优化 `outJZTask` 的查询条件。修改 `CommonStackerCraneJob.cs` 中静置出库任务的判断逻辑,确保任务执行前的适当检查。

---
 CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/Task/RequestInbound.cs |   44 ++++++++++++++++----------------------------
 1 files changed, 16 insertions(+), 28 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..3f735b3 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();
             //}
@@ -400,7 +403,7 @@
             try
             {
                 StaticVariable.isLineRun = false;
-
+                
                 if (StaticVariable.isStackerRun)
                 {
                     ExecuteConveyorLineTask(conveyorLine, command, ProtocalDetailValue, childDeviceCode);
@@ -427,22 +430,6 @@
                     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;
-                if (wmsbase == null || address == null)
-                {
-                    throw new InvalidOperationException("WMS IP 鏈厤缃�");
-                }
-                var wmsIpAddrss = wmsbase + address;
-                var x = await HttpHelper.PostAsync(wmsIpAddrss, new { RoadwayNo = "JZSC" }.ToJsonString());
-                var LocationFree = JsonConvert.DeserializeObject<WebResponseContent>(x);
-                if (!LocationFree.Status)
-                {
-                    ConsoleHelper.WriteErrorLine(LocationFree.Message);
-                    return;
-                }
-
                 if (resultTrayCellsStatus.SerialNos.Count == 0)
                 {
                     var Traycontent = await _taskService.RequestWMSTask(command.Barcode, childDeviceCode);
@@ -458,13 +445,14 @@
                 }
                 else
                 {
-
-                    var QueryStockInfoForRealTrayJZ = configz.Where(x => x.ConfigKey == SysConfigKeyConst.QueryStockInfoForRealTrayJZAsync).FirstOrDefault()?.ConfigValue;
-                    if (wmsbase == null || QueryStockInfoForRealTrayJZ == null)
+                    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.QueryStockInfoForRealTrayJZAsync).FirstOrDefault()?.ConfigValue;
+                    if (wmsbase == null || address == null)
                     {
                         throw new InvalidOperationException("WMS IP 鏈厤缃�");
                     }
-                    wmsIpAddrss = wmsbase + QueryStockInfoForRealTrayJZ;
+                    var wmsIpAddrss = wmsbase + address;
                     var result = await HttpHelper.PostAsync(wmsIpAddrss, new { ProductLine = resultTrayCellsStatus.ProductionLine, PalletCode = command.Barcode }.ToJsonString());
                     var StockInfocontent = JsonConvert.DeserializeObject<WebResponseContent>(result);
                     if (StockInfocontent.Status)
@@ -552,7 +540,7 @@
             finally
             {
                 StaticVariable.isLineRun = true;
-            }
+            }       
         }
 
         /// <summary>
@@ -588,11 +576,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 +591,8 @@
 
                     // 鏇存柊浠诲姟鐘舵��
                     _taskService.UpdateTaskStatusToNext(task);
+
+                    WriteInfo(conveyorLine.DeviceName, $"闈欑疆瀛樺湪鍑哄簱浠诲姟{outJZTask.Count()}");
                 }
                 else
                 {

--
Gitblit v1.9.3