From 9a886d711d8b21adc335fdf8c39350584c7ba6fd Mon Sep 17 00:00:00 2001
From: wangxinhui <wangxinhui@hnkhzn.com>
Date: 星期二, 14 十月 2025 02:12:14 +0800
Subject: [PATCH] 更新代码,取消MES出库单号同步标识,平库转立库功能,寄售周期判断取消,精品标识等

---
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_StockRepository/ProStockInfoRepository.cs |   35 +++++++++++++++++++++++++++--------
 1 files changed, 27 insertions(+), 8 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 81470c6..12f8f19 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"
@@ -22,11 +22,10 @@
             _basicRepository = basicRepository;
         }
         //鏍规嵁鏄庣粏鏁版嵁鏌ユ壘鍙敤搴撳瓨搴撳瓨
-        public List<Dt_ProStockInfo> GetProStocks(Dt_ProOutOrderDetail proOutOrderDetail,List<string> locationInfos)
+        public List<Dt_ProStockInfo> GetProStocks(Dt_ProOutOrderDetail proOutOrderDetail,List<string> locationInfos, bool isFineWorks = false)
         {
             List<Dt_ProStockInfo>? proStockInfos = null;
             bool isCanLot= string.IsNullOrEmpty(proOutOrderDetail.PLot);
-            bool isCanDate = string.IsNullOrEmpty(proOutOrderDetail.DateCode);
             bool isCanVer = string.IsNullOrEmpty(proOutOrderDetail.OutSpecifyVer);
             ////鍒ゆ柇瀹㈡埛鍑哄叆瑙勫垯
             //Dt_CustomerInfo customerInfo = _basicRepository.CustomerInfoRepository.QueryFirst(x=>x.Code== proOutOrderDetail.Customer);
@@ -55,9 +54,9 @@
                 .Where(x => x.proStockInfoDetails
                 .Any(v =>
                     v.ProductCode == proOutOrderDetail.PCode
-                    && v.ProductVersion == proOutOrderDetail.PVer
-                    && (isCanLot ? isCanLot : v.BagNo == proOutOrderDetail.PLot)
-                    && (isCanDate ? isCanDate : v.DateCode == proOutOrderDetail.DateCode)
+                    && v.ProductVersion.StartsWith(proOutOrderDetail.PVer.Substring(0,1)) 
+                    && (isCanLot ? isCanLot : v.ProductCode == proOutOrderDetail.PLot)
+                    && (isFineWorks ? !isCanLot : v.IsFineWorks == 1)
                 ))
                 .ToList();
             //}
@@ -74,11 +73,10 @@
         {
             List<Dt_ProStockInfo>? proStockInfos = null;
             bool isCanDate = string.IsNullOrEmpty(mesRworkOutboundOrder.DateCode);
-            proStockInfos = Db.Queryable<Dt_ProStockInfo>().Where(x => locationInfos.Contains(x.LocationCode) && x.ProStockAttribute==ProStockAttributeEnum.灏炬暟.ObjToInt())
+            proStockInfos = Db.Queryable<Dt_ProStockInfo>().Where(x => locationInfos.Contains(x.LocationCode))
                 .Includes(x => x.proStockInfoDetails)
                 .Where(x => x.proStockInfoDetails
-                .Any(v => v.SaleOrder == mesRworkOutboundOrder.SaleOrder
-                && v.ProductCode == mesRworkOutboundOrder.ProductCode
+                .Any(v => v.ProductCode == mesRworkOutboundOrder.ProductCode
                 && v.ProductVersion == mesRworkOutboundOrder.ProductVersion
                 && (isCanDate ? isCanDate : v.DateCode == mesRworkOutboundOrder.DateCode)
                 ))
@@ -86,5 +84,26 @@
             proStockInfos = proStockInfos.OrderBy(x => x.proStockInfoDetails.FirstOrDefault()?.DateCode).ThenBy(x => x.proStockInfoDetails.Sum(x => x.StockPcsQty)).ToList();
             return proStockInfos;
         }
+        /// <summary>
+        /// 鑾峰彇MES鎻愬簱搴撳瓨(灏炬暟浠�)
+        /// </summary>
+        /// <param name="mesRworkOutboundOrder"></param>
+        /// <param name="locationInfos"></param>
+        /// <returns></returns>
+        public List<Dt_ProStockInfo> GetProStocks(Dt_ErpProScrapSheetDetail erpProScrapSheetDetail, List<string> locationInfos)
+        {
+            List<Dt_ProStockInfo>? proStockInfos = null;
+            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.LotNumber == erpProScrapSheetDetail.ScrapProLotNo
+                && v.ProductCode == erpProScrapSheetDetail.ScrapProCode
+                && v.ProductVersion == erpProScrapSheetDetail.ScrapProVersion
+                ))
+            .ToList();
+            proStockInfos = proStockInfos.OrderBy(x => x.proStockInfoDetails.FirstOrDefault()?.DateCode).ThenBy(x => x.proStockInfoDetails.Sum(x => x.StockPcsQty)).ToList();
+            return proStockInfos;
+        }
     }
 }

--
Gitblit v1.9.3