diff --git a/Src/Dlhis.Basic/Device/Services/Implements/DevicePermissionService.cs b/Src/Dlhis.Basic/Device/Services/Implements/DevicePermissionService.cs index f6102638..c0a2dd18 100644 --- a/Src/Dlhis.Basic/Device/Services/Implements/DevicePermissionService.cs +++ b/Src/Dlhis.Basic/Device/Services/Implements/DevicePermissionService.cs @@ -285,8 +285,15 @@ public class DevicePermissionService : IDevicePermissionService ids = ids.Distinct().ToList(); + var enableOutsourceDown = await _dbContext.Queryable() + .Where(x => x.TenantId == device.TenantId) + .Select(x => SqlFunc.IsNullOrEmpty(x.EnableOutsourceDown) ? true : x.EnableOutsourceDown) + .SingleAsync(); + var page = await _dbContext.Queryable() .Where(x => ids.Contains(x.Id)) + .Where(x => x.Type != GainfoUserTypeEnumType.External) + .WhereIF(enableOutsourceDown == false, x => x.Type != GainfoUserTypeEnumType.Outsource) .WhereIF(device.Type == DeviceTypeEnumType.Meal, x => x.Type != GainfoUserTypeEnumType.External && x.Type != GainfoUserTypeEnumType.Outsource) .WhereIF(request.Search.IsPresent(), x => x.Code == request.Search || x.Name.Contains(request.Search)) .Select()