From abff6261e5e74ff16a844f4739f84d49b6133000 Mon Sep 17 00:00:00 2001
From: xxyy <cathay_xy@163.com>
Date: 星期六, 15 二月 2025 13:01:02 +0800
Subject: [PATCH] 新增分容空框出库功能及代码结构优化

---
 Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/RequestInTaskAsync.cs |   19 ++++++++++++-------
 1 files changed, 12 insertions(+), 7 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 ccb8f83..c3879dd 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,7 @@
 using WIDESEA_Core.Const;
 using WIDESEA_DTO.MOM;
 using WIDESEA_DTO.WMS;
+//using WIDESEAWCS_Model.Models;
 
 namespace WIDESEA_StorageTaskServices;
 
@@ -42,6 +43,8 @@
         // 鍒ゆ柇闇�涓嶉渶瑕佸幓鍖呰锛屼笉闇�瑕佸氨鍘诲父娓╀笁
         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 = stationManagers.Select(x => x.stationChildCode).ToList();
 
         //// 鑾峰彇WCSip鍦板潃鐩稿叧閰嶇疆
@@ -56,13 +59,13 @@
         //var num = content.Data.ObjToInt();
 
         //濡傛灉褰撳墠搴撳唴瀛樺湪姣斿綋鍓嶆椂闂寸殑瀵瑰簲浜х嚎鐨勬枡 鍒欏叆搴撹嚦甯告俯3
-        DtStockInfo stockInfo = _stockInfoRepository.QueryFirst(x => x.AreaCode == "CWSC3" && x.IsFull == true && x.ProductionLine == input.ProductionLine && x.OutboundTime < DateTime.Now);
+        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();
             // 鍏ュ簱閫佽嚦甯告俯3
-            var resultContent = await CreateNewTask(input, input.ProductionLine, strings);
+            var resultContent = await CreateNewTask(input, input.ProductionLine, boxing.ProcessCode, strings);
             if (resultContent.Status)
             {
                 await _boxingInfoRepository.AddDataNavAsync(boxing);
@@ -72,21 +75,23 @@
 
         // TODO 鍒ゆ柇鍦ㄩ�旀暟閲�
 
-        var needBarcode  = await SqlSugarHelper.DbWCS.Queryable<dt_needBarcode>().FirstAsync(x => x.productLine == input.ProductionLine);
+        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).Select(x => x.Roadway).ToList();
-            return await CreateNewTask(input, input.ProductionLine, strings, 3);
+            var x = await SqlSugarHelper.DbWCS.Updateable<dt_needBarcode>().SetColumns(x => x.inLineNum == x.inLineNum + 1).ExecuteCommandHasChangeAsync();
+            ConsoleHelper.WriteSuccessLine($"鍦ㄩ�旀暟閲忔坊鍔爗(x ? "鎴愬姛" : "澶辫触")}鏁伴噺+1");
+            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, strings);
+            var resultContent = await CreateNewTask(input, input.ProductionLine, boxing.ProcessCode, strings);
             if (resultContent.Status)
             {
                 await _boxingInfoRepository.AddDataNavAsync(boxing);
@@ -142,7 +147,7 @@
         }
         List<string> strings = stationManagers.Roadway.Split(',').ToList();
 
-        var resultContent = await CreateNewTask(input, result.ProductionLine, strings);
+        var resultContent = await CreateNewTask(input, result.ProductionLine, boxing.ProcessCode, strings);
         if (resultContent.Status)
         {
             var isBox = await _boxingInfoRepository.AddDataNavAsync(boxing);
@@ -204,7 +209,7 @@
         //    NGStation = stationManagers.stationNGChildCode.Split(',').ToList();
         //}
         List<string> NGStation = stationManagers.stationNGChildCode.Split(',').ToList();
-        content = await CreateNewTask(input, input.ProductionLine, NGStation, 2);
+        content = await CreateNewTask(input, input.ProductionLine, "", NGStation, 2);
         return content.Error("瀛樺湪寮傚父鐢佃姱");
     }
 

--
Gitblit v1.9.3