Browse Source

更新版本

master
赵新宇 2 weeks ago
parent
commit
da08c2dac5
  1. 3
      API/Wood.Admin.WebApi/Startup.cs
  2. 2
      API/Wood.Admin.WebApi/appsettings.json
  3. 2
      API/Wood.Service/Controllers/RecurringJobBaseController.cs
  4. 43
      API/Wood.Service/Controllers/RecurringJobOutPageController.cs
  5. 43
      API/Wood.Service/Controllers/TaskConifgureController.cs

3
API/Wood.Admin.WebApi/Startup.cs

@ -70,9 +70,6 @@ namespace Wood.Admin.WebApi
//初始化数据库 //初始化数据库
services.AddSqlSugar(Configuration); services.AddSqlSugar(Configuration);
services.AddHttpClient(); services.AddHttpClient();
services.AddScoped<LogController>(); services.AddScoped<LogController>();
services.AddScoped<SupplierProPlaningService>(); services.AddScoped<SupplierProPlaningService>();

2
API/Wood.Admin.WebApi/appsettings.json

@ -20,7 +20,7 @@
"DBEnableDiffLog": true, // "DBEnableDiffLog": true, //
"LogDays": 90, // "LogDays": 90, //
"RunAutoJob": true, //job "RunAutoJob": true, //job
"CustomerDb": "Server=192.168.1.228; Database=TaskManager1; User ID = sa; Password=ChangkeTec@2021; TrustServerCertificate = True" "CustomerDb": "Server=192.168.1.228; Database=TaskManager2; User ID = sa; Password=ChangkeTec@2021; TrustServerCertificate = True"
}, },
"JwtConfig": { "JwtConfig": {
"SecretKey": "3c1cac3f546eda35168c3aa3cn91780fbe703f0996c6d123ea96dc85c70bbc0a", // string 16 "SecretKey": "3c1cac3f546eda35168c3aa3cn91780fbe703f0996c6d123ea96dc85c70bbc0a", // string 16

2
API/Wood.Service/Controllers/RecurringJobBaseController.cs

@ -1,4 +1,5 @@
 
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Options; using Microsoft.Extensions.Options;
@ -22,6 +23,7 @@ using TaskManager.EntityFramework;
namespace TaskManager.Controllers namespace TaskManager.Controllers
{ {
[AllowAnonymous]
public class RecurringJobBaseController :ControllerBase, IDoExecute public class RecurringJobBaseController :ControllerBase, IDoExecute
{ {
protected string appKey = "8EG566b9bedd2bf46d"; protected string appKey = "8EG566b9bedd2bf46d";

43
API/Wood.Service/Controllers/RecurringJobOutPageController.cs

@ -1,5 +1,8 @@
using Microsoft.AspNetCore.Mvc; using Magicodes.ExporterAndImporter.Excel;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.DependencyInjection;
using Omu.ValueInjecter; using Omu.ValueInjecter;
using System.Linq.Expressions; using System.Linq.Expressions;
using System.Text.Json; using System.Text.Json;
@ -24,6 +27,44 @@ namespace TaskManager.Controllers
{ {
_repository = repository; _repository = repository;
} }
protected async Task<FileStreamResult> ExportFile<T>(ICollection<T> dtos, string fileName) where T : class, new()
{
var excelExporter = HttpContext.RequestServices.GetRequiredService<IExcelExporter>();
var res = await excelExporter.ExportAsByteArray(dtos);
return new FileStreamResult(new MemoryStream(res), "application/octet-stream") { FileDownloadName = DateTime.Now.ToString("yyyyMMddHHmm") + "_" + fileName };
}
public async Task<FileStreamResult> Export([FromQuery] int pageNumber = 1,
[FromQuery] int pageSize = 10,
[FromQuery] string sortBy = "",
[FromQuery] bool isAscending = true,
[FromQuery] Dictionary<string, string> filters = null)
{
var pagingParams = new PagingParams
{
PageNumber = pageNumber,
PageSize = pageSize,
SortBy = sortBy,
IsAscending = isAscending,
Filters = filters
};
// 可以在这里构建表达式树过滤条件
Expression<Func<T, bool>> filter = null;
var pagedResult = await _repository.GetPagedAsync(filter, pagingParams);
return await ExportFile<T>(pagedResult.Data, Guid.NewGuid().ToString() + ".xlsx");
}
[NonAction] [NonAction]
public async Task<List<ToutputDetial>> FetchAllDataAsync(string inputdate) public async Task<List<ToutputDetial>> FetchAllDataAsync(string inputdate)
{ {

43
API/Wood.Service/Controllers/TaskConifgureController.cs

@ -1,4 +1,6 @@
using Hangfire; using Hangfire;
using Magicodes.ExporterAndImporter.Excel;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
@ -7,7 +9,7 @@ using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using OfficeOpenXml.FormulaParsing.Excel.Functions.Text;
using System; using System;
using System.IO; using System.IO;
using System.Linq.Expressions; using System.Linq.Expressions;
@ -21,6 +23,8 @@ namespace TaskManager.Controllers
{ {
//[ApiController] //[ApiController]
//[Route("[controller]")] //[Route("[controller]")]
[AllowAnonymous]
public class TaskConifgureController : ControllerBase public class TaskConifgureController : ControllerBase
{ {
private readonly JobDbContext _context; private readonly JobDbContext _context;
@ -34,6 +38,15 @@ namespace TaskManager.Controllers
_configuration = configuration; _configuration = configuration;
_repository = repository; _repository = repository;
} }
protected async Task<FileStreamResult> ExportFile<T>(ICollection<T> dtos, string fileName) where T : class, new()
{
var excelExporter = HttpContext.RequestServices.GetRequiredService<IExcelExporter>();
var res = await excelExporter.ExportAsByteArray(dtos);
return new FileStreamResult(new MemoryStream(res), "application/octet-stream") { FileDownloadName = DateTime.Now.ToString("yyyyMMddHHmm") + "_" + fileName };
}
/// <summary> /// <summary>
/// 请除所有任务 /// 请除所有任务
/// </summary> /// </summary>
@ -72,6 +85,34 @@ namespace TaskManager.Controllers
} }
public async Task<FileStreamResult> Export([FromQuery] int pageNumber = 1,
[FromQuery] int pageSize = 10,
[FromQuery] string sortBy = "",
[FromQuery] bool isAscending = true,
[FromQuery] Dictionary<string, string> filters = null)
{
var pagingParams = new PagingParams
{
PageNumber = pageNumber,
PageSize = pageSize,
SortBy = sortBy,
IsAscending = isAscending,
Filters = filters
};
// 可以在这里构建表达式树过滤条件
Expression<Func<TaskConifgure, bool>> filter = null;
var pagedResult = await _repository.GetPagedAsync(null, pagingParams);
return await ExportFile<TaskConifgure>(pagedResult.Data, Guid.NewGuid().ToString() + ".xlsx");
}
/// <summary> /// <summary>
/// 执行铁定任务 /// 执行铁定任务
/// </summary> /// </summary>

Loading…
Cancel
Save