diff --git a/src/WMS.Web.Repositories/OutStockRepositories.cs b/src/WMS.Web.Repositories/OutStockRepositories.cs index a31fa873..9cb83af9 100644 --- a/src/WMS.Web.Repositories/OutStockRepositories.cs +++ b/src/WMS.Web.Repositories/OutStockRepositories.cs @@ -106,21 +106,12 @@ namespace WMS.Web.Repositories return (new List(), 0); var orgs = org_result.Data.ToList(); - List cIds = new List(); + //取客户 var customer_result = await _erpService.BillQueryForCustomer(); if (!customer_result.IsSuccess) return (new List(), 0); var customers = customer_result.Data.ToList(); - //物料集合;模糊查询后的物料集合 - if (!string.IsNullOrEmpty(dto.ReceiptCustomer)) - { - var q = dto.ReceiptCustomer.Substring(0, 1); - var h = dto.ReceiptCustomer.Substring(2, dto.ReceiptCustomer.Length - 1); - if (q.Equals("c")) - cIds = customers.Where(w => EF.Functions.Like(w.Name, "%" + dto.ReceiptCustomer + "%")).Select(s => s.Id).ToList(); - else - cIds = orgs.Where(w => EF.Functions.Like(w.Name, "%" + dto.ReceiptCustomer + "%")).Select(s => s.Id).ToList(); - } + #endregion var query = _context.OutStockDetails @@ -129,13 +120,15 @@ namespace WMS.Web.Repositories .OrderByDescending(o => o.order.Id) .Where(adv => 1 == 1); - if (cIds.Count() != 0) + if (!string.IsNullOrEmpty(dto.ReceiptCustomer)) { - var q = dto.ReceiptCustomer.Substring(0, 1); - if (q.Equals("c"))//差销售出库单(客户) - query = query.Where(w => cIds.Contains(w.order.ReceiptCustomerId) && w.order.Type == OutStockType.Sal); + var rec_type = dto.ReceiptCustomer.Substring(0, 1); + var rec_id = Convert.ToInt32(dto.ReceiptCustomer.Substring(2, dto.ReceiptCustomer.Length - 1)); + + if (rec_type.Equals("c"))//差销售出库单(客户) + query = query.Where(w => rec_id == w.order.ReceiptCustomerId && w.order.Type == OutStockType.Sal); else//查其他单据(组织) - query = query.Where(w => cIds.Contains(w.order.ReceiptCustomerId) && w.order.Type != OutStockType.Sal); + query = query.Where(w => rec_id == w.order.ReceiptCustomerId && w.order.Type != OutStockType.Sal); } if (mIds.Count() != 0) query = query.Where(w => mIds.Contains(w.detail.MaterialId)); diff --git a/src/WMS.Web.Repositories/OutStockTaskRepositories.cs b/src/WMS.Web.Repositories/OutStockTaskRepositories.cs index aaec8a5f..a9439152 100644 --- a/src/WMS.Web.Repositories/OutStockTaskRepositories.cs +++ b/src/WMS.Web.Repositories/OutStockTaskRepositories.cs @@ -232,21 +232,12 @@ namespace WMS.Web.Repositories return (new List(), 0); var orgs = org_result.Data.ToList(); - List cIds = new List(); + //取客户 var customer_result = await _erpService.BillQueryForCustomer(); if (!customer_result.IsSuccess) return (new List(), 0); var customers = customer_result.Data.ToList(); - //物料集合;模糊查询后的物料集合 - if (!string.IsNullOrEmpty(dto.ReceiptCustomer)) - { - var q = dto.ReceiptCustomer.Substring(0, 1); - var h = dto.ReceiptCustomer.Substring(2, dto.ReceiptCustomer.Length - 1); - if (q.Equals("c")) - cIds = customers.Where(w => EF.Functions.Like(w.Name, "%" + dto.ReceiptCustomer + "%")).Select(s => s.Id).ToList(); - else - cIds = orgs.Where(w => EF.Functions.Like(w.Name, "%" + dto.ReceiptCustomer + "%")).Select(s => s.Id).ToList(); - } + #endregion var query = _context.OutStockTaskDetails @@ -255,13 +246,15 @@ namespace WMS.Web.Repositories .OrderByDescending(o => o.order.Id) .Where(adv => 1 == 1); - if (cIds.Count() != 0) + if (!string.IsNullOrEmpty(dto.ReceiptCustomer)) { - var q = dto.ReceiptCustomer.Substring(0, 1); - if (q.Equals("c"))//差销售出库单(客户) - query = query.Where(w => cIds.Contains(w.order.ReceiptCustomerId) && w.order.Type == OutStockType.Sal); + var rec_type = dto.ReceiptCustomer.Substring(0, 1); + var rec_id = Convert.ToInt32(dto.ReceiptCustomer.Substring(2, dto.ReceiptCustomer.Length - 1)); + + if (rec_type.Equals("c"))//差销售出库单(客户) + query = query.Where(w => rec_id == w.order.ReceiptCustomerId && w.order.Type == OutStockType.Sal); else//查其他单据(组织) - query = query.Where(w => cIds.Contains(w.order.ReceiptCustomerId) && w.order.Type != OutStockType.Sal); + query = query.Where(w => rec_id == w.order.ReceiptCustomerId && w.order.Type != OutStockType.Sal); } if (mIds.Count() != 0) query = query.Where(w => mIds.Contains(w.detail.MaterialId));