Browse Source

更新版本

master
赵新宇 3 days ago
parent
commit
c031c9ab8c
  1. 8
      API/TaskManager.Contracts/Dtos/01_09/SUPPLIER_PRO_SCHEDULING_DTO.cs
  2. 3
      API/TaskManager.EntityFramework/JobDbContext.cs
  3. 14
      API/TaskManager.EntityFramework/Repository/Repository.cs
  4. 2
      API/Wood.Admin.WebApi/Properties/PublishProfiles/FolderProfile.pubxml.user
  5. 21
      API/Wood.Service/Controllers/CheryRecurringJobInputPageExtendController.cs
  6. 4
      API/Wood.Service/Controllers/LogServices/CherySupplierMrpService.cs
  7. 14
      API/Wood.Service/Controllers/RecurringJobBaseController.cs
  8. 2
      API/Wood.Service/Controllers/TaskConifgureController.cs

8
API/TaskManager.Contracts/Dtos/01_09/SUPPLIER_PRO_SCHEDULING_DTO.cs

@ -73,19 +73,19 @@ namespace TaskManager.Contracts.Dtos
/// </summary>
public string PlanStatus { get; set; }
/// <summary>
/// 计划开始时间,时间格式:yyyy-MM-ddHH:mm:ss
/// 计划开始时间,时间格式:yyyy-MM-dd HH:mm:ss
/// </summary>
public string PlanBeginTime { get; set; }
/// <summary>
/// 计划结束时间,时间格式:yyyy-MM-ddHH:mm:ss
/// 计划结束时间,时间格式:yyyy-MM-dd HH:mm:ss
/// </summary>
public string PlanEndTime { get; set; }
/// <summary>
/// 实际开始时间,时间格式:yyyy-MM-ddHH:mm:ss
/// 实际开始时间,时间格式:yyyy-MM-dd HH:mm:ss
/// </summary>
public string? ActualBeginTime { get; set; }
/// <summary>
/// 实际结束时间,时间格式:yyyy-MM-ddHH:mm:ss
/// 实际结束时间,时间格式:yyyy-MM-dd HH:mm:ss
/// </summary>
public string? ActualEndTime { get; set; }
}

3
API/TaskManager.EntityFramework/JobDbContext.cs

@ -375,6 +375,9 @@ namespace TaskManager.EntityFramework
public DbSet<SUPPLIER_MRP_WARNING> SUPPLIER_MRP_WARNING { get; set; }
public DbSet<SUPPLIER_MRP_WARNING_LOGS> SUPPLIER_MRP_WARNING_LOGS { get; set; }
public DbSet<TaskConifgure> TaskConifgure { get; set; }
//public DbSet<TaskConifgure> TaskConifgures { get; set; }

14
API/TaskManager.EntityFramework/Repository/Repository.cs

