From 2cbc496e1f7ce22181c87d8627046e6df6eb550f Mon Sep 17 00:00:00 2001 From: tongfei <244188119@qq.com> Date: Wed, 15 Nov 2023 15:02:19 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AF=BC=E5=87=BA=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/InStockController.cs | 41 +++++++- .../Controllers/InStockTaskController.cs | 41 +++++++- .../Controllers/InventoryController.cs | 93 +++++++++++++++++-- src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml | 35 +++++++ src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml | 15 +++ .../IBoxInventoryRepositories.cs | 2 +- .../Infrastructure/IInStockRepositories.cs | 2 +- .../IInStockTaskRepositories.cs | 2 +- .../IInventoryDetailsRepositories.cs | 2 +- .../IInventoryInOutDetailsRepositories.cs | 2 +- .../Values/FileDownLoadOrderType.cs | 15 +++ .../BoxInventoryRepositories.cs | 24 +++-- .../AppBuilderExtensions.cs | 8 ++ .../InStockRepositories.cs | 28 ++++-- .../InStockTaskRepositories.cs | 32 ++++--- .../InventoryDetailsRepositories.cs | 25 +++-- .../InventoryInOutDetailsRepositories.cs | 24 +++-- 17 files changed, 327 insertions(+), 64 deletions(-) diff --git a/src/WMS.Web.Api/Controllers/InStockController.cs b/src/WMS.Web.Api/Controllers/InStockController.cs index 42e4c905..1e8e3df9 100644 --- a/src/WMS.Web.Api/Controllers/InStockController.cs +++ b/src/WMS.Web.Api/Controllers/InStockController.cs @@ -1,16 +1,20 @@ using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; +using Microsoft.Extensions.Options; using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; +using WMS.Web.Core; using WMS.Web.Core.Dto; using WMS.Web.Core.Dto.InStock; using WMS.Web.Core.Dto.InStockTask; +using WMS.Web.Core.Help; using WMS.Web.Core.Internal.Results; using WMS.Web.Domain.Infrastructure; using WMS.Web.Domain.IService; using WMS.Web.Domain.IService.Public; +using WMS.Web.Domain.Options; using WMS.Web.Domain.Values; namespace WMS.Web.Api.Controllers @@ -22,13 +26,21 @@ namespace WMS.Web.Api.Controllers [ApiController] public class InStockController : ControllerBase { + private readonly QiniuOptions _option; private readonly ILoginService _loginService; private readonly IInStockService _inStockService; private readonly IInStockRepositories _inStockRepositories; - public InStockController(ILoginService loginService, IInStockRepositories inStockRepositories, IInStockService inStockService) + private readonly IExportExcelService _exportExcelService; + public InStockController(IOptions option, + ILoginService loginService, + IInStockRepositories inStockRepositories, + IInStockService inStockService, + IExportExcelService exportExcelService) { + _option = option?.Value; this._loginService = loginService; this._inStockService = inStockService; + this._exportExcelService = exportExcelService; this._inStockRepositories = inStockRepositories; } @@ -44,8 +56,31 @@ namespace WMS.Web.Api.Controllers var loginInfo = _loginService.GetLoginInfo(this.HttpContext.Request.Headers["Authorization"]); if (loginInfo == null || loginInfo.UserInfo == null) return ResultPagedList.ReFailure(ResultCodes.Token_Invalid_Error); - var result= await _inStockRepositories.GetPagedList(dto); - return result; + var (list, count) = await _inStockRepositories.GetPagedList(dto); + return ResultPagedList.ReSuccess(list, count); + + } + /// + /// 导出 + /// + /// + /// + [HttpPost] + [Route("Export")] + public Task> Export([FromBody] InStockQueryRequest dto) + { + var loginInfo = _loginService.GetLoginInfo(this.HttpContext.Request.Headers["Authorization"]); + if (loginInfo == null) + return Task.FromResult(Result.ReFailure(ResultCodes.Token_Invalid_Error)); + string fileName = FileDownLoadOrderType.InStock.GetRemark() + loginInfo.UserInfo.CompanyId + DateTime.Now.DateTimeToLongTimeStamp() + ".xlsx"; + string res = _option.Url + fileName; + + Task.Run(async () => + { + await _exportExcelService.ExportList(dto, fileName, loginInfo.UserInfo.StaffId, loginInfo.UserInfo.CompanyId, FileDownLoadOrderType.OutStock); + }); + + return Task.FromResult(Result.ReSuccess(res)); } /// diff --git a/src/WMS.Web.Api/Controllers/InStockTaskController.cs b/src/WMS.Web.Api/Controllers/InStockTaskController.cs index fa09bc45..be94417c 100644 --- a/src/WMS.Web.Api/Controllers/InStockTaskController.cs +++ b/src/WMS.Web.Api/Controllers/InStockTaskController.cs @@ -1,15 +1,19 @@ using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; +using Microsoft.Extensions.Options; using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; +using WMS.Web.Core; using WMS.Web.Core.Dto; using WMS.Web.Core.Dto.InStockTask; +using WMS.Web.Core.Help; using WMS.Web.Core.Internal.Results; using WMS.Web.Domain.Infrastructure; using WMS.Web.Domain.IService; using WMS.Web.Domain.IService.Public; +using WMS.Web.Domain.Options; using WMS.Web.Domain.Values; namespace WMS.Web.Api.Controllers @@ -21,15 +25,22 @@ namespace WMS.Web.Api.Controllers [ApiController] public class InStockTaskController : ControllerBase { + private readonly QiniuOptions _option; + private readonly IExportExcelService _exportExcelService; private readonly ILoginService _loginService; private readonly IInStockService _inStockService; private readonly IInStockTaskService _inStockTaskService; private readonly IInStockTaskRepositories _inStockTaskRepositories; - public InStockTaskController(ILoginService loginService, + public InStockTaskController( + IOptions option, + IExportExcelService exportExcelService, + ILoginService loginService, IInStockTaskService inStockTaskService, IInStockTaskRepositories inStockTaskRepositories, IInStockService inStockService) { + this._option = option?.Value; + this._exportExcelService = exportExcelService; this._loginService = loginService; this._inStockService = inStockService; this._inStockTaskService = inStockTaskService; @@ -48,10 +59,34 @@ namespace WMS.Web.Api.Controllers var loginInfo = _loginService.GetLoginInfo(this.HttpContext.Request.Headers["Authorization"]); if (loginInfo == null || loginInfo.UserInfo == null) return ResultPagedList.ReFailure(ResultCodes.Token_Invalid_Error); - var result = await _inStockTaskRepositories.GetPagedList(dto); - return result; + var (list,total) = await _inStockTaskRepositories.GetPagedList(dto); + return ResultPagedList.ReSuccess(list, total); } + /// + /// 导出 + /// + /// + /// + [HttpPost] + [Route("Export")] + public Task> Export([FromBody] InStockTaskQueryRequest dto) + { + var loginInfo = _loginService.GetLoginInfo(this.HttpContext.Request.Headers["Authorization"]); + if (loginInfo == null) + return Task.FromResult(Result.ReFailure(ResultCodes.Token_Invalid_Error)); + string fileName = FileDownLoadOrderType.InStockTask.GetRemark() + loginInfo.UserInfo.CompanyId + DateTime.Now.DateTimeToLongTimeStamp() + ".xlsx"; + string res = _option.Url + fileName; + + Task.Run(async () => + { + await _exportExcelService.ExportList(dto, fileName, loginInfo.UserInfo.StaffId, loginInfo.UserInfo.CompanyId, FileDownLoadOrderType.OutStock); + }); + + return Task.FromResult(Result.ReSuccess(res)); + } + + /// /// 刷新 /// diff --git a/src/WMS.Web.Api/Controllers/InventoryController.cs b/src/WMS.Web.Api/Controllers/InventoryController.cs index 046b3251..a5b70db7 100644 --- a/src/WMS.Web.Api/Controllers/InventoryController.cs +++ b/src/WMS.Web.Api/Controllers/InventoryController.cs @@ -1,13 +1,18 @@ using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; +using Microsoft.Extensions.Options; using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; +using WMS.Web.Core; using WMS.Web.Core.Dto.Inventory; +using WMS.Web.Core.Help; using WMS.Web.Core.Internal.Results; using WMS.Web.Domain.Infrastructure; +using WMS.Web.Domain.IService; using WMS.Web.Domain.IService.Public; +using WMS.Web.Domain.Options; using WMS.Web.Domain.Values; namespace WMS.Web.Api.Controllers @@ -19,16 +24,22 @@ namespace WMS.Web.Api.Controllers [ApiController] public class InventoryController : ControllerBase { + private readonly QiniuOptions _option; + private readonly IExportExcelService _exportExcelService; private readonly ILoginService _loginService; private readonly IInventoryDetailsRepositories _inventoryDetailsRepositories; private readonly IInventoryInOutDetailsRepositories _inventoryInOutDetailsRepositories; private readonly IBoxInventoryRepositories _boxInventoryRepositories; public InventoryController(ILoginService loginService, + IOptions option, + IExportExcelService exportExcelService, IInventoryDetailsRepositories inventoryDetailsRepositories, IInventoryInOutDetailsRepositories inventoryInOutDetailsRepositories, IBoxInventoryRepositories boxInventoryRepositories) { + _option = option?.Value; + this._exportExcelService = exportExcelService; this._loginService = loginService; this._inventoryDetailsRepositories = inventoryDetailsRepositories; this._inventoryInOutDetailsRepositories = inventoryInOutDetailsRepositories; @@ -47,8 +58,31 @@ namespace WMS.Web.Api.Controllers var loginInfo = _loginService.GetLoginInfo(this.HttpContext.Request.Headers["Authorization"]); if (loginInfo == null || loginInfo.UserInfo == null) return ResultPagedList.ReFailure(ResultCodes.Token_Invalid_Error); - var result = await _inventoryDetailsRepositories.GetPagedList(dto); - return result; + var (list, count) = await _inventoryDetailsRepositories.GetPagedList(dto); + return ResultPagedList.ReSuccess(list, count); + } + + /// + /// 导出-即时库存明细 + /// + /// + /// + [HttpPost] + [Route("ExportInventory")] + public Task> ExportInventory([FromBody] InventoryDetailsQueryRequest dto) + { + var loginInfo = _loginService.GetLoginInfo(this.HttpContext.Request.Headers["Authorization"]); + if (loginInfo == null) + return Task.FromResult(Result.ReFailure(ResultCodes.Token_Invalid_Error)); + string fileName = FileDownLoadOrderType.InventoryDetails.GetRemark() + loginInfo.UserInfo.CompanyId + DateTime.Now.DateTimeToLongTimeStamp() + ".xlsx"; + string res = _option.Url + fileName; + + Task.Run(async () => + { + await _exportExcelService.ExportList(dto, fileName, loginInfo.UserInfo.StaffId, loginInfo.UserInfo.CompanyId, FileDownLoadOrderType.OutStock); + }); + + return Task.FromResult(Result.ReSuccess(res)); } /// @@ -63,8 +97,31 @@ namespace WMS.Web.Api.Controllers var loginInfo = _loginService.GetLoginInfo(this.HttpContext.Request.Headers["Authorization"]); if (loginInfo == null || loginInfo.UserInfo == null) return ResultPagedList.ReFailure(ResultCodes.Token_Invalid_Error); - var result = await _inventoryInOutDetailsRepositories.GetPagedList(dto); - return result; + var (list, count) = await _inventoryInOutDetailsRepositories.GetPagedList(dto); + return ResultPagedList.ReSuccess(list, count); + } + + /// + /// 导出-物料收发明细 + /// + /// + /// + [HttpPost] + [Route("ExportInOrOut")] + public Task> ExportInOrOut([FromBody] InventoryInOutDetailsQueryRequest dto) + { + var loginInfo = _loginService.GetLoginInfo(this.HttpContext.Request.Headers["Authorization"]); + if (loginInfo == null) + return Task.FromResult(Result.ReFailure(ResultCodes.Token_Invalid_Error)); + string fileName = FileDownLoadOrderType.InOrOutInventoryDetails.GetRemark() + loginInfo.UserInfo.CompanyId + DateTime.Now.DateTimeToLongTimeStamp() + ".xlsx"; + string res = _option.Url + fileName; + + Task.Run(async () => + { + await _exportExcelService.ExportList(dto, fileName, loginInfo.UserInfo.StaffId, loginInfo.UserInfo.CompanyId, FileDownLoadOrderType.OutStock); + }); + + return Task.FromResult(Result.ReSuccess(res)); } /// @@ -79,10 +136,34 @@ namespace WMS.Web.Api.Controllers var loginInfo = _loginService.GetLoginInfo(this.HttpContext.Request.Headers["Authorization"]); if (loginInfo == null || loginInfo.UserInfo == null) return ResultPagedList.ReFailure(ResultCodes.Token_Invalid_Error); - var result = await _boxInventoryRepositories.GetPagedList(dto); - return result; + var (list, count) = await _boxInventoryRepositories.GetPagedList(dto); + return ResultPagedList.ReSuccess(list, count); } + /// + /// 导出-箱库存明细 + /// + /// + /// + [HttpPost] + [Route("ExportBox")] + public Task> ExportBox([FromBody] BoxInventoryQueryRequest dto) + { + var loginInfo = _loginService.GetLoginInfo(this.HttpContext.Request.Headers["Authorization"]); + if (loginInfo == null) + return Task.FromResult(Result.ReFailure(ResultCodes.Token_Invalid_Error)); + string fileName = FileDownLoadOrderType.BoxInventoryDetails.GetRemark() + loginInfo.UserInfo.CompanyId + DateTime.Now.DateTimeToLongTimeStamp() + ".xlsx"; + string res = _option.Url + fileName; + + Task.Run(async () => + { + await _exportExcelService.ExportList(dto, fileName, loginInfo.UserInfo.StaffId, loginInfo.UserInfo.CompanyId, FileDownLoadOrderType.OutStock); + }); + + return Task.FromResult(Result.ReSuccess(res)); + } + + /// /// 获取箱库存明细-根据箱号-pad /// diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml index 340125e2..a397e162 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml @@ -86,6 +86,13 @@ + + + 导出 + + + + 上架-采购订单 @@ -126,6 +133,13 @@ + + + 导出 + + + + 刷新 @@ -187,6 +201,13 @@ + + + 导出-即时库存明细 + + + + 列表-物料收发明细 @@ -194,6 +215,13 @@ + + + 导出-物料收发明细 + + + + 列表-箱库存明细 @@ -201,6 +229,13 @@ + + + 导出-箱库存明细 + + + + 获取箱库存明细-根据箱号-pad diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml index 941ad972..bea084b6 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml @@ -4110,6 +4110,21 @@ 盘点 + + + 即时库存明细 + + + + + 物料收发明细 + + + + + 箱库存明细 + + 入库状态 diff --git a/src/WMS.Web.Domain/Infrastructure/IBoxInventoryRepositories.cs b/src/WMS.Web.Domain/Infrastructure/IBoxInventoryRepositories.cs index 05be0b92..adcbc80f 100644 --- a/src/WMS.Web.Domain/Infrastructure/IBoxInventoryRepositories.cs +++ b/src/WMS.Web.Domain/Infrastructure/IBoxInventoryRepositories.cs @@ -18,7 +18,7 @@ namespace WMS.Web.Domain.Infrastructure /// /// /// - Task> GetPagedList(BoxInventoryQueryRequest dto); + Task<(List list,int total)> GetPagedList(BoxInventoryQueryRequest dto); /// /// 明细集合-根据箱号 diff --git a/src/WMS.Web.Domain/Infrastructure/IInStockRepositories.cs b/src/WMS.Web.Domain/Infrastructure/IInStockRepositories.cs index 355383c2..1d66d23f 100644 --- a/src/WMS.Web.Domain/Infrastructure/IInStockRepositories.cs +++ b/src/WMS.Web.Domain/Infrastructure/IInStockRepositories.cs @@ -18,7 +18,7 @@ namespace WMS.Web.Domain.Infrastructure /// /// /// - Task> GetPagedList(InStockQueryRequest dto); + Task<(List list,int total)> GetPagedList(InStockQueryRequest dto); /// /// 添加 diff --git a/src/WMS.Web.Domain/Infrastructure/IInStockTaskRepositories.cs b/src/WMS.Web.Domain/Infrastructure/IInStockTaskRepositories.cs index 56c65f21..df20cb10 100644 --- a/src/WMS.Web.Domain/Infrastructure/IInStockTaskRepositories.cs +++ b/src/WMS.Web.Domain/Infrastructure/IInStockTaskRepositories.cs @@ -20,7 +20,7 @@ namespace WMS.Web.Domain.Infrastructure /// /// /// - Task> GetPagedList(InStockTaskQueryRequest dto); + Task<(List list, int total)> GetPagedList(InStockTaskQueryRequest dto); /// /// 详情 diff --git a/src/WMS.Web.Domain/Infrastructure/IInventoryDetailsRepositories.cs b/src/WMS.Web.Domain/Infrastructure/IInventoryDetailsRepositories.cs index dc411c00..27d6c30c 100644 --- a/src/WMS.Web.Domain/Infrastructure/IInventoryDetailsRepositories.cs +++ b/src/WMS.Web.Domain/Infrastructure/IInventoryDetailsRepositories.cs @@ -18,7 +18,7 @@ namespace WMS.Web.Domain.Infrastructure /// /// /// - Task> GetPagedList(InventoryDetailsQueryRequest dto); + Task<(List list,int total)> GetPagedList(InventoryDetailsQueryRequest dto); /// /// 批量添加 diff --git a/src/WMS.Web.Domain/Infrastructure/IInventoryInOutDetailsRepositories.cs b/src/WMS.Web.Domain/Infrastructure/IInventoryInOutDetailsRepositories.cs index e10eac5c..39a0a321 100644 --- a/src/WMS.Web.Domain/Infrastructure/IInventoryInOutDetailsRepositories.cs +++ b/src/WMS.Web.Domain/Infrastructure/IInventoryInOutDetailsRepositories.cs @@ -18,7 +18,7 @@ namespace WMS.Web.Domain.Infrastructure /// /// /// - Task> GetPagedList(InventoryInOutDetailsQueryRequest dto); + Task<(List list,int total)> GetPagedList(InventoryInOutDetailsQueryRequest dto); /// /// 批量添加 diff --git a/src/WMS.Web.Domain/Values/FileDownLoadOrderType.cs b/src/WMS.Web.Domain/Values/FileDownLoadOrderType.cs index 793da2cf..7cd176e2 100644 --- a/src/WMS.Web.Domain/Values/FileDownLoadOrderType.cs +++ b/src/WMS.Web.Domain/Values/FileDownLoadOrderType.cs @@ -45,5 +45,20 @@ namespace WMS.Web.Domain.Values /// [EnumRemark("盘点单")] TakeStock = 7, + /// + /// 即时库存明细 + /// + [EnumRemark("即时库存明细")] + InventoryDetails = 8, + /// + /// 物料收发明细 + /// + [EnumRemark("物料收发明细")] + InOrOutInventoryDetails = 9, + /// + /// 箱库存明细 + /// + [EnumRemark("箱库存明细")] + BoxInventoryDetails = 10, } } diff --git a/src/WMS.Web.Repositories/BoxInventoryRepositories.cs b/src/WMS.Web.Repositories/BoxInventoryRepositories.cs index 84958856..8b5e882e 100644 --- a/src/WMS.Web.Repositories/BoxInventoryRepositories.cs +++ b/src/WMS.Web.Repositories/BoxInventoryRepositories.cs @@ -19,7 +19,7 @@ namespace WMS.Web.Repositories /// /// 箱库存-仓储 /// - public class BoxInventoryRepositories: IBoxInventoryRepositories + public class BoxInventoryRepositories: IAllFielRepositories, IBoxInventoryRepositories { private readonly IMapper _mapper; private readonly IServiceProvider _serviceProvider; @@ -52,12 +52,12 @@ namespace WMS.Web.Repositories /// /// /// - public async Task> GetPagedList(BoxInventoryQueryRequest dto) + public async Task<(List list, int total)> GetPagedList(BoxInventoryQueryRequest dto) { //1.获取物料集合和组织集合 var materials_result = await _erpService.BillQueryForMaterial(); if (!materials_result.IsSuccess) - return ResultPagedList.ReFailure(materials_result); + return (new List(), 0); var materials = materials_result.Data.ToList(); //物料集合;模糊查询后的物料集合 @@ -80,10 +80,7 @@ namespace WMS.Web.Repositories if (dto.SubStockId.HasValue) query = query.Where(w => w.order.SubStockId == dto.SubStockId.Value); - var response = new ResultPagedList(); int total = await query.CountAsync(); - response.TotalCount = total; - var list = await query.Select(s => new BoxInventoryQueryResponse() { Id = s.order.Id, @@ -96,9 +93,7 @@ namespace WMS.Web.Repositories SubStock = _singleDataService.GetSingleData(SingleAction.SubStocks, _loginRepositories.CompanyId, s.order.SubStockId), Qty = s.detail.Qty, }).OrderByDescending(x => x.Id).Skip((dto.PageNo - 1) * dto.PageSize).Take(dto.PageSize).ToListAsync(); - - response.Data = list; - return response; + return (list,total); } /// @@ -236,5 +231,16 @@ namespace WMS.Web.Repositories } return true; } + + /// + /// 导出 + /// + /// + /// + /// + public async Task<(object obj, int total)> GetListField(BoxInventoryQueryRequest dto, int companyId) + { + return await GetPagedList(dto); + } } } diff --git a/src/WMS.Web.Repositories/DependencyInjection/AppBuilderExtensions.cs b/src/WMS.Web.Repositories/DependencyInjection/AppBuilderExtensions.cs index df72f90d..2067becb 100644 --- a/src/WMS.Web.Repositories/DependencyInjection/AppBuilderExtensions.cs +++ b/src/WMS.Web.Repositories/DependencyInjection/AppBuilderExtensions.cs @@ -2,7 +2,9 @@ using System; using System.Collections.Generic; using System.Text; +using WMS.Web.Core.Dto; using WMS.Web.Core.Dto.ChangeBoxRecord; +using WMS.Web.Core.Dto.Inventory; using WMS.Web.Core.Dto.MoveBoxRecord; using WMS.Web.Core.Dto.OutStock; using WMS.Web.Core.Dto.OutStockTask; @@ -48,6 +50,12 @@ namespace Microsoft.Extensions.DependencyInjection services.AddTransient, OutStockRepositories>(); services.AddTransient, MoveBoxRecordRepositories>(); services.AddTransient, ChangeBoxRecordRepositories>(); + + services.AddTransient, InStockRepositories>(); + services.AddTransient, InStockTaskRepositories>(); + services.AddTransient, InventoryDetailsRepositories>(); + services.AddTransient, InventoryInOutDetailsRepositories>(); + services.AddTransient, BoxInventoryRepositories>(); #endregion diff --git a/src/WMS.Web.Repositories/InStockRepositories.cs b/src/WMS.Web.Repositories/InStockRepositories.cs index 5a100db4..7229f881 100644 --- a/src/WMS.Web.Repositories/InStockRepositories.cs +++ b/src/WMS.Web.Repositories/InStockRepositories.cs @@ -20,7 +20,7 @@ namespace WMS.Web.Repositories /// /// wms入库单-仓储 /// - public class InStockRepositories: IInStockRepositories + public class InStockRepositories: IAllFielRepositories, IInStockRepositories { private readonly IMapper _mapper; private readonly IServiceProvider _serviceProvider; @@ -53,24 +53,24 @@ namespace WMS.Web.Repositories /// /// /// - public async Task> GetPagedList(InStockQueryRequest dto) + public async Task<(List list, int total)> GetPagedList(InStockQueryRequest dto) { //1.获取物料集合和组织集合和供应商的集合 var materials_result = await _erpService.BillQueryForMaterial(); if (!materials_result.IsSuccess) - return ResultPagedList.ReFailure(materials_result); + return (new List(), 0); var materials = materials_result.Data.ToList(); //组织集合 var orgs_result = await _erpService.BillQueryForOrg(); if (!orgs_result.IsSuccess) - return ResultPagedList.ReFailure(orgs_result); + return (new List(), 0); var orgs = orgs_result.Data.ToList(); //供应商集合 var suppliers_result = await _erpService.BillQueryForSupplier(); if (!suppliers_result.IsSuccess) - return ResultPagedList.ReFailure(suppliers_result); + return (new List(), 0); var suppliers = suppliers_result.Data.ToList(); //物料集合;模糊查询后的物料集合 @@ -109,10 +109,8 @@ namespace WMS.Web.Repositories if (dto.CreateEndDate != null) query = query.Where(w => w.order.CreateTime <= dto.CreateEndDate.Value); - var response = new ResultPagedList(); + int total = await query.CountAsync(); - response.TotalCount = total; - var list = await query.Select(s => new InStockQueryResponse() { Id=s.order.Id, @@ -132,8 +130,7 @@ namespace WMS.Web.Repositories SuccessSync=s.order.SuccessSync }).OrderByDescending(x => x.Id).Skip((dto.PageNo - 1) * dto.PageSize).Take(dto.PageSize).ToListAsync(); - response.Data = list; - return response; + return (list, total); } /// @@ -170,5 +167,16 @@ namespace WMS.Web.Repositories } } + + /// + /// 导出 + /// + /// + /// + /// + public async Task<(object obj, int total)> GetListField(InStockQueryRequest dto, int companyId) + { + return await GetPagedList(dto); + } } } diff --git a/src/WMS.Web.Repositories/InStockTaskRepositories.cs b/src/WMS.Web.Repositories/InStockTaskRepositories.cs index 3647cc46..ded643a8 100644 --- a/src/WMS.Web.Repositories/InStockTaskRepositories.cs +++ b/src/WMS.Web.Repositories/InStockTaskRepositories.cs @@ -25,7 +25,7 @@ namespace WMS.Web.Repositories /// /// 入库任务表-仓储 /// - public class InStockTaskRepositories : IInStockTaskRepositories + public class InStockTaskRepositories : IAllFielRepositories, IInStockTaskRepositories { private readonly IMapper _mapper; private readonly IServiceProvider _serviceProvider; @@ -58,23 +58,23 @@ namespace WMS.Web.Repositories /// /// /// - public async Task> GetPagedList(InStockTaskQueryRequest dto) + public async Task<(List list, int total)> GetPagedList(InStockTaskQueryRequest dto) { //1.获取物料集合和组织集合 var materials_result = await _erpService.BillQueryForMaterial(); if (!materials_result.IsSuccess) - return ResultPagedList.ReFailure(materials_result); + return (new List(), 0); var materials = materials_result.Data.ToList(); //组织集合 var orgs_result = await _erpService.BillQueryForOrg(); if (!orgs_result.IsSuccess) - return ResultPagedList.ReFailure(orgs_result); + return (new List(), 0); var orgs = orgs_result.Data.ToList(); //供应商集合 var suppliers_result = await _erpService.BillQueryForSupplier(); if (!suppliers_result.IsSuccess) - return ResultPagedList.ReFailure(suppliers_result); + return (new List(), 0); var suppliers = suppliers_result.Data.ToList(); //物料集合;模糊查询后的物料集合 @@ -117,10 +117,8 @@ namespace WMS.Web.Repositories if (dto.CreateEndDate != null) query = query.Where(w => w.order.ShelfTime <= dto.CreateEndDate.Value); - var response = new ResultPagedList(); - int total = await query.CountAsync(); - response.TotalCount = total; - + + int total = await query.CountAsync(); var list =await query.Select(s => new InStockTaskQueryResponse() { Id = s.order.Id, @@ -145,9 +143,8 @@ namespace WMS.Web.Repositories ShelfTime = s.order.ShelfTime.HasValue ? s.order.ShelfTime.Value.ToString("yyyy-MM-dd HH:mm:ss") : "", CreateTime = s.order.CreateTime.ToString("yyyy-MM-dd HH:mm:ss"), }).OrderByDescending(x => x.Id).Skip((dto.PageNo - 1) * dto.PageSize).Take(dto.PageSize).ToListAsync(); - - response.Data = list; - return response; + + return (list,total); } /// @@ -498,5 +495,16 @@ namespace WMS.Web.Repositories return null; } } + + /// + /// 导出 + /// + /// + /// + /// + public async Task<(object obj, int total)> GetListField(InStockTaskQueryRequest dto, int companyId) + { + return await GetPagedList(dto); + } } } diff --git a/src/WMS.Web.Repositories/InventoryDetailsRepositories.cs b/src/WMS.Web.Repositories/InventoryDetailsRepositories.cs index 882f6669..8dc58d65 100644 --- a/src/WMS.Web.Repositories/InventoryDetailsRepositories.cs +++ b/src/WMS.Web.Repositories/InventoryDetailsRepositories.cs @@ -19,7 +19,7 @@ namespace WMS.Web.Repositories /// /// 库存相关-仓储 /// - public class InventoryDetailsRepositories: IInventoryDetailsRepositories + public class InventoryDetailsRepositories: IAllFielRepositories, IInventoryDetailsRepositories { private readonly IMapper _mapper; private readonly IServiceProvider _serviceProvider; @@ -51,12 +51,12 @@ namespace WMS.Web.Repositories /// /// /// - public async Task> GetPagedList(InventoryDetailsQueryRequest dto) + public async Task<(List list,int total)> GetPagedList(InventoryDetailsQueryRequest dto) { //1.获取物料集合和组织集合 var materials_result = await _erpService.BillQueryForMaterial(); if (!materials_result.IsSuccess) - return ResultPagedList.ReFailure(materials_result); + return (new List(), 0); var materials = materials_result.Data.ToList(); //物料集合;模糊查询后的物料集合 @@ -80,9 +80,8 @@ namespace WMS.Web.Repositories if (dto.Qty.HasValue) query = query.Where(w => w.Qty == dto.Qty); - var response = new ResultPagedList(); - int total = await query.CountAsync(); - response.TotalCount = total; + + int total = await query.CountAsync(); var list = await query.Select(s => new InventoryDetailsQueryResponse() { @@ -96,8 +95,7 @@ namespace WMS.Web.Repositories Unit = _erpBasicDataExtendService.GetMaterialUnitName(materials, s.MaterialId), }).OrderByDescending(x => x.Id).Skip((dto.PageNo - 1) * dto.PageSize).Take(dto.PageSize).ToListAsync(); - response.Data = list; - return response; + return (list,total); } /// @@ -159,5 +157,16 @@ namespace WMS.Web.Repositories return true; } } + + /// + /// 导出 + /// + /// + /// + /// + public async Task<(object obj, int total)> GetListField(InventoryDetailsQueryRequest dto, int companyId) + { + return await GetPagedList(dto); + } } } diff --git a/src/WMS.Web.Repositories/InventoryInOutDetailsRepositories.cs b/src/WMS.Web.Repositories/InventoryInOutDetailsRepositories.cs index 51003675..02465f8e 100644 --- a/src/WMS.Web.Repositories/InventoryInOutDetailsRepositories.cs +++ b/src/WMS.Web.Repositories/InventoryInOutDetailsRepositories.cs @@ -20,7 +20,7 @@ namespace WMS.Web.Repositories /// /// 物料收发明细-仓储 /// - public class InventoryInOutDetailsRepositories: IInventoryInOutDetailsRepositories + public class InventoryInOutDetailsRepositories : IAllFielRepositories, IInventoryInOutDetailsRepositories { private readonly IMapper _mapper; private readonly IServiceProvider _serviceProvider; @@ -52,12 +52,12 @@ namespace WMS.Web.Repositories /// /// /// - public async Task> GetPagedList(InventoryInOutDetailsQueryRequest dto) + public async Task<(List list, int total)> GetPagedList(InventoryInOutDetailsQueryRequest dto) { //1.获取物料集合和组织集合 var materials_result = await _erpService.BillQueryForMaterial(); if (!materials_result.IsSuccess) - return ResultPagedList.ReFailure(materials_result); + return (new List(), 0); var materials = materials_result.Data.ToList(); //物料集合;模糊查询后的物料集合 @@ -85,10 +85,8 @@ namespace WMS.Web.Repositories if (dto.CreateEndDate != null) query = query.Where(w => w.CreateTime <= dto.CreateEndDate.Value); - var response = new ResultPagedList(); + int total = await query.CountAsync(); - response.TotalCount = total; - var list = await query.Select(s => new InventoryInOutDetailsQueryResponse() { Id = s.Id, @@ -104,8 +102,7 @@ namespace WMS.Web.Repositories CreateTime = s.CreateTime }).OrderByDescending(x => x.Id).Skip((dto.PageNo - 1) * dto.PageSize).Take(dto.PageSize).ToListAsync(); - response.Data = list; - return response; + return (list,total); } /// @@ -137,5 +134,16 @@ namespace WMS.Web.Repositories return false; } } + + /// + /// 导出 + /// + /// + /// + /// + public async Task<(object obj, int total)> GetListField(InventoryInOutDetailsQueryRequest dto, int companyId) + { + return await GetPagedList(dto); + } } }