fix null异常

This commit is contained in:
2025-01-15 16:14:14 +08:00
parent 8db9861f0e
commit 259cf79b66

View File

@@ -260,8 +260,10 @@ public class AssignmentService : IAssignmentService
.WhereIF(factories.Any(), (deviceTask, device) => factories.Contains(deviceTask.TenantId))
.WhereIF(request.Types.IsPresent(), deviceTask => request.Types.Contains(deviceTask.Type))
.WhereIF(request.Brand.IsPresent(), (deviceTask, device, deviceTemplate) => deviceTemplate.Brand == request.Brand)
#if !DEBUG
.Where((deviceTask, device, deviceTemplate, ga, gaLeave, department, deviceRegistry) =>
device.HeartbeatInterval == 0 || SqlFunc.DateAdd(deviceRegistry.LastHeartbeatTime, device.HeartbeatInterval, DateType.Second) > DateTime.Now)
#endif
.OrderBy(deviceTask => new { deviceTask.CreateTime, Priority = SqlFunc.Desc(deviceTask.Priority) })
.Select((deviceTask, device, deviceTemplate, ga, gaLeave, department) => new TaskDto
{
@@ -417,14 +419,13 @@ public class AssignmentService : IAssignmentService
}
var settings = await _dbContext.Queryable<DeviceTimePeriodEntity>()
.LeftJoin<BasicTypeEntity>((x, type) => x.CardType.ToString() == type.Code && type.Type == "timeperiod")
.Where(where)
.Select((x, type) => new DeviceTimePeriodDto
{
CardName = type.Display
}, true)
.Select<DeviceTimePeriodDto>()
.ToListAsync();
var basicTypes = await _dbContext.Queryable<BasicTypeEntity>().Where(x => x.Type == "timeperiod").ToListAsync();
settings.ForEach(x => x.CardName = basicTypes.FirstOrDefault(p => p.Code == x.CardType.ToString())?.Display);
data.ForEach(item =>
{
var device = devices.First(x => x.UniqueNo == item.DeviceUniqueNo);