diff --git a/Src/Dlhis.ScheduledTask/DeviceUploadLog/Services/Implements/DeviceUploadLogService.cs b/Src/Dlhis.ScheduledTask/DeviceUploadLog/Services/Implements/DeviceUploadLogService.cs index 92a49050..2427b67c 100644 --- a/Src/Dlhis.ScheduledTask/DeviceUploadLog/Services/Implements/DeviceUploadLogService.cs +++ b/Src/Dlhis.ScheduledTask/DeviceUploadLog/Services/Implements/DeviceUploadLogService.cs @@ -89,6 +89,13 @@ public class DeviceUploadLogService : IDeviceUploadLogService var inserts = new List(); foreach (var request in requests.Where(x => existsDeviceUniqueNos.Contains(x.DeviceUniqueNo))) { + var device = devices.First(x => x.UniqueNo == request.DeviceUniqueNo); + //智能空开判断 + if (deviceCodeInEFenceMap.TryGetValue(device.Code, out var fence)) + { + await HandlerPowerSwitchAsync(fence.Code, request.UserUniqueNo, fence.DirectionType); + } + if (await _dbContext.Queryable().Where(x => x.DeviceUniqueNo == request.DeviceUniqueNo && x.SerialNo == request.SerialNo && x.RaiseDateTime == request.RaiseDateTime).AnyAsync()) @@ -109,8 +116,6 @@ public class DeviceUploadLogService : IDeviceUploadLogService } } - var device = devices.First(x => x.UniqueNo == request.DeviceUniqueNo); - var currentGainfo = gainfos.FirstOrDefault(x => x.Code == request.UserUniqueNo); var userType = currentGainfo?.Type; var needUpload = ((userType is GainfoUserTypeEnumType.Normal or GainfoUserTypeEnumType.SecurityWhite) @@ -119,11 +124,6 @@ public class DeviceUploadLogService : IDeviceUploadLogService ? DeviceUploadLogTypeEnumType.Attendance : DeviceUploadLogTypeEnumType.Door; - if (deviceCodeInEFenceMap.TryGetValue(device.Code, out var fence)) - { - await HandlerPowerSwitchAsync(fence.Code, request.UserUniqueNo, fence.DirectionType); - } - var workGridInfo = new WorkGridInfo(); var currentWorkGridTimePeriods = workGridTimePeriods.Where(x => x.TenantId == device.TenantId).ToList(); var currentWorkGridSchedules = workGridSchedules.Where(x => x.UserCode == request.UserUniqueNo).ToList();