Files
jinko.yikatong/Src/Dlhis.ScheduledTask/Jobs/SyncBusinessTripJob.cs
2024-11-26 17:02:11 +08:00

37 lines
1.1 KiB
C#

using Dlhis.Basic.Api;
using Dlhis.Entity.Sys.Entities;
using Dlhis.ScheduledTask.Attributes;
using SqlSugar;
namespace Dlhis.ScheduledTask.Jobs;
[RecurringJob(nameof(SyncBusinessTripJob), "0 0 1 1/1 * ? ", Name = "SAP同步出差信息")]
public class SyncBusinessTripJob : BaseJob
{
private readonly ISyncApi _syncApi;
/// <inheritdoc />
public SyncBusinessTripJob(IServiceProvider serviceProvider, ISyncApi syncApi) : base(serviceProvider)
{
_syncApi = syncApi;
}
/// <inheritdoc />
protected override async Task RunAsync(IServiceProvider serviceProvider)
{
var identityDbContext = DbContext.ChangeDb("identity");
var factories = await identityDbContext.Queryable<TenantEntity>().Where(x => !SqlFunc.IsNullOrEmpty(x.PCode)).ToListAsync();
foreach (var factory in factories)
{
try
{
await _syncApi.HandlerBusinessTripsAsync(factory.Code);
}
catch (Exception e)
{
Logger.LogError(e, "同步出差人员异常:{msg}", e.Message);
}
}
}
}