From 3a1a5e58e9ac1b4a8449601db8c6608897877746 Mon Sep 17 00:00:00 2001
From: helongyang <647556386@qq.com>
Date: 星期五, 21 三月 2025 11:26:12 +0800
Subject: [PATCH] 界面更新

---
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_StockRepository/ProStockInfoRepository.cs |   46 +++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 45 insertions(+), 1 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 0d83d13..1f4d0ad 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"
@@ -1,9 +1,11 @@
-锘縰sing System;
+锘縰sing Microsoft.IdentityModel.Tokens;
+using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
 using WIDESEA_Core.BaseRepository;
+using WIDESEA_Core.Helper;
 using WIDESEA_IStockRepository;
 using WIDESEA_Model.Models;
 
@@ -14,5 +16,47 @@
         public ProStockInfoRepository(IUnitOfWorkManage unitOfWorkManage) : base(unitOfWorkManage)
         {
         }
+        //鏍规嵁鏄庣粏鏁版嵁鏌ユ壘鍙敤搴撳瓨搴撳瓨
+        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))
+                .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)
+                ))
+            .ToList();
+            
+            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_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))
+                .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)
+                ))
+            .ToList();
+            proStockInfos = proStockInfos.OrderBy(x => x.proStockInfoDetails.FirstOrDefault()?.DateCode).ThenBy(x => x.proStockInfoDetails.Sum(x => x.StockPcsQty)).ToList();
+            return proStockInfos;
+        }
     }
 }

--
Gitblit v1.9.3