Files
WMS-Api/src/WMS.Web.Domain/QuartzJob/OutStockOrderQuartzJob.cs
2024-03-18 10:11:50 +08:00

67 lines
2.5 KiB
C#

using Microsoft.EntityFrameworkCore.Storage;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
using Quartz;
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
using WMS.Web.Domain.Infrastructure;
using WMS.Web.Domain.IService;
using WMS.Web.Domain.IService.Public;
using WMS.Web.Domain.Options;
namespace WMS.Web.Domain.QuartzJob
{
public class OutStockOrderQuartzJob : IJob
{
private readonly ILogger<OutStockOrderQuartzJob> _logger;
private readonly IServiceScopeFactory _serviceScopeFactory;
private readonly AppOptions _options;
private readonly IOutStockTaskService _outStockTaskService;
private readonly ITransactionRepositories _transactionRepositories;
public OutStockOrderQuartzJob(ILogger<OutStockOrderQuartzJob> logger,
IServiceScopeFactory serviceScopeFactory,
IOptions<AppOptions> options,
IOutStockTaskService inStockTaskService,
ITransactionRepositories transactionRepositories)
{
this._logger = logger;
_serviceScopeFactory = serviceScopeFactory;
this._options = options?.Value;
_outStockTaskService = inStockTaskService;
_transactionRepositories = transactionRepositories;
}
/// <summary>
/// 执行方法
/// </summary>
/// <param name="context"></param>
/// <returns></returns>
public async Task Execute(IJobExecutionContext context)
{
try
{
//2.记录:开始时间
var begindatetime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff");
_logger.LogInformation($"出库单-同步金蝶出库单数据:执行开始时间->{begindatetime}");
DateTime begin = DateTime.Now.AddDays(-3);//默认拉去一天以内的数据
//3.同步数据
var result = await _outStockTaskService.Sync(null, begin);
//5.记录:结束时间
var enddatetime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff");
_logger.LogInformation($"出库单-同步金蝶出库单数据:执行结束时间->{enddatetime}");
}
catch (Exception ex)
{
_logger.LogInformation($"同步金蝶出库单数据:定时任务执行失败->{ex.Message}");
}
}
}
}