diff --git a/Src/Dlhis.Basic/Device/Services/Implements/DevicePermissionService.cs b/Src/Dlhis.Basic/Device/Services/Implements/DevicePermissionService.cs index 1875e9ed..7059109b 100644 --- a/Src/Dlhis.Basic/Device/Services/Implements/DevicePermissionService.cs +++ b/Src/Dlhis.Basic/Device/Services/Implements/DevicePermissionService.cs @@ -124,19 +124,17 @@ public class DevicePermissionService : IDevicePermissionService public async Task> GetAssignmentsAsync(DeviceGetAssignmentsRequest request) { - var currentTenantId = request.AssignType == AssignTypeEnumType.Department ? request.TenantId : _currentUser.GetStringTenantId(); + request.AssignValue = request.AssignType == AssignTypeEnumType.Department ? request.TenantId + ":" + request.AssignValue : request.AssignValue; var role = _currentUser.GetRole(); var isAll = role is "admin" or "tenant-admin"; var deviceCodes = _myDataPermissionService.GetMyDeviceCodes(); return await _dbContext.Queryable() - .WhereIF(request.TenantId.IsPresent() && request.AssignType == AssignTypeEnumType.Department, x => x.TenantId == request.TenantId) .Where(x => x.AssignType == request.AssignType) .Where(x => x.AssignValue == request.AssignValue) .Where(x => x.UniqueType == request.UniqueType) .WhereIF(request.UniqueType == DeviceAssignmentTypeEnumType.Device && !isAll, x => deviceCodes.Contains(x.UniqueValue)) .Where(x => x.Type == request.Type) - .Where(x => x.TenantId == currentTenantId) .Select(x => x.UniqueValue) .ToListAsync(); }