This commit is contained in:
2024-07-05 16:08:00 +08:00
parent 590ca25ed7
commit 28f96c59c0

View File

@@ -32,10 +32,15 @@ public class DeviceService : IDeviceService
public async Task<Pagination<DevicePageResponse>> GetPageAsync(DevicePageRequest request)
{
var role = _currentUser.GetRole();
var isAll = role is "tenant-admin" or "admin";
var tenantIds = _currentUser.GetUserClaim("tenants").Split(",").ToList();
var page = await _dbContext.Queryable<DeviceEntity>()
.LeftJoin<DeviceTemplateEntity>((d, dt) => d.TemplateCode == dt.Code)
.LeftJoin<DeviceRegistryEntity>((d, dt, dr) => d.UniqueNo == dr.DeviceUniqueNo)
.LeftJoin<BusinessPlaceEntity>((d, dt, dr, bp) => dr.BusinessPlaceCode == bp.Code)
.WhereIF(isAll, d => tenantIds.Contains(d.TenantId))
.WhereIF(request.Type.HasValue, (d, dt) => d.Type == request.Type)
.WhereIF(request.Enable.HasValue, (d, dt) => d.Enable == request.Enable)
.WhereIF(request.Search.IsPresent(), d => d.UniqueNo == request.Search || d.DeployPlace.Contains(request.Search))
@@ -327,7 +332,7 @@ public class DeviceService : IDeviceService
var list = devices.Where(x => offUniqueNos.Contains(x.UniqueNo)).ToList();
return list;
}
public async Task<Pagination<DevicePageResponse>> GetOnlineStatusPageAsync(DeviceOnlineAndOfflineRequest request)
{