From cd44f1223ccf40a2b6f0788dbcd24ff7cd8f0eef Mon Sep 17 00:00:00 2001
From: heshaofeng <heshaofeng@hnkhzn.com>
Date: 星期四, 11 十二月 2025 15:22:41 +0800
Subject: [PATCH] Merge branch 'master' of http://115.159.85.185:8098/r/ZhongRui/ALDbanyunxiangmu

---
 项目代码/WMS无仓储版/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundBatchPickingService.cs |   53 +++++++++++++++++++++++------------------------------
 1 files changed, 23 insertions(+), 30 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundBatchPickingService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundBatchPickingService.cs"
index a28397a..a1e6320 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundBatchPickingService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundBatchPickingService.cs"
@@ -339,17 +339,7 @@
 
                 _unitOfWorkManage.CommitTran();
 
-                return WebResponseContent.Instance.OK("鍒嗘嫞鎴愬姛", new
-                {
-                    PickedQuantity = actualPickedQty,
-                    Barcode = barcode,
-                    MaterialCode = lockInfo.MaterielCode,
-                    AutoSplitted = autoSplitResult != null,
-                    RemainingStock = stockDetail.StockQuantity,
-                    CurrentOutbound = stockDetail.OutboundQuantity,
-                    // 濡傛灉鏄嚜鍔ㄦ媶鍖咃紝杩斿洖鐩稿叧淇℃伅
-                    UnallocatedCreated = autoSplitResult != null ? "鏄�" : "鍚�"
-                });
+                return WebResponseContent.Instance.OK("鍒嗘嫞鎴愬姛", autoSplitResult);
             }
             catch (Exception ex)
             {
@@ -953,7 +943,7 @@
 
 
         /// <summary>
-        /// 鎵ц鎵嬪姩鎷嗗寘閫昏緫 - 淇鐗堟湰
+        /// 鎵ц鎵嬪姩鎷嗗寘閫昏緫 
         /// </summary>
         private async Task<List<SplitResult>> ExecuteManualSplitLogic(Dt_OutStockLockInfo lockInfo, Dt_StockInfoDetail stockDetail,
             decimal splitQuantity, string palletCode)
@@ -1011,8 +1001,8 @@
                     MaterielCode = stockDetail.MaterielCode,
                     OrderNo = stockDetail.OrderNo,
                     BatchNo = stockDetail.BatchNo,
-                    StockQuantity = newStockQuantity,  // 淇锛氫娇鐢ㄦ纭殑鎷嗗寘鏁伴噺
-                    OutboundQuantity = 0,  // 鏂版潯鐮佸垵濮嬪嚭搴撴暟閲忎负0
+                    StockQuantity = newStockQuantity,   
+                    OutboundQuantity = 0,   
                     Barcode = newBarcode,
                     Status = (int)StockStatusEmun.鍑哄簱閿佸畾,
                     SupplyCode = stockDetail.SupplyCode,
@@ -1021,6 +1011,8 @@
                     BarcodeUnit = stockDetail.BarcodeUnit,
                     BusinessType = stockDetail.BusinessType,
                     InboundOrderRowNo = stockDetail.InboundOrderRowNo,
+                    FactoryArea = stockDetail.FactoryArea,
+                    WarehouseCode = stockDetail.WarehouseCode,
                 };
 
                 await _stockInfoDetailService.Db.Insertable(newStockDetail).ExecuteCommandAsync();
@@ -2893,7 +2885,7 @@
       
 
         /// <summary>
-        /// 鍙栬蛋绌虹 - 淇鐗堬紝姝g‘澶勭悊鏈垎閰嶉攣瀹氳褰�
+        /// 鍙栬蛋绌虹 -姝g‘澶勭悊鏈垎閰嶉攣瀹氳褰�
         /// </summary>
         public async Task<WebResponseContent> RemoveEmptyPallet(string orderNo, string palletCode)
         {
@@ -3166,17 +3158,7 @@
             _logger.LogInformation($"闇�瑕佽嚜鍔ㄦ媶鍖� - 搴撳瓨: {stockDetail.StockQuantity}, 鍒嗛厤: {lockInfo.AssignQuantity}, 鎷嗗寘鏁伴噺: {splitQuantity}");
 
             // 鎵ц鑷姩鎷嗗寘
-            var splitResult = await ExecuteAutoSplitLogic(lockInfo, stockDetail, splitQuantity, palletCode);
-
-            // 灏嗘媶鍖呮暟閲忎紶閫掔粰璋冪敤鏂癸紝鐢ㄤ簬楠岃瘉
-            if (splitResult != null && splitResult.Any())
-            {
-                // 鍦ㄨ繑鍥炵粨鏋滀腑鎼哄甫鎷嗗寘鏁伴噺淇℃伅
-                foreach (var result in splitResult)
-                {
-                    result.quantityTotal = splitQuantity.ToString("F2");
-                }
-            }
+            var splitResult = await ExecuteAutoSplitLogic(lockInfo, stockDetail, splitQuantity,  palletCode);
 
             return splitResult;
         }
