diff --git a/Src/Dlhis.ScheduledTask/Jobs/MealSupplementHandlerJob.cs b/Src/Dlhis.ScheduledTask/Jobs/MealSupplementHandlerJob.cs index 01d942c3..460e705b 100644 --- a/Src/Dlhis.ScheduledTask/Jobs/MealSupplementHandlerJob.cs +++ b/Src/Dlhis.ScheduledTask/Jobs/MealSupplementHandlerJob.cs @@ -46,15 +46,45 @@ public class MealSupplementHandlerJob : BaseJob //档案不存在 if (gainfo == null) { - await DbContext.Updateable() - .SetColumns(x => x.Status == MealSupplementStatusEnumtype.Error) - .SetColumns(x => x.Result == "人员档案不存在") + if (await DbContext.Queryable().AS("GainfoLeave").Where(x => x.Code == item.Code).AnyAsync()) + { + try + { + var r = await _jinkoJIPService.SyncMealSupplementRecordsAsync(new List + { + new() + { + UniqueId = item.UniqueId, + Status = "FAIL", + Msg = "人员离职" + } + }); + + await DbContext.Updateable() + .SetColumns(x => x.Result == r) + .SetColumns(x => x.Status == MealSupplementStatusEnumtype.Sucess) + .SetColumns(x => x.Sync == true) .SetColumns(x => x.ModifiedTime == DateTime.Now) .Where(x => x.UniqueId == item.UniqueId) .ExecuteCommandAsync(); + } + catch + { - //后台任务获取人员 - BackgroundJob.Enqueue(x => x.TodoByCodeAsync(item.Code)); + } + } + else + { + await DbContext.Updateable() + .SetColumns(x => x.Status == MealSupplementStatusEnumtype.Error) + .SetColumns(x => x.Result == "人员档案不存在") + .SetColumns(x => x.ModifiedTime == DateTime.Now) + .Where(x => x.UniqueId == item.UniqueId) + .ExecuteCommandAsync(); + + //后台任务获取人员 + BackgroundJob.Enqueue(x => x.TodoByCodeAsync(item.Code)); + } continue; }