diff --git a/Src/Dlhis.ScheduledTask/TaskAssignment/Services/Implements/AssignmentService.cs b/Src/Dlhis.ScheduledTask/TaskAssignment/Services/Implements/AssignmentService.cs index 50ba6c81..f81769ea 100644 --- a/Src/Dlhis.ScheduledTask/TaskAssignment/Services/Implements/AssignmentService.cs +++ b/Src/Dlhis.ScheduledTask/TaskAssignment/Services/Implements/AssignmentService.cs @@ -246,7 +246,7 @@ public class AssignmentService : IAssignmentService .WhereIF(request.Types.IsPresent(), deviceTask => request.Types.Contains(deviceTask.Type)) .WhereIF(request.Brand.IsPresent(), (deviceTask, device, deviceTemplate) => deviceTemplate.Brand == request.Brand) .Where((deviceTask, device, deviceTemplate, ga, gaLeave, department, gainfoEx, deviceRegistry) => - SqlFunc.DateAdd(deviceRegistry.LastHeartbeatTime, SqlFunc.IIF(device.HeartbeatInterval == 0, 30, 30), DateType.Second) > DateTime.Now) + device.HeartbeatInterval == 0 || SqlFunc.DateAdd(deviceRegistry.LastHeartbeatTime, device.HeartbeatInterval, DateType.Second) > DateTime.Now) .OrderBy(deviceTask => new { Priority = SqlFunc.Desc(deviceTask.Priority), deviceTask.CreateTime }) .Select((deviceTask, device, deviceTemplate, ga, gaLeave, department, gainfoEx) => new TaskDto { @@ -294,31 +294,31 @@ public class AssignmentService : IAssignmentService private async Task> GetDeviceUploadRecordInfosAsync(List data) { - if (data.Any(x => x.Type == DeviceTaskEnumType.UploadRecord)) + if (data.All(x => x.Type != DeviceTaskEnumType.UploadRecord)) { - var deviceNos = data.Select(x => x.DeviceUniqueNo).Distinct().ToList(); - var result = new Dictionary(deviceNos.Count); - - //日志数据最后一条 - var logInfos = await _dbContext.Queryable().Select(it => new - { - RowNumber = SqlFunc.RowNumber(SqlFunc.Desc(it.Id), it.DeviceUniqueNo), - it.DeviceUniqueNo, - it.RaiseDateTime - }) - .MergeTable() - .Where(it => it.RowNumber == 1) - .ToListAsync(); - - foreach (var item in deviceNos) - { - var logInfo = logInfos.FirstOrDefault(x => x.DeviceUniqueNo == item); - result.Add(item, logInfo?.RaiseDateTime); - } - - return result; + return new Dictionary(); } - return new Dictionary(); + var deviceNos = data.Select(x => x.DeviceUniqueNo).Distinct().ToList(); + var result = new Dictionary(deviceNos.Count); + + //日志数据最后一条 + var logInfos = await _dbContext.Queryable().Select(it => new + { + RowNumber = SqlFunc.RowNumber(SqlFunc.Desc(it.Id), it.DeviceUniqueNo), + it.DeviceUniqueNo, + it.RaiseDateTime + }) + .MergeTable() + .Where(it => it.RowNumber == 1) + .ToListAsync(); + + foreach (var item in deviceNos) + { + var logInfo = logInfos.FirstOrDefault(x => x.DeviceUniqueNo == item); + result.Add(item, logInfo?.RaiseDateTime); + } + + return result; } } \ No newline at end of file