From f5cc13f4223ee6a202e9e7d90c1dd38798f616b5 Mon Sep 17 00:00:00 2001 From: 18942506660 <18942506660@A18942506660> Date: Sat, 28 Oct 2023 14:56:59 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E5=88=97=E8=A1=A8=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Configuration/RepositoryDbContext.cs | 3 +++ src/WMS.Web.Repositories/OutStockRepositories.cs | 14 ++++++++------ .../OutStockTaskRepositories.cs | 12 +++++++----- src/WMS.Web.Repositories/TakeStockRepositories.cs | 14 ++++++++------ 4 files changed, 26 insertions(+), 17 deletions(-) diff --git a/src/WMS.Web.Repositories/Configuration/RepositoryDbContext.cs b/src/WMS.Web.Repositories/Configuration/RepositoryDbContext.cs index 80bb0b4f..90887d58 100644 --- a/src/WMS.Web.Repositories/Configuration/RepositoryDbContext.cs +++ b/src/WMS.Web.Repositories/Configuration/RepositoryDbContext.cs @@ -190,6 +190,9 @@ namespace WMS.Web.Repositories.Configuration public DbSet OutStock { get; set; } public DbSet OutStockTask { get; set; } public DbSet TakeStock { get; set; } + public DbSet OutStockDetails { get; set; } + public DbSet OutStockTaskDetails { get; set; } + public DbSet TakeStockDetails { get; set; } public DbSet Instock { get; set; } public DbSet InStockDetails { get; set; } public DbSet InStockTask { get; set; } diff --git a/src/WMS.Web.Repositories/OutStockRepositories.cs b/src/WMS.Web.Repositories/OutStockRepositories.cs index b0a095fd..2ab1e5c4 100644 --- a/src/WMS.Web.Repositories/OutStockRepositories.cs +++ b/src/WMS.Web.Repositories/OutStockRepositories.cs @@ -69,14 +69,16 @@ namespace WMS.Web.Repositories /// public async Task<(List list, int total)> GetListAsync(OutStockQueryRequest dto) { - var query = _context.OutStock - .OrderByDescending(o => o.Id) + var query = _context.OutStockDetails + .GroupJoin(_context.OutStock, detail => detail.Fid, order => order.Id, (detail, orders) => new { detail, orders }) + .SelectMany(x => x.orders.DefaultIfEmpty(), (p, order) => new { p.detail, order }) + .OrderByDescending(o => o.order.Id) .Where(adv => 1 == 1); if (dto.CreateBeginDate != null) - query = query.Where(w => w.CreateTime >= dto.CreateBeginDate); + query = query.Where(w => w.order.CreateTime >= dto.CreateBeginDate); if (dto.CreateEndDate != null) - query = query.Where(w => w.CreateTime <= dto.CreateEndDate); + query = query.Where(w => w.order.CreateTime <= dto.CreateEndDate); //组装 int total = await query.CountAsync(); var list = await query.Select(s => new OutStockQueryInfoResponse() @@ -86,8 +88,8 @@ namespace WMS.Web.Repositories Status = "", Type = "", Creator = "", - CreateTime=s.CreateTime.DateToStringSeconds(), - SuccessSync = s.SuccessSync, + CreateTime=s.order.CreateTime.DateToStringSeconds(), + SuccessSync = s.order.SuccessSync, Stock = "", SourceBillNo="", SaleBillNo = "", diff --git a/src/WMS.Web.Repositories/OutStockTaskRepositories.cs b/src/WMS.Web.Repositories/OutStockTaskRepositories.cs index ee70a539..92a11dc2 100644 --- a/src/WMS.Web.Repositories/OutStockTaskRepositories.cs +++ b/src/WMS.Web.Repositories/OutStockTaskRepositories.cs @@ -153,14 +153,16 @@ namespace WMS.Web.Repositories /// public async Task<(List list, int total)> GetListAsync(OutStockTaskQueryRequest dto) { - var query = _context.OutStockTask - .OrderByDescending(o => o.Id) + var query = _context.OutStockTaskDetails + .GroupJoin(_context.OutStockTask, detail => detail.Fid, order => order.Id, (detail, orders) => new { detail, orders }) + .SelectMany(x => x.orders.DefaultIfEmpty(), (p, order) => new { p.detail, order }) + .OrderByDescending(o => o.order.Id) .Where(adv => 1 == 1); if (dto.CreateBeginDate != null) - query = query.Where(w => w.OperateTime >= dto.CreateBeginDate); + query = query.Where(w => w.order.OperateTime >= dto.CreateBeginDate); if (dto.CreateEndDate != null) - query = query.Where(w => w.OperateTime <= dto.CreateEndDate); + query = query.Where(w => w.order.OperateTime <= dto.CreateEndDate); //组装 int total = await query.CountAsync(); var list = await query.Select(s => new OutStockTaskQueryInfoResponse() @@ -169,7 +171,7 @@ namespace WMS.Web.Repositories Id = 0, Status = "", Type = "", - CreateTime = s.OperateTime.DateToStringSeconds(), + CreateTime = s.order.OperateTime.DateToStringSeconds(), Stock = "", SourceBillNo = "", SaleBillNo = "", diff --git a/src/WMS.Web.Repositories/TakeStockRepositories.cs b/src/WMS.Web.Repositories/TakeStockRepositories.cs index 1dad1101..4a709cb9 100644 --- a/src/WMS.Web.Repositories/TakeStockRepositories.cs +++ b/src/WMS.Web.Repositories/TakeStockRepositories.cs @@ -68,14 +68,16 @@ namespace WMS.Web.Repositories /// public async Task<(List list, int total)> GetListAsync(TakeStockQueryRequest dto) { - var query = _context.TakeStock - .OrderByDescending(o => o.Id) + var query = _context.TakeStockDetails + .GroupJoin(_context.TakeStock, detail => detail.Fid, order => order.Id, (detail, orders) => new { detail, orders }) + .SelectMany(x => x.orders.DefaultIfEmpty(), (p, order) => new { p.detail, order }) + .OrderByDescending(o => o.order.Id) .Where(adv => 1 == 1); if (dto.DateBeginDate != null) - query = query.Where(w => w.Date >= dto.DateBeginDate); + query = query.Where(w => w.order.Date >= dto.DateBeginDate); if (dto.DateEndDate != null) - query = query.Where(w => w.Date <= dto.DateEndDate); + query = query.Where(w => w.order.Date <= dto.DateEndDate); //组装 int total = await query.CountAsync(); var list = await query.Select(s => new TakeStockQueryInfoResponse() @@ -92,8 +94,8 @@ namespace WMS.Web.Repositories ResultType="", Remark="", Creator = "", - Date = s.Date.DateToStringSeconds(), - SuccessSync=s.SuccessSync + Date = s.order.Date.DateToStringSeconds(), + SuccessSync=s.order.SuccessSync #endregion }).Skip((dto.PageNo - 1) * dto.PageSize).Take(dto.PageSize).ToListAsync();