From 667d8bdefa2d674443b56baf30591202718b631f Mon Sep 17 00:00:00 2001
From: pan <antony1029@163.com>
Date: 星期四, 20 十一月 2025 15:54:07 +0800
Subject: [PATCH] Merge branch 'master' of http://115.159.85.185:8098/r/ZhongRui/ALDbanyunxiangmu

---
 项目代码/WMS无仓储版/WIDESEA_WMSServer/WIDESEA_InboundService/InboundOrderService.cs |   37 +++++++++++++++++++++++++++++++++++++
 1 files changed, 37 insertions(+), 0 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_InboundService/InboundOrderService.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_InboundService/InboundOrderService.cs"
index 7426329..c89c12a 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_InboundService/InboundOrderService.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_InboundService/InboundOrderService.cs"
@@ -631,5 +631,42 @@
             }
         }
 
+        public WebResponseContent UndoPalletGroup(string palletCode)
+        {
+            if (string.IsNullOrWhiteSpace(palletCode))
+            {
+                return WebResponseContent.Instance.Error("鎵樼洏鍙蜂笉鑳戒负绌�");
+            }
+           var stock= _stockRepository.Db.Queryable<Dt_StockInfo>().Includes(o=>o.Details).First(x => x.PalletCode == palletCode && x.StockStatus==3);
+            if (stock == null)
+            {
+                return WebResponseContent.Instance.Error($"鏈壘鍒版墭鐩樺彿{palletCode}瀵瑰簲鐨勫簱瀛樿褰�");
+            }
+            //  鑾峰彇搴撳瓨璇︽儏鍏宠仈鐨勬墍鏈夊叆搴撳崟鍙�
+            var relatedOrderNos = stock.Details.Select(d => d.OrderNo).First();
+            //  鏌ヨ鎵�鏈夊叧鑱旂殑鍏ュ簱鍗曪紙鍚鎯咃級
+            var inboundOrders = _inboundOrderRepository.Db.Queryable<Dt_InboundOrder>()
+                .Includes(x => x.Details) 
+                .Where(x => relatedOrderNos==x.InboundOrderNo)
+                .First();
+
+            var barcodes = stock.Details.Select(d => d.Barcode).ToList();
+
+            
+                // 鍖归厤搴撳瓨鏉$爜瀵瑰簲鐨勫叆搴撳崟鏄庣粏
+                var matchedInboundDetails = inboundOrders.Details
+                    ?.Where(d => barcodes.Contains(d.Barcode))
+                    .ToList();
+            foreach (var detail in matchedInboundDetails)
+            {
+                detail.ReceiptQuantity = 0;
+                detail.OrderDetailStatus = 0;
+                _inboundOrderDetailRepository.UpdateData(detail);
+            }
+            _stockDetailRepository.DeleteData(stock.Details);
+            _stockRepository.DeleteData(stock);
+
+            return WebResponseContent.Instance.OK();
+        }
     }
 }

--
Gitblit v1.9.3