From a6e0ea9ce13e791f3edae4edffeb3be3ccb760be Mon Sep 17 00:00:00 2001
From: wangxinhui <wangxinhui@hnkhzn.com>
Date: 星期一, 31 三月 2025 02:14:59 +0800
Subject: [PATCH] 版本更新

---
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_StockRepository/ProStockInfoRepository.cs |   26 ++++++++++++++------------
 1 files changed, 14 insertions(+), 12 deletions(-)

diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockRepository/ProStockInfoRepository.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockRepository/ProStockInfoRepository.cs"
index 1f4d0ad..7dea7fd 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockRepository/ProStockInfoRepository.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockRepository/ProStockInfoRepository.cs"
@@ -4,6 +4,7 @@
 using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
+using WIDESEA_Common.StockEnum;
 using WIDESEA_Core.BaseRepository;
 using WIDESEA_Core.Helper;
 using WIDESEA_IStockRepository;
@@ -20,16 +21,17 @@
         public List<Dt_ProStockInfo> GetProStocks(Dt_ProOutOrderDetail proOutOrderDetail,List<string> locationInfos)
         {
             List<Dt_ProStockInfo>? proStockInfos = null;
-            bool isCanLot= !string.IsNullOrEmpty(proOutOrderDetail.PLot);
-            bool isCanDate = !string.IsNullOrEmpty(proOutOrderDetail.DateCode);
-            proStockInfos = Db.Queryable<Dt_ProStockInfo>().Where(x => locationInfos.Contains(x.LocationCode))
+            bool isCanLot= string.IsNullOrEmpty(proOutOrderDetail.PLot);
+            bool isCanDate = string.IsNullOrEmpty(proOutOrderDetail.DateCode);
+            bool isCanVer = string.IsNullOrEmpty(proOutOrderDetail.OutSpecifyVer);
+            proStockInfos = Db.Queryable<Dt_ProStockInfo>().Where(x => locationInfos.Contains(x.LocationCode) && x.ProStockAttribute == ProStockAttributeEnum.鎴愬搧.ObjToInt())
                 .Includes(x => x.proStockInfoDetails)
                 .Where(x => x.proStockInfoDetails
-                .Any(v => v.SaleOrder==proOutOrderDetail.SaleOrder
-                && v.ProductCode==proOutOrderDetail.PCode
-                && v.ProductVersion==proOutOrderDetail.PVer
-                && (isCanLot? v.LotNumber== proOutOrderDetail.PLot:true)
-                && (isCanDate ? v.DateCode == proOutOrderDetail.DateCode : true)
+                .Any(v => v.SaleOrder == proOutOrderDetail.SaleOrder
+                && v.ProductCode == proOutOrderDetail.PCode
+                && v.ProductVersion == proOutOrderDetail.PVer
+                && (isCanLot ? isCanLot : v.LotNumber == proOutOrderDetail.PLot)
+                && (isCanDate ? isCanDate : v.DateCode == proOutOrderDetail.DateCode)
                 ))
             .ToList();
             
@@ -37,7 +39,7 @@
             return proStockInfos;
         }
         /// <summary>
-        /// 鑾峰彇MES鎻愬簱搴撳瓨
+        /// 鑾峰彇MES鎻愬簱搴撳瓨(灏炬暟浠�)
         /// </summary>
         /// <param name="mesRworkOutboundOrder"></param>
         /// <param name="locationInfos"></param>
@@ -45,14 +47,14 @@
         public List<Dt_ProStockInfo> GetProStocks(Dt_MesRworkOutboundOrder mesRworkOutboundOrder, List<string> locationInfos)
         {
             List<Dt_ProStockInfo>? proStockInfos = null;
-            bool isCanDate = !string.IsNullOrEmpty(mesRworkOutboundOrder.DateCode);
-            proStockInfos = Db.Queryable<Dt_ProStockInfo>().Where(x => locationInfos.Contains(x.LocationCode))
+            bool isCanDate = string.IsNullOrEmpty(mesRworkOutboundOrder.DateCode);
+            proStockInfos = Db.Queryable<Dt_ProStockInfo>().Where(x => locationInfos.Contains(x.LocationCode) && x.ProStockAttribute==ProStockAttributeEnum.灏炬暟.ObjToInt())
                 .Includes(x => x.proStockInfoDetails)
                 .Where(x => x.proStockInfoDetails
                 .Any(v => v.SaleOrder == mesRworkOutboundOrder.SaleOrder
                 && v.ProductCode == mesRworkOutboundOrder.ProductCode
                 && v.ProductVersion == mesRworkOutboundOrder.ProductVersion
-                && (isCanDate ? v.DateCode == mesRworkOutboundOrder.DateCode : true)
+                && (isCanDate ? isCanDate : v.DateCode == mesRworkOutboundOrder.DateCode)
                 ))
             .ToList();
             proStockInfos = proStockInfos.OrderBy(x => x.proStockInfoDetails.FirstOrDefault()?.DateCode).ThenBy(x => x.proStockInfoDetails.Sum(x => x.StockPcsQty)).ToList();

--
Gitblit v1.9.3