using Dlhis.Entity.Sys.Entities;
using Dlhis.ScheduledTask.Attributes;
using Dlhis.ScheduledTask.Common.Services;
using SqlSugar;
namespace Dlhis.ScheduledTask.Jobs;
[RecurringJob(nameof(SyncBusinessTripJob), "0 0 1 1/1 * ? ", Name = "SAP同步出差信息")]
public class SyncBusinessTripJob : BaseJob
{
///
public SyncBusinessTripJob(IServiceProvider serviceProvider) : base(serviceProvider)
{
}
///
protected override async Task RunAsync(IServiceProvider serviceProvider)
{
var sapBusinessTripService = serviceProvider.GetService();
var identityDbContext = DbContext.ChangeDb("identity");
var factories = await identityDbContext.Queryable().Where(x => !SqlFunc.IsNullOrEmpty(x.PCode)).ToListAsync();
foreach (var factory in factories)
{
await sapBusinessTripService.HandlerBusinessTripsByFactoryAsync(factory.Code);
}
}
}