同步新物料定时任务

This commit is contained in:
tongfei
2024-04-08 14:53:51 +08:00
parent 4a8551ed84
commit 44ee10e2ff
7 changed files with 85 additions and 0 deletions

View File

@@ -344,6 +344,10 @@ namespace WMS.Web.Api.Controllers
return await _sendMessageService.Execute();
}
/// <summary>
/// 同步新物料-和修改已启用批号管理的物料
/// </summary>
/// <returns></returns>
[HttpGet]
[Route("SyscMats")]
public async Task<Result> SyscMats()

View File

@@ -87,6 +87,7 @@
"JobStartExpre": "0 0/30 * * * ?",
"JobStartExpreAmount": "0 50 23 * * ?",
"JobStartExpreSend": "0 0 12,16,20 * * ?",
"JobStartExpreMaterial": "0 30 23 * * ?",
//a.是否启用集群:键和值
"JobStoreClusteredKey": "quartz.jobStore.clustered",

View File

@@ -786,5 +786,11 @@
</summary>
<returns></returns>
</member>
<member name="M:WMS.Web.Api.Controllers.TestController.SyscMats">
<summary>
同步新物料-和修改已启用批号管理的物料
</summary>
<returns></returns>
</member>
</members>
</doc>

View File

@@ -4529,6 +4529,11 @@
发送通知执行cron表达式每天121620整点发送
</summary>
</member>
<member name="P:WMS.Web.Domain.Options.QuartzJobOptions.JobStartExpreMaterial">
<summary>
同步新物料执行cron表达式每天2330整点同步
</summary>
</member>
<member name="P:WMS.Web.Domain.Options.QuartzJobOptions.JobStoreClusteredKey">
<summary>
是否启用集群:键
@@ -4653,6 +4658,18 @@
<param name="context"></param>
<returns></returns>
</member>
<member name="T:WMS.Web.Domain.QuartzJob.MaterialsQuartzJob">
<summary>
物料同步执行定时任务
</summary>
</member>
<member name="M:WMS.Web.Domain.QuartzJob.MaterialsQuartzJob.Execute(Quartz.IJobExecutionContext)">
<summary>
执行方法
</summary>
<param name="context"></param>
<returns></returns>
</member>
<member name="M:WMS.Web.Domain.QuartzJob.OutStockOrderQuartzJob.Execute(Quartz.IJobExecutionContext)">
<summary>
执行方法

View File

@@ -95,6 +95,10 @@ namespace WMS.Web.Domain.Options
/// </summary>
public string JobStartExpreSend { get; set; }
/// <summary>
/// 同步新物料执行cron表达式每天2330整点同步
/// </summary>
public string JobStartExpreMaterial { get; set; }
/// <summary>
/// 是否启用集群:键

View File

@@ -0,0 +1,40 @@
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using Quartz;
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
using WMS.Web.Domain.IService;
namespace WMS.Web.Domain.QuartzJob
{
/// <summary>
/// 物料同步执行定时任务
/// </summary>
public class MaterialsQuartzJob : IJob
{
private readonly ILogger<MaterialsQuartzJob> _logger;
private readonly IServiceScopeFactory _serviceScopeFactory;
private readonly IMaterialService _materialService;
public MaterialsQuartzJob(ILogger<MaterialsQuartzJob> logger,
IServiceScopeFactory serviceScopeFactory,
IMaterialService materialService)
{
this._logger = logger;
_serviceScopeFactory = serviceScopeFactory;
_materialService = materialService;
}
/// <summary>
/// 执行方法
/// </summary>
/// <param name="context"></param>
/// <returns></returns>
public async Task Execute(IJobExecutionContext context)
{
await _materialService.SyncNewMaterials();
}
}
}

View File

@@ -197,6 +197,7 @@ namespace WMS.Web.Repositories.DependencyInjection
Services.AddTransient<OutStockOrderQuartzJob>();//添加注入定时服务
Services.AddTransient<BoxQuartzJob>();//添加注入定时服务
Services.AddTransient<SendQuartzJob>();//添加注入定时服务
Services.AddTransient<MaterialsQuartzJob>();//添加注入定时服务
//Services.AddTransient<OrderContractQuartzJob>();//添加注入定时服务
Services.AddQuartz(q =>
{
@@ -272,6 +273,18 @@ namespace WMS.Web.Repositories.DependencyInjection
//.WithCronSchedule(CronScheduleBuilder.DailyAtHourAndMinute(options.JobStartHour[5], options.JobStartMinute[5]))
.WithDescription("SendQuartzJobTriggerDecs"));
#endregion
#region
var jobKey_material = new JobKey("MaterialsQuartzJob", options.QuartzJobValue);
q.AddJob<MaterialsQuartzJob>(jobKey_material, j => j.WithDescription("MaterialsQuartzJob"));
q.AddTrigger(t => t
.WithIdentity("MaterialsQuartzJobTrigger")
.ForJob(jobKey_material)
.StartNow()
.WithCronSchedule(options.JobStartExpreMaterial)
//.WithCronSchedule(CronScheduleBuilder.DailyAtHourAndMinute(options.JobStartHour[5], options.JobStartMinute[5]))
.WithDescription("MaterialsQuartzJobTriggerDecs"));
#endregion
});
//.net core核心托管-添加Quartz服务器
Services.AddQuartzServer(options =>