diff --git a/src/WMS.Web.Domain/Infrastructure/IInStockRepositories.cs b/src/WMS.Web.Domain/Infrastructure/IInStockRepositories.cs index ce1cbb53..2751c5f9 100644 --- a/src/WMS.Web.Domain/Infrastructure/IInStockRepositories.cs +++ b/src/WMS.Web.Domain/Infrastructure/IInStockRepositories.cs @@ -124,7 +124,7 @@ namespace WMS.Web.Domain.Infrastructure /// Task UpdateRange(List entitys, bool isTransaction = true); /// - /// 获取-已入库的箱 + /// 获取-非采购上将已入库的箱 /// /// /// diff --git a/src/WMS.Web.Repositories/InStockRepositories.cs b/src/WMS.Web.Repositories/InStockRepositories.cs index 96fd2861..87368d92 100644 --- a/src/WMS.Web.Repositories/InStockRepositories.cs +++ b/src/WMS.Web.Repositories/InStockRepositories.cs @@ -488,13 +488,16 @@ namespace WMS.Web.Repositories } } /// - /// 获取已入库的箱 + /// 获取非采购上将已入库的箱 /// /// /// public async Task> GetInstockBoxIds(List boxIds) { - return await _context.InStockDetails.Where(x => boxIds.Contains(x.BoxId)).Select(s => s.BoxId).ToListAsync(); + return await _context.InStockDetails + .GroupJoin(_context.Instock, detail => detail.Fid, order => order.Id, (detail, orders) => new { detail, orders }) + .SelectMany(x => x.orders.DefaultIfEmpty(), (p, order) => new { p.detail, order }) + .Where(x => boxIds.Contains(x.detail.BoxId) && x.order.Type != InstockType.Purchase).Select(s => s.detail.BoxId).ToListAsync(); } } }