fix 心跳间隔为0默认为活跃状态
This commit is contained in:
@@ -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<Dictionary<string, DateTime?>> GetDeviceUploadRecordInfosAsync(List<TaskDto> 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<string, DateTime?>(deviceNos.Count);
|
||||
|
||||
//日志数据最后一条
|
||||
var logInfos = await _dbContext.Queryable<DeviceUploadLogEntity>().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<string, DateTime?>();
|
||||
}
|
||||
|
||||
return new Dictionary<string, DateTime?>();
|
||||
var deviceNos = data.Select(x => x.DeviceUniqueNo).Distinct().ToList();
|
||||
var result = new Dictionary<string, DateTime?>(deviceNos.Count);
|
||||
|
||||
//日志数据最后一条
|
||||
var logInfos = await _dbContext.Queryable<DeviceUploadLogEntity>().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;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user