diff --git a/src/WMS.Web.Api/Controllers/ChangeBoxRecordController.cs b/src/WMS.Web.Api/Controllers/ChangeBoxRecordController.cs index 99a9001b..fc13296f 100644 --- a/src/WMS.Web.Api/Controllers/ChangeBoxRecordController.cs +++ b/src/WMS.Web.Api/Controllers/ChangeBoxRecordController.cs @@ -1,17 +1,21 @@ using AutoMapper; 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.ChangeBoxRecord; +using WMS.Web.Core.Help; using WMS.Web.Core.Internal.Results; using WMS.Web.Domain.Entitys; 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 @@ -27,12 +31,17 @@ namespace WMS.Web.Api.Controllers private readonly ILoginService _loginService; private readonly IChangeBoxRecordRepositories _repositories; private readonly IChangeMoveBoxService _changeMoveBoxService; - public ChangeBoxRecordController(IMapper mapper, ILoginService loginService, IChangeBoxRecordRepositories repositories, IChangeMoveBoxService changeMoveBoxService) + private readonly QiniuOptions _option; + private readonly IExportExcelService _exportExcelService; + public ChangeBoxRecordController(IMapper mapper, ILoginService loginService, IChangeBoxRecordRepositories repositories, + IChangeMoveBoxService changeMoveBoxService, IOptions option, IExportExcelService exportExcelServic) { _mapper = mapper; _loginService = loginService; _repositories = repositories; _changeMoveBoxService = changeMoveBoxService; + _option = option?.Value; + _exportExcelService = exportExcelServic; } /// /// 列表 @@ -52,6 +61,28 @@ namespace WMS.Web.Api.Controllers return result; } /// + /// 导出 + /// + /// + /// + [HttpPost] + [Route("Export")] + public Task> Export([FromBody] ChangeBoxRecordQueryRequest 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.ChangeBox.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.ChangeBox); + }); + + return Task.FromResult(Result.ReSuccess(res)); + } + /// /// 改箱保存-PDA /// /// diff --git a/src/WMS.Web.Api/Controllers/MoveBoxRecordController.cs b/src/WMS.Web.Api/Controllers/MoveBoxRecordController.cs index 51fcbeca..56002464 100644 --- a/src/WMS.Web.Api/Controllers/MoveBoxRecordController.cs +++ b/src/WMS.Web.Api/Controllers/MoveBoxRecordController.cs @@ -1,18 +1,22 @@ using AutoMapper; 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.ChangeBoxRecord; using WMS.Web.Core.Dto.MoveBoxRecord; +using WMS.Web.Core.Help; using WMS.Web.Core.Internal.Results; using WMS.Web.Domain.Entitys; 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 @@ -25,12 +29,18 @@ namespace WMS.Web.Api.Controllers private readonly ILoginService _loginService; private readonly IMoveBoxRecordRepositories _repositories; private readonly IChangeMoveBoxService _changeMoveBoxService; - public MoveBoxRecordController(IMapper mapper, ILoginService loginService, IMoveBoxRecordRepositories repositories, IChangeMoveBoxService changeMoveBoxService) + private readonly QiniuOptions _option; + private readonly IExportExcelService _exportExcelService; + public MoveBoxRecordController(IMapper mapper, ILoginService loginService, IMoveBoxRecordRepositories repositories, + IChangeMoveBoxService changeMoveBoxService + , IOptions option, IExportExcelService exportExcelServic) { _mapper = mapper; _loginService = loginService; _repositories = repositories; _changeMoveBoxService = changeMoveBoxService; + _option = option?.Value; + _exportExcelService = exportExcelServic; } /// /// 列表 @@ -50,6 +60,28 @@ namespace WMS.Web.Api.Controllers return result; } /// + /// 导出 + /// + /// + /// + [HttpPost] + [Route("Export")] + public Task> Export([FromBody] MoveBoxRecordQueryRequest 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.MoveBox.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.MoveBox); + }); + + return Task.FromResult(Result.ReSuccess(res)); + } + /// /// 移箱下架保存-PDA /// /// diff --git a/src/WMS.Web.Api/Controllers/OutStockController.cs b/src/WMS.Web.Api/Controllers/OutStockController.cs index ae68fd50..0fd36429 100644 --- a/src/WMS.Web.Api/Controllers/OutStockController.cs +++ b/src/WMS.Web.Api/Controllers/OutStockController.cs @@ -1,16 +1,20 @@ using AutoMapper; 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.OutStock; +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 @@ -26,13 +30,18 @@ namespace WMS.Web.Api.Controllers private readonly ILoginService _loginService; private readonly IOutStockRepositories _repositories; private readonly IOutStockService _outStockService; + private readonly QiniuOptions _option; + private readonly IExportExcelService _exportExcelService; public OutStockController(IMapper mapper, ILoginService loginService, - IOutStockRepositories repositories, IOutStockService outStockService) + IOutStockRepositories repositories, IOutStockService outStockService + , IOptions option, IExportExcelService exportExcelServic) { _mapper = mapper; _loginService = loginService; _repositories = repositories; _outStockService = outStockService; + _option = option?.Value; + _exportExcelService = exportExcelServic; } /// /// 列表 @@ -51,7 +60,28 @@ namespace WMS.Web.Api.Controllers var result = ResultPagedList.ReSuccess(list, count); return result; } + /// + /// 导出 + /// + /// + /// + [HttpPost] + [Route("Export")] + public Task> Export([FromBody] OutStockQueryRequest 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.OutStock.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/TakeStockController.cs b/src/WMS.Web.Api/Controllers/TakeStockController.cs index b34f45d2..0f5a264d 100644 --- a/src/WMS.Web.Api/Controllers/TakeStockController.cs +++ b/src/WMS.Web.Api/Controllers/TakeStockController.cs @@ -1,16 +1,20 @@ using AutoMapper; 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.TakeStock; +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 @@ -26,13 +30,18 @@ namespace WMS.Web.Api.Controllers private readonly ILoginService _loginService; private readonly ITakeStockRepositories _repositories; private readonly ITakeStockService _takeStockService; + private readonly QiniuOptions _option; + private readonly IExportExcelService _exportExcelService; public TakeStockController(IMapper mapper, ILoginService loginService, - ITakeStockRepositories repositories, ITakeStockService takeStockService) + ITakeStockRepositories repositories, ITakeStockService takeStockService + , IOptions option, IExportExcelService exportExcelServic) { _mapper = mapper; _loginService = loginService; _repositories = repositories; _takeStockService = takeStockService; + _option = option?.Value; + _exportExcelService = exportExcelServic; } /// /// 列表 @@ -51,7 +60,28 @@ namespace WMS.Web.Api.Controllers var result = ResultPagedList.ReSuccess(list, count); return result; } + /// + /// 导出 + /// + /// + /// + [HttpPost] + [Route("Export")] + public Task> Export([FromBody] TakeStockQueryRequest 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.TakeStock.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.TakeStock); + }); + + return Task.FromResult(Result.ReSuccess(res)); + } /// /// 盘点保存-PDA /// diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml index 38e249e3..340125e2 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml @@ -42,6 +42,13 @@ + + + 导出 + + + + 改箱保存-PDA @@ -245,6 +252,13 @@ + + + 导出 + + + + 移箱下架保存-PDA @@ -271,6 +285,13 @@ + + + 导出 + + + + 获取详情 @@ -438,6 +459,13 @@ + + + 导出 + + + + 盘点保存-PDA diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml index 5fa9c7a8..fa6192af 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml @@ -2850,6 +2850,11 @@ 完成装箱时间 + + + 完成装箱用户 + + 箱子创建用户 diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml index 684922ef..85931adb 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml @@ -125,6 +125,11 @@ 完成装箱时间 + + + 完成装箱用户 + + 箱子创建用户 @@ -4028,6 +4033,36 @@ 出库任务单 + + + 出库单 + + + + + 入库任务单 + + + + + 出库单 + + + + + 改箱 + + + + + 移箱 + + + + + 盘点 + + 入库状态 diff --git a/src/WMS.Web.Domain/Values/FileDownLoadOrderType.cs b/src/WMS.Web.Domain/Values/FileDownLoadOrderType.cs index f18e4da8..793da2cf 100644 --- a/src/WMS.Web.Domain/Values/FileDownLoadOrderType.cs +++ b/src/WMS.Web.Domain/Values/FileDownLoadOrderType.cs @@ -15,5 +15,35 @@ namespace WMS.Web.Domain.Values /// [EnumRemark("出库任务单")] OutStockTask = 1, + /// + /// 出库单 + /// + [EnumRemark("出库单")] + OutStock = 2, + /// + /// 入库任务单 + /// + [EnumRemark("入库任务单")] + InStockTask = 3, + /// + /// 出库单 + /// + [EnumRemark("入库单")] + InStock = 4, + /// + /// 改箱 + /// + [EnumRemark("改箱单")] + ChangeBox = 5, + /// + /// 移箱 + /// + [EnumRemark("移箱单")] + MoveBox = 6, + /// + /// 盘点 + /// + [EnumRemark("盘点单")] + TakeStock = 7, } } diff --git a/src/WMS.Web.Repositories/ChangeBoxRecordRepositories.cs b/src/WMS.Web.Repositories/ChangeBoxRecordRepositories.cs index 8b45a925..832b6821 100644 --- a/src/WMS.Web.Repositories/ChangeBoxRecordRepositories.cs +++ b/src/WMS.Web.Repositories/ChangeBoxRecordRepositories.cs @@ -18,7 +18,7 @@ using WMS.Web.Repositories.Configuration; namespace WMS.Web.Repositories { - public class ChangeBoxRecordRepositories : IChangeBoxRecordRepositories + public class ChangeBoxRecordRepositories : IAllFielRepositories, IChangeBoxRecordRepositories { private readonly IMapper _mapper; private readonly IServiceProvider _serviceProvider; @@ -175,5 +175,10 @@ namespace WMS.Web.Repositories }).Skip((dto.PageNo - 1) * dto.PageSize).Take(dto.PageSize).ToListAsync(); return (list, total); } + + public async Task<(object obj, int total)> GetListField(ChangeBoxRecordQueryRequest dto, int companyId) + { + return await GetListAsync(dto); + } } } diff --git a/src/WMS.Web.Repositories/DependencyInjection/AppBuilderExtensions.cs b/src/WMS.Web.Repositories/DependencyInjection/AppBuilderExtensions.cs index 268de92c..df72f90d 100644 --- a/src/WMS.Web.Repositories/DependencyInjection/AppBuilderExtensions.cs +++ b/src/WMS.Web.Repositories/DependencyInjection/AppBuilderExtensions.cs @@ -2,7 +2,11 @@ using System; using System.Collections.Generic; using System.Text; +using WMS.Web.Core.Dto.ChangeBoxRecord; +using WMS.Web.Core.Dto.MoveBoxRecord; +using WMS.Web.Core.Dto.OutStock; using WMS.Web.Core.Dto.OutStockTask; +using WMS.Web.Core.Dto.TakeStock; using WMS.Web.Domain.Infrastructure; using WMS.Web.Repositories; using WMS.Web.Repositories.Configuration; @@ -40,6 +44,10 @@ namespace Microsoft.Extensions.DependencyInjection #region 导出 services.AddTransient, OutStockTaskRepositories>(); + services.AddTransient, TakeStockRepositories>(); + services.AddTransient, OutStockRepositories>(); + services.AddTransient, MoveBoxRecordRepositories>(); + services.AddTransient, ChangeBoxRecordRepositories>(); #endregion diff --git a/src/WMS.Web.Repositories/MoveBoxRecordRepositories.cs b/src/WMS.Web.Repositories/MoveBoxRecordRepositories.cs index e6792154..2c2cb838 100644 --- a/src/WMS.Web.Repositories/MoveBoxRecordRepositories.cs +++ b/src/WMS.Web.Repositories/MoveBoxRecordRepositories.cs @@ -18,7 +18,7 @@ using WMS.Web.Repositories.Configuration; namespace WMS.Web.Repositories { - public class MoveBoxRecordRepositories : IMoveBoxRecordRepositories + public class MoveBoxRecordRepositories : IAllFielRepositories,IMoveBoxRecordRepositories { private readonly IMapper _mapper; private readonly IServiceProvider _serviceProvider; @@ -123,5 +123,10 @@ namespace WMS.Web.Repositories }).Skip((dto.PageNo - 1) * dto.PageSize).Take(dto.PageSize).ToListAsync(); return (list, total); } + + public async Task<(object obj, int total)> GetListField(MoveBoxRecordQueryRequest dto, int companyId) + { + return await GetListAsync(dto); + } } } diff --git a/src/WMS.Web.Repositories/OutStockRepositories.cs b/src/WMS.Web.Repositories/OutStockRepositories.cs index 311988da..0b423981 100644 --- a/src/WMS.Web.Repositories/OutStockRepositories.cs +++ b/src/WMS.Web.Repositories/OutStockRepositories.cs @@ -19,7 +19,7 @@ using WMS.Web.Repositories.Configuration; namespace WMS.Web.Repositories { - public class OutStockRepositories : IOutStockRepositories + public class OutStockRepositories : IAllFielRepositories, IOutStockRepositories { private readonly IMapper _mapper; private readonly IServiceProvider _serviceProvider; @@ -292,5 +292,10 @@ namespace WMS.Web.Repositories }; return response; } + + public async Task<(object obj, int total)> GetListField(OutStockQueryRequest dto, int companyId) + { + return await GetListAsync(dto); + } } } diff --git a/src/WMS.Web.Repositories/TakeStockRepositories.cs b/src/WMS.Web.Repositories/TakeStockRepositories.cs index bc29099e..58383a4e 100644 --- a/src/WMS.Web.Repositories/TakeStockRepositories.cs +++ b/src/WMS.Web.Repositories/TakeStockRepositories.cs @@ -18,7 +18,7 @@ using WMS.Web.Repositories.Configuration; namespace WMS.Web.Repositories { - public class TakeStockRepositories : ITakeStockRepositories + public class TakeStockRepositories : IAllFielRepositories, ITakeStockRepositories { private readonly IMapper _mapper; private readonly IServiceProvider _serviceProvider; @@ -212,5 +212,10 @@ namespace WMS.Web.Repositories }).Skip((dto.PageNo - 1) * dto.PageSize).Take(dto.PageSize).ToListAsync(); return (list, total); } + + public async Task<(object obj, int total)> GetListField(TakeStockQueryRequest dto, int companyId) + { + return await GetListAsync(dto); + } } }