@@ -3186,7 +3168,7 @@
         /// 鍘熷垯锛氬彧鍒嗙鐗╃悊搴撳瓨锛屼笉鏀瑰彉鍘熻鍗曠殑浠讳綍鍒嗛厤鍜屽嚭搴撴暟閲�
         /// </summary>
         private async Task<List<SplitResult>> ExecuteAutoSplitLogic(Dt_OutStockLockInfo lockInfo, Dt_StockInfoDetail stockDetail,
-            decimal splitQuantity, string palletCode)
+            decimal splitQuantity,string palletCode)
         {
             _logger.LogInformation($"寮�濮嬫墽琛岃嚜鍔ㄦ媶鍖呴�昏緫 - 鍘熸潯鐮�: {stockDetail.Barcode}, 鎷嗗寘鏁伴噺: {splitQuantity}");
 
@@ -3228,6 +3210,8 @@
                     BarcodeUnit = stockDetail.BarcodeUnit,
                     BusinessType = stockDetail.BusinessType,
                     InboundOrderRowNo = stockDetail.InboundOrderRowNo,
+                    FactoryArea=stockDetail.FactoryArea,
+                    WarehouseCode = stockDetail.WarehouseCode,  
                 };
 
                 await _stockInfoDetailService.Db.Insertable(newStockDetail).ExecuteCommandAsync();
@@ -3275,7 +3259,7 @@
                 await RecordSplitHistory(lockInfo, stockDetail, splitQuantity, newBarcode, true, originalStockQty);
 
                 // 鍒涘缓鎷嗗寘缁撴灉鍒楄〃
-                var splitResults = CreateSplitResults(lockInfo, splitQuantity, lockInfo.AssignQuantity, newBarcode, stockDetail.Barcode);
+                var splitResults = CreateSplitResults(lockInfo, splitQuantity, stockDetail.StockQuantity, newBarcode, stockDetail.Barcode);
 
                 _logger.LogInformation($"鑷姩鎷嗗寘閫昏緫鎵ц瀹屾垚 - 鍒涘缓浜嗘湭鍒嗛厤鐨勫簱瀛樺拰閿佸畾璁板綍");
 
@@ -3725,20 +3709,29 @@
         {
             var splitHistory = new Dt_SplitPackageRecord
             {
-                OrderNo = lockInfo.OrderNo,
+                FactoryArea = lockInfo.FactoryArea,
+                TaskNum = lockInfo.TaskNum,
                 OutStockLockInfoId = lockInfo.Id,
                 StockId = stockDetail.StockId,
                 Operator = App.User.UserName,
+                IsReverted = false,
                 OriginalBarcode = stockDetail.Barcode,
                 NewBarcode = newBarcode,
                 SplitQty = splitQty,
+               // RemainQuantity = remainQty,
+                MaterielCode = lockInfo.MaterielCode,
                 SplitTime = DateTime.Now,
+                OrderNo = lockInfo.OrderNo,
+                PalletCode = lockInfo.PalletCode,
+             
+
+              
                 Status = (int)SplitPackageStatusEnum.宸叉媶鍖�,
                 IsAutoSplit = isAutoSplit,
                 // SplitType = isAutoSplit ? "鑷姩鎷嗗寘" : "鎵嬪姩鎷嗗寘"
                 OriginalStockQuantity = originalStockQuantity ?? stockDetail.StockQuantity,
                 //RemainingStockQuantity = stockDetail.StockQuantity - splitQty
-                TaskNum = lockInfo.TaskNum
+               
             };
 
             await _splitPackageService.Db.Insertable(splitHistory).ExecuteCommandAsync();

--
Gitblit v1.9.3