diff --git a/src/WMS.Web.Domain/Services/TakeStockService.cs b/src/WMS.Web.Domain/Services/TakeStockService.cs index ca8a7ce0..709b71cc 100644 --- a/src/WMS.Web.Domain/Services/TakeStockService.cs +++ b/src/WMS.Web.Domain/Services/TakeStockService.cs @@ -85,9 +85,11 @@ namespace WMS.Web.Domain.Services TakeStock takeStock = new TakeStock(); takeStock.Create(loginInfo.UserInfo.StaffId, TakeStockType.Profit); takeStock.Details = _mapper.Map>(dto); + var subIds = takeStock.Details.Select(s => s.SubStockId).ToList(); + var subStocks = await _transactionRepositories.GetSubUcStockAsync(subIds, loginInfo.UserInfo.CompanyId); foreach (var d in takeStock.Details) { - var subStock = await _transactionRepositories.GetSubUcStockAsync(d.SubStockId, loginInfo.UserInfo.CompanyId); + var subStock = subStocks.FirstOrDefault(f => f.Id == d.SubStockId); d.OrgCode = subStock?.ErpOrgCode; d.StockCode = subStock?.StockCode; if ((d.StockCode.Equals("HD") || d.StockCode.Equals("GD")) && string.IsNullOrEmpty(d.Erp_SubStockCode)) @@ -103,9 +105,11 @@ namespace WMS.Web.Domain.Services TakeStock takeStock = new TakeStock(); takeStock.Create(loginInfo.UserInfo.StaffId, TakeStockType.Loss); takeStock.Details = _mapper.Map>(dto); + var subIds = takeStock.Details.Select(s => s.SubStockId).ToList(); + var subStocks = await _transactionRepositories.GetSubUcStockAsync(subIds, loginInfo.UserInfo.CompanyId); foreach (var d in takeStock.Details) { - var subStock = await _transactionRepositories.GetSubUcStockAsync(d.SubStockId, loginInfo.UserInfo.CompanyId); + var subStock = subStocks.FirstOrDefault(f => f.Id == d.SubStockId); d.OrgCode = subStock?.ErpOrgCode; d.StockCode = subStock?.StockCode; if ((d.StockCode.Equals("HD") || d.StockCode.Equals("GD")) && string.IsNullOrEmpty(d.Erp_SubStockCode))