diff --git a/Src/Dlhis.ScheduledTask/Jobs/SyncOriginCardInfoJob.cs b/Src/Dlhis.ScheduledTask/Jobs/SyncOriginCardInfoJob.cs index cc9ec433..173ada85 100644 --- a/Src/Dlhis.ScheduledTask/Jobs/SyncOriginCardInfoJob.cs +++ b/Src/Dlhis.ScheduledTask/Jobs/SyncOriginCardInfoJob.cs @@ -23,21 +23,14 @@ public class SyncOriginCardInfoJob : BaseJob protected override async Task RunAsync(IServiceProvider serviceProvider) { - //考勤设备(不需要Enable参数) - var devices = await DbContext.Queryable() - .Where(x => x.Type == DeviceTypeEnumType.Attendance || x.Type == DeviceTypeEnumType.Door && x.AsAttendance) - .ToListAsync(); - - //获取上传日志(有效的) - var deviceUniqueNos = devices.Select(x => x.UniqueNo).ToList(); - var requests = await DbContext.Queryable() .LeftJoin((x, device) => x.DeviceUniqueNo == device.UniqueNo) - .Where(x => deviceUniqueNos.Contains(x.DeviceUniqueNo)) .Where(x => !string.IsNullOrEmpty(x.UserUniqueNo)) .Where(x => x.Sync == false) //.Where(x => x.Status) todo .Where(x => SqlFunc.Subqueryable().Where(p => p.Code == x.UserUniqueNo).NotAny()) + .Where(x => SqlFunc.Subqueryable().Where(p => p.UniqueNo == x.DeviceUniqueNo) + .Where(p => p.Type == DeviceTypeEnumType.Attendance || (p.Type == DeviceTypeEnumType.Door && p.AsAttendance)).Any()) .Select((x, device) => new UploadAttendanceRequest { Id = x.Id,