From 97073e9e6d03114221436ee0aa1e143d6e2c4a09 Mon Sep 17 00:00:00 2001
From: wankeda <Administrator@DESKTOP-HAU3ST3>
Date: 星期一, 04 八月 2025 13:07:39 +0800
Subject: [PATCH] 出入库代码逻辑优化

---
 WMS/WIDESEA_WMSServer/WIDESEA_StockRepository/StockInfoRepository.cs |   28 +++++++++++++++++++++++++++-
 1 files changed, 27 insertions(+), 1 deletions(-)

diff --git a/WMS/WIDESEA_WMSServer/WIDESEA_StockRepository/StockInfoRepository.cs b/WMS/WIDESEA_WMSServer/WIDESEA_StockRepository/StockInfoRepository.cs
index 8acf8a4..e22363d 100644
--- a/WMS/WIDESEA_WMSServer/WIDESEA_StockRepository/StockInfoRepository.cs
+++ b/WMS/WIDESEA_WMSServer/WIDESEA_StockRepository/StockInfoRepository.cs
@@ -75,6 +75,32 @@
             //return sugarQueryable.InnerJoin(sugarQueryable1, (a, b) => a.LocationCode == b.LocationCode).Select((a, b) => b).OrderBy(a => a.CreateDate).Includes(a => a.Details).ToList();
         }
 
+        public List<Dt_StockInfo> GetStockInfos(string materielCode, string lotNo, List<string> locationCodes)
+        {
+            //List<Dt_StockInfo> stockInfos = null;
+            if (!string.IsNullOrEmpty(lotNo))
+            {
+                return Db.Queryable<Dt_StockInfo>().Where(x => locationCodes.Contains(x.LocationCode)).Includes(x => x.Details).Where(x => x.Details.Any(v => v.MaterielCode == materielCode && v.BatchNo == lotNo)).ToList();
+            }
+            else
+            {
+                return Db.Queryable<Dt_StockInfo>().Where(x => locationCodes.Contains(x.LocationCode)).Includes(x => x.Details).Where(x => x.Details.Any(v => v.MaterielCode == materielCode)).ToList();
+            }
+
+            //return stockInfos;
+            //ISugarQueryable<Dt_LocationInfo> sugarQueryable = Db.Queryable<Dt_LocationInfo>().Where(x => locationCodes.Contains(x.LocationCode));
+            //ISugarQueryable<Dt_StockInfo> sugarQueryable1 = Db.Queryable<Dt_StockInfo>().Includes(x => x.Details).Where(x => x.Details.Any(v => v.MaterielCode == materielCode));
+            //return sugarQueryable.InnerJoin(sugarQueryable1, (a, b) => a.LocationCode == b.LocationCode).Select((a, b) => b).OrderBy(a => a.CreateDate).Includes(a => a.Details).ToList();
+        }
+        /// <summary>
+        /// 鏍规嵁璐т綅缂栧彿鑾峰彇缁勭洏搴撳瓨淇℃伅
+        /// </summary>
+        /// <param name="locationCodes"></param>
+        /// <returns></returns>
+        public List<Dt_StockInfo> LocationCodesGetStockInfos(List<string> locationCodes, StockStatusEmun statusEmun = StockStatusEmun.宸插叆搴�)
+        {
+            return Db.Queryable<Dt_StockInfo>().Where(x => locationCodes.Contains(x.LocationCode) /*&& x.StockStatus == statusEmun.ObjToInt()*/).Includes(x => x.Details).ToList();
+        }
         public List<Dt_StockInfo> GetStockInfosByIds(List<int> ids)
         {
             return Db.Queryable<Dt_StockInfo>().Where(x => ids.Contains(x.Id)).Includes(x => x.Details).ToList();
@@ -86,7 +112,7 @@
         }
         public List<Dt_StockInfo> GetStockInfosByPalletCode(List<string> palletCodes)
         {
-            return Db.Queryable<Dt_StockInfo>().Where(x => palletCodes.Contains(x.BatchNo)).Includes(x => x.Details).ToList();
+            return Db.Queryable<Dt_StockInfo>().Where(x => palletCodes.Contains(x.PalletCode)).Includes(x => x.Details).ToList();
         }
         public List<Dt_StockInfo> GetStockInfosExclude(string materielCode, List<string> palletCodes)
         {

--
Gitblit v1.9.3