From a9a3f943efb083de8ed88b293897886b3ef612a2 Mon Sep 17 00:00:00 2001
From: helongyang <647556386@qq.com>
Date: 星期一, 11 八月 2025 17:37:09 +0800
Subject: [PATCH] 功能增添优化
---
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_StockService/ProStockInfoService.cs | 64 ++++++++++++++++++++++++++++++--
1 files changed, 60 insertions(+), 4 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 72285eb..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)
@@ -371,5 +371,61 @@
// }
// return (deleteStockDetails, updateStockDetails);
//}
+ public WebResponseContent GetProCodeByWarehouse(int warehouseId)
+ {
+ try
+ {
+ //鑾峰彇鎵�鏈夊簱瀛樺瀷鍙�
+ 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)
+ {
+ return WebResponseContent.Instance.Error(ex.Message);
+ }
+ }
+
+ public WebResponseContent GetProVersionByCode(string scrapProCode, int warehouseId)
+ {
+ try
+ {
+ //鑾峰彇鎸囧畾浜у搧搴撳瓨鐗堟湰
+ 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)
+ {
+ return WebResponseContent.Instance.Error(ex.Message);
+ }
+ }
+
+ public WebResponseContent GetProLotNoByCode(string scrapProCode, int warehouseId)
+ {
+ try
+ {
+ //鑾峰彇鎸囧畾浜у搧搴撳瓨鎵规
+ 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)
+ {
+ return WebResponseContent.Instance.Error(ex.Message);
+ }
+ }
}
}
--
Gitblit v1.9.3