@ -112,25 +112,19 @@ namespace TaskManager.EntityFramework.Repository
PagingParams pagingParams = null,Condition condition = null)
{
IQueryable<TEntity> query = _dbSet.AsNoTracking();
// 应用过滤条件
if (filter != null)
{
query = query.Where(filter);
}
// 应用动态过滤
if (condition?.Filters != null && condition.Filters.Any())
{
query = query.ApplyConditionFilters(condition);
}
// 应用分页和排序
pagingParams ??= new PagingParams();
var page = await query.ToPagedListAsync(pagingParams);
return page;
}
@ -151,9 +145,6 @@ namespace TaskManager.EntityFramework.Repository
Data = new List<T>();
}
}
public class PagingParams
{
private const int MaxPageSize = 10000;
@ -171,11 +162,6 @@ namespace TaskManager.EntityFramework.Repository
// 新增:过滤条件(键值对)
public Dictionary<string, string> Filters { get; set; } = new();
}
public static class QueryableExtensions
{
public static IQueryable<T> ApplySort<T>(this IQueryable<T> query, string sortBy, bool isAscending)

2
API/Wood.Admin.WebApi/Properties/PublishProfiles/FolderProfile.pubxml.user

@ -3,7 +3,7 @@
<Project>
<PropertyGroup>
<_PublishTargetUrl>D:\QRAPI20250528\API\Wood.Admin.WebApi\bin\Release\net8.0\publish\</_PublishTargetUrl>
<History>True|2025-07-15T03:43:41.1216193Z||;True|2025-07-14T17:27:09.0814705+08:00||;True|2025-07-10T13:41:17.5416106+08:00||;True|2025-07-10T09:53:47.6480408+08:00||;True|2025-07-08T11:09:12.4661351+08:00||;True|2025-07-08T10:48:35.1871554+08:00||;False|2025-07-08T10:47:14.6770264+08:00||;True|2025-07-04T13:12:49.8129504+08:00||;True|2025-07-04T11:57:19.4307706+08:00||;True|2025-07-03T09:24:39.8368797+08:00||;True|2025-07-02T17:18:03.6042427+08:00||;True|2025-07-02T10:15:44.3531626+08:00||;True|2025-07-02T10:14:19.3576521+08:00||;True|2025-07-01T18:51:45.0206266+08:00||;True|2025-06-30T15:39:43.7918723+08:00||;True|2025-06-30T14:40:36.2678533+08:00||;True|2025-06-30T14:22:36.2631903+08:00||;True|2025-06-30T09:23:23.0780295+08:00||;True|2025-06-28T10:37:00.4525422+08:00||;True|2025-06-27T14:51:18.0006510+08:00||;True|2025-06-27T14:46:36.7189818+08:00||;True|2025-06-25T10:54:54.0406425+08:00||;True|2025-06-24T15:53:07.6141315+08:00||;True|2025-06-24T15:48:22.4116425+08:00||;True|2025-06-24T15:47:33.3794364+08:00||;True|2025-06-24T15:21:28.5600646+08:00||;True|2025-06-23T17:18:30.1990173+08:00||;True|2025-06-23T17:12:33.6485743+08:00||;True|2025-06-19T17:18:07.6086155+08:00||;</History>
<History>True|2025-07-22T01:42:45.6864831Z||;True|2025-07-16T10:56:51.1743874+08:00||;True|2025-07-16T10:10:16.1423887+08:00||;True|2025-07-16T09:39:41.5264925+08:00||;True|2025-07-15T11:43:41.1216193+08:00||;True|2025-07-14T17:27:09.0814705+08:00||;True|2025-07-10T13:41:17.5416106+08:00||;True|2025-07-10T09:53:47.6480408+08:00||;True|2025-07-08T11:09:12.4661351+08:00||;True|2025-07-08T10:48:35.1871554+08:00||;False|2025-07-08T10:47:14.6770264+08:00||;True|2025-07-04T13:12:49.8129504+08:00||;True|2025-07-04T11:57:19.4307706+08:00||;True|2025-07-03T09:24:39.8368797+08:00||;True|2025-07-02T17:18:03.6042427+08:00||;True|2025-07-02T10:15:44.3531626+08:00||;True|2025-07-02T10:14:19.3576521+08:00||;True|2025-07-01T18:51:45.0206266+08:00||;True|2025-06-30T15:39:43.7918723+08:00||;True|2025-06-30T14:40:36.2678533+08:00||;True|2025-06-30T14:22:36.2631903+08:00||;True|2025-06-30T09:23:23.0780295+08:00||;True|2025-06-28T10:37:00.4525422+08:00||;True|2025-06-27T14:51:18.0006510+08:00||;True|2025-06-27T14:46:36.7189818+08:00||;True|2025-06-25T10:54:54.0406425+08:00||;True|2025-06-24T15:53:07.6141315+08:00||;True|2025-06-24T15:48:22.4116425+08:00||;True|2025-06-24T15:47:33.3794364+08:00||;True|2025-06-24T15:21:28.5600646+08:00||;True|2025-06-23T17:18:30.1990173+08:00||;True|2025-06-23T17:12:33.6485743+08:00||;True|2025-06-19T17:18:07.6086155+08:00||;</History>
<LastFailureDetails />
</PropertyGroup>
</Project>

21
API/Wood.Service/Controllers/CheryRecurringJobInputPageExtendController.cs

@ -545,11 +545,6 @@ namespace TaskManager.Controllers
IsAscending = input.isAscending,
};
var json = JsonSerializer.Serialize(input);
// 可以在这里构建表达式树过滤条件
Expression<Func<T, bool>> filter = null;
@ -628,7 +623,10 @@ namespace TaskManager.Controllers
var res = await excelExporter.ExportAsByteArray(dtos);
return new FileStreamResult(new MemoryStream(res), "application/octet-stream") { FileDownloadName = DateTime.Now.ToString("yyyyMMddHHmm") + "_" + fileName };
}
/// <summary>
/// 获取导入模板
/// </summary>
/// <returns></returns>
[HttpGet]
public async Task<IActionResult> GetImportTemplate()
{
@ -645,12 +643,7 @@ namespace TaskManager.Controllers
var fileName = $"导入模板_{DateTime.Now:yyyyMMdd}.xlsx";
// 返回文件流结果
return new FileStreamResult(new MemoryStream(bytes), "application/octet-stream") { FileDownloadName = DateTime.Now.ToString("yyyyMMddHHmm") + "_" + fileName };
}
catch (Exception ex)
{
@ -661,7 +654,11 @@ namespace TaskManager.Controllers
return StatusCode(500, "生成导入模板时发生错误");
}
}
/// <summary>
/// 通用导入
/// </summary>
/// <param name="file"></param>
/// <returns></returns>
[HttpPost("Import")]
public async virtual Task<IActionResult> Import(IFormFile file)
{

4
API/Wood.Service/Controllers/LogServices/CherySupplierMrpService.cs

@ -13,9 +13,9 @@ namespace TaskManager.Controllers
/// <summary>
/// 日MRP状态监控
/// </summary>
public class CherySupplierMrpLogService : NormalBaseController<SUPPLIER_MRP_STATE_LOGS>
public class CherySupplierMrpLogService : CheryRecurringJobOutPageController<SUPPLIER_MRP_STATE, SUPPLIER_MRP_STATE_DETIAL_DTO, SUPPLIER_MRP_STATE_LOGS>
{
public CherySupplierMrpLogService(JobDbContext context, IServiceProvider builder, IConfiguration configuration, IRepository<SUPPLIER_MRP_STATE_LOGS> repository) : base(context, builder, configuration, repository)
public CherySupplierMrpLogService(HttpClient httpClient, JobDbContext jobDbContext, LogController log, IRepository<SUPPLIER_MRP_STATE> repository) : base(httpClient, jobDbContext, log, repository)
{
}
}

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

@ -194,21 +194,7 @@ namespace TaskManager.Controllers
// 使用正则表达式移除空格和换行
return Regex.Replace(input, @"[\s]+", "");
}
}
}

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

@ -625,7 +625,7 @@ namespace TaskManager.Controllers
);
break;
case "日MRP状态监控":
RecurringJob.AddOrUpdate<CherySupplierMrpDataService>(
RecurringJob.AddOrUpdate<CherySupplierMrpLogService>(
task.TaskName,
x => ((IDoExecute)x).ExecuteAsync(url, path, task.TaskName, client,pagesize),
task.Corn,

Loading…
Cancel
Save