From 753361f589444455fe1b20476c658201ccd92c38 Mon Sep 17 00:00:00 2001 From: helongyang <647556386@qq.com> Date: 星期三, 30 七月 2025 09:53:19 +0800 Subject: [PATCH] 更新优化 --- 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_StockService/ProStockInfoService.cs | 47 ++++++++++++++++++++++++++++------------------- 1 files changed, 28 insertions(+), 19 deletions(-) diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockService/ProStockInfoService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockService/ProStockInfoService.cs" index ab0e7bb..9321114 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockService/ProStockInfoService.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockService/ProStockInfoService.cs" @@ -128,7 +128,7 @@ bool isCanLot = string.IsNullOrEmpty(outOrderDetail.PLot); bool isCanDate = string.IsNullOrEmpty(outOrderDetail.DateCode); float stockTotalQuantity = stockInfos.Select(x => x.proStockInfoDetails.Where(x => x.ProductCode == outOrderDetail.PCode && x.ProductVersion.StartsWith(outOrderDetail.PVer.Substring(0, 1)) - && (isCanLot ? isCanLot : x.BagNo == outOrderDetail.PLot) + && (isCanLot ? isCanLot : x.ProductCode == outOrderDetail.PLot) && (isCanDate ? isCanDate : x.DateCode == outOrderDetail.DateCode)) .Sum(v => v.StockPcsQty - v.OutboundQuantity)).Sum(x => x); //stockInfos = stockInfos.OrderBy(x => x.Id).ToList(); @@ -141,13 +141,13 @@ Dt_ProStockInfo stockInfo = stockInfos[index]; float useableStockQuantity = stockInfo.proStockInfoDetails .Where(x => x.ProductCode == outOrderDetail.PCode && x.ProductVersion.StartsWith(outOrderDetail.PVer.Substring(0,1)) - && (isCanLot ? isCanLot : x.BagNo == outOrderDetail.PLot) + && (isCanLot ? isCanLot : x.ProductCode == outOrderDetail.PLot) && (isCanDate ? isCanDate : x.DateCode == outOrderDetail.DateCode)) .Sum(x => x.StockPcsQty - x.OutboundQuantity); if (useableStockQuantity < needQuantity && useableStockQuantity >0) { stockInfo.proStockInfoDetails.Where(x => x.ProductCode == outOrderDetail.PCode && x.ProductVersion.StartsWith(outOrderDetail.PVer.Substring(0, 1)) - && (isCanLot ? isCanLot : x.BagNo == outOrderDetail.PLot) + && (isCanLot ? isCanLot : x.ProductCode == outOrderDetail.PLot) && (isCanDate ? isCanDate : x.DateCode == outOrderDetail.DateCode)).ToList().ForEach(x => x.OutboundQuantity = x.StockPcsQty); needQuantity -= useableStockQuantity; } @@ -158,7 +158,7 @@ //婊¤冻鏉′欢杩涜鍒嗛厤 if ((x.StockPcsQty > x.OutboundQuantity) && x.ProductCode == outOrderDetail.PCode && x.ProductVersion.StartsWith(outOrderDetail.PVer.Substring(0, 1)) - && (isCanLot ? isCanLot : x.BagNo == outOrderDetail.PLot) + && (isCanLot ? isCanLot : x.ProductCode == outOrderDetail.PLot) && (isCanDate ? isCanDate : x.DateCode == outOrderDetail.DateCode)) { if (x.StockPcsQty - x.OutboundQuantity >= needQuantity) @@ -375,11 +375,14 @@ { try { - List<Dt_ProStockInfo> proStockInfo = BaseDal.QueryData(x => x.WarehouseId == warehouseId); - List<int> proStockId = proStockInfo.Select(x => x.Id).ToList(); - List<Dt_ProStockInfoDetail> proStockInfoDetails = BaseDal.Db.Queryable<Dt_ProStockInfoDetail>().Where(x => proStockId.Contains(x.OutDetailId)).ToList(); - List<string> proCode = proStockInfoDetails.Select(x => x.ProductCode).ToList(); - return WebResponseContent.Instance.OK(data: proCode); + //鑾峰彇鎵�鏈夊簱瀛樺瀷鍙� + List<Dt_ProStockInfoDetail> proStockInfoDetails = _stockRepository.ProStockInfoRepository.Db.Queryable<Dt_ProStockInfo, Dt_ProStockInfoDetail>((master, detail) => master.Id == detail.ProStockId) + .Where((master, detail) => master.WarehouseId == warehouseId) + .Select((master, detail) => detail) + .ToList(); + //杩囨护閲嶅 + List<string> proCode = proStockInfoDetails.Select(x => x.ProductCode).Distinct().ToList(); + return WebResponseContent.Instance.OK("鎴愬姛",data: proCode); } catch (Exception ex) { @@ -391,11 +394,14 @@ { try { - List<Dt_ProStockInfo> proStockInfo = BaseDal.QueryData(x => x.WarehouseId == warehouseId); - List<int> proStockId = proStockInfo.Select(x => x.Id).ToList(); - List<Dt_ProStockInfoDetail> proStockInfoDetails = BaseDal.Db.Queryable<Dt_ProStockInfoDetail>().Where(x => scrapProCode.Contains(x.ProductCode) && proStockId.Contains(x.OutDetailId)).ToList(); - List<string> productVersion = proStockInfoDetails.Select(x => x.ProductVersion).ToList(); - return WebResponseContent.Instance.OK(data: productVersion); + //鑾峰彇鎸囧畾浜у搧搴撳瓨鐗堟湰 + List<Dt_ProStockInfoDetail> proStockInfoDetails = _stockRepository.ProStockInfoRepository.Db.Queryable<Dt_ProStockInfo, Dt_ProStockInfoDetail>((master, detail) => master.Id == detail.ProStockId) + .Where((master, detail) => master.WarehouseId == warehouseId && detail.ProductCode== scrapProCode) + .Select((master, detail) => detail) + .ToList(); + //杩囨护閲嶅 + List<string> productVersion = proStockInfoDetails.Select(x => x.ProductVersion).Distinct().ToList(); + return WebResponseContent.Instance.OK("鎴愬姛",data: productVersion); } catch (Exception ex) { @@ -407,11 +413,14 @@ { try { - List<Dt_ProStockInfo> proStockInfo = BaseDal.QueryData(x => x.WarehouseId == warehouseId); - List<int> proStockId = proStockInfo.Select(x => x.Id).ToList(); - List<Dt_ProStockInfoDetail> proStockInfoDetails = BaseDal.Db.Queryable<Dt_ProStockInfoDetail>().Where(x => scrapProCode.Contains(x.ProductCode) && proStockId.Contains(x.OutDetailId)).ToList(); - List<string> lotNumber = proStockInfoDetails.Select(x => x.LotNumber).ToList(); - return WebResponseContent.Instance.OK(data: lotNumber); + //鑾峰彇鎸囧畾浜у搧搴撳瓨鎵规 + List<Dt_ProStockInfoDetail> proStockInfoDetails = _stockRepository.ProStockInfoRepository.Db.Queryable<Dt_ProStockInfo, Dt_ProStockInfoDetail>((master, detail) => master.Id == detail.ProStockId) + .Where((master, detail) => master.WarehouseId == warehouseId && detail.ProductCode == scrapProCode) + .Select((master, detail) => detail) + .ToList(); + //杩囨护閲嶅 + List<string> lotNumber = proStockInfoDetails.Select(x => x.LotNumber).Distinct().ToList(); + return WebResponseContent.Instance.OK("鎴愬姛", data: lotNumber); } catch (Exception ex) { -- Gitblit v1.9.3