From 5f0b86328b2678a326166e84b461e9ede3dc4715 Mon Sep 17 00:00:00 2001
From: heshaofeng <heshaofeng@hnkhzn.com>
Date: 星期一, 01 十二月 2025 21:03:46 +0800
Subject: [PATCH] 提交

---
 项目代码/WMS无仓储版/WIDESEA_WMSServer/WIDESEA_StockService/StockInfoService.cs |   33 ++++++++++++++++++++++-----------
 1 files changed, 22 insertions(+), 11 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_StockService/StockInfoService.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_StockService/StockInfoService.cs"
index 81e4e71..3142415 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_StockService/StockInfoService.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_StockService/StockInfoService.cs"
@@ -283,6 +283,10 @@
         public List<StockSelectViewDTO> GetSelectViewDTOs(string orderNo,string materielCode)
         {
             var outboundOrder = SqlSugarHelper.DbWMS.Queryable<Dt_OutboundOrder>().Where(x => x.UpperOrderNo == orderNo).First();
+            if(outboundOrder == null)
+            {
+                throw new Exception($"鏈壘鍒板崟鎹紪鍙蜂负{orderNo}鐨勫嚭搴撳崟淇℃伅");
+            }
             return GetStockSelectViews(outboundOrder.Id, materielCode);
         }
 
@@ -315,22 +319,29 @@
                     .Includes(x => x.Details);
 
                 // 鎵ц鏌ヨ骞舵寜鍏堣繘鍏堝嚭鎺掑簭
-                var stocks = stockQuery.ToList()
-                    .Where(x => x.Details.Any(d =>
-                        d.MaterielCode == materielCode && 
-                        string.IsNullOrEmpty(orderDetail.BatchNo)?true: d.BatchNo == orderDetail.BatchNo&&
-                        string.IsNullOrEmpty(orderDetail.BatchNo)?true:d.SupplyCode == orderDetail.SupplyCode &&
-                        d.StockQuantity > d.OutboundQuantity
-                    ))
-                    .OrderBy(x => x.CreateDate)
-                    .ToList();
+                var Qstocks = stockQuery.Where(x => x.Details.Any(d => d.MaterielCode == materielCode &&d.StockQuantity > d.OutboundQuantity));
+
+                if (!string.IsNullOrEmpty(orderDetail.BatchNo))
+                {
+
+                    Qstocks = stockQuery.Where(x => x.Details.Any(d => d.BatchNo == orderDetail.BatchNo));
+
+                }
+                if (!string.IsNullOrEmpty(orderDetail.SupplyCode))
+                {
+
+                    Qstocks = stockQuery.Where(x => x.Details.Any(d => d.SupplyCode == orderDetail.SupplyCode));
+
+                }
+
+              var stocks=  Qstocks.OrderBy(x => x.CreateDate) .ToList();
 
                 foreach (var stock in stocks)
                 {
                     var relevantDetails = stock.Details
                         .Where(d => d.MaterielCode == materielCode &&
                                    string.IsNullOrEmpty(orderDetail.BatchNo) ? true : d.BatchNo == orderDetail.BatchNo &&
-                                   string.IsNullOrEmpty(orderDetail.BatchNo) ? true : d.SupplyCode == orderDetail.SupplyCode &&
+                                   string.IsNullOrEmpty(orderDetail.SupplyCode) ? true : d.SupplyCode == orderDetail.SupplyCode &&
                                    d.StockQuantity > d.OutboundQuantity)
                         .ToList();
 
@@ -342,7 +353,7 @@
                         result.Add(new StockSelectViewDTO
                         {
                             LocationCode = stock.LocationCode,
-                            MaterielCode = materielCode,
+                            MaterielCode = firstDetail.  MaterielCode,
                             MaterielName = firstDetail.MaterielName,
                             BatchNo = orderDetail.BatchNo,
                             SupplyCode = orderDetail.SupplyCode,

--
Gitblit v1.9.3