fix 过滤处理

This commit is contained in:
2024-02-29 13:02:21 +08:00
parent a0140627c0
commit ea93b941e0

View File

@@ -25,24 +25,20 @@ public class CreateGetUploadRecordJob
{
var devices = await _dbContext.Queryable<DeviceEntity>()
.Where(x => x.Enable)
.Where(x => x.Type == DeviceTypeEnumType.Attendance || (x.Type == DeviceTypeEnumType.Door && x.AsAttendance)
.Where(x => x.Type == DeviceTypeEnumType.Attendance || (x.Type == DeviceTypeEnumType.Door && x.AsAttendance)
|| x.Type == DeviceTypeEnumType.Door)
.ToListAsync();
var ds = devices.Select(x => x.UniqueNo).ToList();
var uniqueNos = devices.Select(x => x.UniqueNo).ToList();
//过滤处理中的任务
uniqueNos = await _dbContext.Queryable<DeviceTaskEntity>()
.Where(x => !uniqueNos.Contains(x.DeviceUniqueNo))
.Where(x => x.Type == DeviceTaskEnumType.UploadRecord)
.Where(x => x.Status == DeviceTaskStatusEnumType.Process || x.Status == DeviceTaskStatusEnumType.Wait)
.Select(x => x.DeviceUniqueNo)
.ToListAsync();
var b = await _dbContext.Queryable<DeviceTaskEntity>()
.Where(x => ds.Contains(x.DeviceUniqueNo))
.Where(x => x.Type == DeviceTaskEnumType.UploadRecord)
.Where(x => x.Status == DeviceTaskStatusEnumType.Process || x.Status == DeviceTaskStatusEnumType.Wait)
.AnyAsync();
if (b)
{
return;
}
var tasks = devices.Select(x => new DeviceTaskEntity
var tasks = devices.Where(x => uniqueNos.Contains(x.UniqueNo)).Select(x => new DeviceTaskEntity
{
DeviceUniqueNo = x.UniqueNo,
Status = DeviceTaskStatusEnumType.Wait,