From 8ae1a147aefadbb255edde088e7c12535c5f02d4 Mon Sep 17 00:00:00 2001
From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com>
Date: 星期三, 08 十月 2025 20:35:51 +0800
Subject: [PATCH] 完善输送线和堆垛机任务处理逻辑在CommonConveyorLine_NewCW.cs`中添加版本注释和设备属性定义,增强设备连接状态检查与命令发送逻辑。 修改 CommonConveyorLine_GWJob.cs`的任务查询逻辑,确保在特定条件下不下发新任务。在CommonConveyorLine_NewCWJob.cs中实现请求入库和出库的处理逻辑,确保任务状态更新。在 RequestInbound.cs中添加出库任务和新任务的处理逻辑,增强异常处理。 在CommonStackerCrane_NewCWJob.cs中实现堆垛机任务完成事件的处理,确保状态更新和前端通知。新增设备型号修改相关常量和 DTO 类,更新服务接口和实现逻辑,确保设备型号修改请求的正确处理。修改 Dt_TaskService.cs中的任务处理逻辑,确保出库任务的库存判断和状态更新。

---
 Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/RequestInTaskAsync.cs |   77 +++++++++++++++++---------------------
 1 files changed, 35 insertions(+), 42 deletions(-)

diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/RequestInTaskAsync.cs b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/RequestInTaskAsync.cs
index 67f5f29..240cfe1 100644
--- a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/RequestInTaskAsync.cs
+++ b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/RequestInTaskAsync.cs
@@ -3,6 +3,8 @@
 using WIDESEA_Core.Const;
 using WIDESEA_DTO.MOM;
 using WIDESEA_DTO.WMS;
+using WIDESEA_StorageTaskRepository;
+
 //using WIDESEAWCS_Model.Models;
 
 namespace WIDESEA_StorageTaskServices;
