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();
}
}
}