导出列表

This commit is contained in:
18942506660
2023-11-14 14:59:02 +08:00
parent 239105b6d5
commit 97c83b9aa3
14 changed files with 648 additions and 11 deletions

View File

@@ -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.OutStockTask;
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
@@ -27,14 +31,19 @@ namespace WMS.Web.Api.Controllers
private readonly IOutStockTaskRepositories _repositories;
private readonly IOutStockService _outStockService;
private readonly IOutStockTaskService _outStockTaskService;
private readonly QiniuOptions _option;
private readonly IExportExcelService _exportExcelService;
public OutStockTaskController(IMapper mapper, ILoginService loginService,
IOutStockTaskRepositories repositories, IOutStockService outStockService, IOutStockTaskService outStockTaskService)
IOutStockTaskRepositories repositories, IOutStockService outStockService,
IOutStockTaskService outStockTaskService, IOptions<QiniuOptions> option, IExportExcelService exportExcelServic)
{
_mapper = mapper;
_loginService = loginService;
_repositories = repositories;
_outStockService = outStockService;
_outStockTaskService = outStockTaskService;
_option = option?.Value;
_exportExcelService = exportExcelServic;
}
/// <summary>
/// 列表
@@ -54,6 +63,29 @@ namespace WMS.Web.Api.Controllers
return result;
}
/// <summary>
/// 导出
/// </summary>
/// <param name="dto"></param>
/// <returns></returns>
[HttpPost]
[Route("Export")]
public Task<Result<string>> Export([FromBody] OutStockTaskQueryRequest dto)
{
var loginInfo = _loginService.GetLoginInfo(this.HttpContext.Request.Headers["Authorization"]);
if (loginInfo == null)
return Task.FromResult(Result<string>.ReFailure(ResultCodes.Token_Invalid_Error));
string fileName = FileDownLoadOrderType.OutStockTask.GetRemark() + loginInfo.UserInfo.CompanyId + DateTime.Now.DateTimeToLongTimeStamp() + ".xlsx";
string res = _option.Url + fileName;
Task.Run(async () =>
{
await _exportExcelService.ExportList<OutStockTaskQueryInfoResponse, OutStockTaskQueryRequest>(dto, fileName, loginInfo.UserInfo.StaffId, loginInfo.UserInfo.CompanyId, FileDownLoadOrderType.OutStockTask);
});
return Task.FromResult(Result<string>.ReSuccess(res));
}
/// <summary>
/// 作废
/// </summary>