@@ -42,28 +44,17 @@
         WebResponseContent content = new WebResponseContent();
         try
         {
-
             // 鍒ゆ柇闇�涓嶉渶瑕佸幓鍖呰锛屼笉闇�瑕佸氨鍘诲父娓╀笁
-            var stationManagers = _stationManagerRepository.QueryData(x => x.stationPLC == "1018" && x.stationArea == "Cache" && x.productLine == input.ProductionLine);
+            //var stationManagers = _stationManagerRepository.QueryData(x => x.stationPLC == "1018" && x.stationArea == "Cache" && x.productLine == input.ProductionLine);
 
-            var STATION = _stationManagerRepository.QueryFirst(x => x.stationChildCode == input.Position);
+            //var STATION = _stationManagerRepository.QueryFirst(x => x.stationChildCode == input.Position);
 
-            //var station = stationManagers.Select(x => x.stationChildCode).ToList();
-
-            //// 鑾峰彇WCSip鍦板潃鐩稿叧閰嶇疆
+            // 鑾峰彇WCSip鍦板潃鐩稿叧閰嶇疆
             var wcsIpAddrss = GetWCSIpAddress();
-            //if (wcsIpAddrss == null)
-            //{
-            //    throw new InvalidOperationException("WCS IP 鏈厤缃�");
-            //}
-
-            //var abc = HttpHelper.PostAsync(wcsIpAddrss, station.ToJsonString()).Result;
-            //content = JsonConvert.DeserializeObject<WebResponseContent>(abc);
-            //var num = content.Data.ObjToInt();
 
             //濡傛灉褰撳墠搴撳唴瀛樺湪姣斿綋鍓嶆椂闂寸殑瀵瑰簲浜х嚎鐨勬枡 鍒欏叆搴撹嚦甯告俯3
-            DtStockInfo stockInfo = _stockInfoRepository.QueryFirst(x => x.AreaCode == "CWSC3" && x.IsFull == true && x.ProductionLine == STATION.productLine && x.OutboundTime < DateTime.Now);
-            if (stockInfo != null)
+            //DtStockInfo stockInfo = _stockInfoRepository.QueryFirst(x => x.AreaCode == "CWSC3" && x.IsFull == true && x.ProductionLine == STATION.productLine && x.OutboundTime < DateTime.Now);
+            //if (stockInfo != null)
             {
                 var config = _configService.GetByConfigKey("SYS_InStacker", "CW3InStacker");
                 var strings = config.ConfigValue.Split(',').ToList();
@@ -78,32 +69,34 @@
 
             // TODO 鍒ゆ柇鍦ㄩ�旀暟閲�
 
-            var needBarcode = await SqlSugarHelper.DbWCS.Queryable<dt_needBarcode>().FirstAsync(x => x.productLine == STATION.productLine);
-            var needCount = needBarcode.inLineNum;
-            //var count = BaseDal.QueryData(x => x.TargetAddress == stationManagers[0].Roadway).Count;
-            if (needCount < 2)
-            {
-                // 閫佽嚦鍖呰
-                List<string> strings = stationManagers.Where(x => x.stationType == 0 && x.productLine == input.ProductionLine).Select(x => x.Roadway).ToList();
-                var x = await SqlSugarHelper.DbWCS.Updateable<dt_needBarcode>()
-                    .SetColumns(x => x.inLineNum == x.inLineNum + 1)
-                    .Where(x => x.id == needBarcode.id).ExecuteCommandHasChangeAsync();
-                ConsoleHelper.WriteSuccessLine($"鍦ㄩ�旀暟閲忔坊鍔爗(x ? "鎴愬姛" : "澶辫触")}鏁伴噺+1,褰撳墠宸ュ簭{boxing.ProcessCode},浜х嚎{input.ProductionLine}");
-                LogFactory.GetLog("OCVB").InfoFormat(true, $"鍦ㄩ�旀暟閲忔坊鍔爗(x ? "鎴愬姛" : "澶辫触")}鏁伴噺+1,褰撳墠宸ュ簭{boxing.ProcessCode},浜х嚎{input.ProductionLine}", "鏃犲弬鏁�");
-                return await CreateNewTask(input, input.ProductionLine, boxing.ProcessCode, strings, 3);
-            }
-            else
-            {
-                var config = _configService.GetByConfigKey("SYS_InStacker", "CW3InStacker");
-                var strings = config.ConfigValue.Split(',').ToList();
-                // 鍏ュ簱閫佽嚦甯告俯3
-                var resultContent = await CreateNewTask(input, input.ProductionLine, boxing.ProcessCode, strings);
-                if (resultContent.Status)
-                {
-                    await _boxingInfoRepository.AddDataNavAsync(boxing);
-                }
-                return resultContent;
-            }
+            #region OCV甯告俯3鐩存帴鍘诲寘瑁呰矾寰勪笉閫氭閫昏緫涓嶉渶瑕�
+            //var needBarcode = await SqlSugarHelper.DbWCS.Queryable<dt_needBarcode>().FirstAsync(x => x.productLine == STATION.productLine && x.fromArea == "CW");
+            //var needCount =  BaseDal.QueryData(x => x.TargetAddress == needBarcode.toArea).Count();
+            //if (needCount < needBarcode.cacheNum)
+            //{
+            //    // 閫佽嚦鍖呰
+            //    List<string> strings = stationManagers.Where(x => x.stationType == 0 && x.productLine == input.ProductionLine).Select(x => x.Roadway).ToList();
+            //    var x = await SqlSugarHelper.DbWCS.Updateable<dt_needBarcode>()
+            //        .SetColumns(x => x.inLineNum == x.inLineNum + 1)
+            //        .Where(x => x.id == needBarcode.id).ExecuteCommandHasChangeAsync();
+            //    ConsoleHelper.WriteSuccessLine($"鍦ㄩ�旀暟閲忔坊鍔爗(x ? "鎴愬姛" : "澶辫触")}鏁伴噺+1,褰撳墠宸ュ簭{boxing.ProcessCode},浜х嚎{input.ProductionLine}");
+            //    LogFactory.GetLog("OCVB").InfoFormat(true, $"鍦ㄩ�旀暟閲忔坊鍔爗(x ? "鎴愬姛" : "澶辫触")}鏁伴噺+1,褰撳墠宸ュ簭{boxing.ProcessCode},浜х嚎{input.ProductionLine}", "鏃犲弬鏁�");
+            //    return await CreateNewTask(input, input.ProductionLine, boxing.ProcessCode, strings, 3);
+            //}
+            //else
+            //{
+            //    var config = _configService.GetByConfigKey("SYS_InStacker", "CW3InStacker");
+            //    var strings = config.ConfigValue.Split(',').ToList();
+            //    // 鍏ュ簱閫佽嚦甯告俯3
+            //    var resultContent = await CreateNewTask(input, input.ProductionLine, boxing.ProcessCode, strings);
+            //    if (resultContent.Status)
+            //    {
+            //        await _boxingInfoRepository.AddDataNavAsync(boxing);
+            //    }
+            //    return resultContent;
+            //}
+
+            #endregion
         }
         catch (Exception ex)
         {

--
Gitblit v1.9.3