diff --git a/Src/Dlhis.Basic/Device/Services/IDevicePermissionService.cs b/Src/Dlhis.Basic/Device/Services/IDevicePermissionService.cs
index b88bd079..9b35637b 100644
--- a/Src/Dlhis.Basic/Device/Services/IDevicePermissionService.cs
+++ b/Src/Dlhis.Basic/Device/Services/IDevicePermissionService.cs
@@ -29,4 +29,12 @@ public interface IDevicePermissionService : IScopeDependency
///
///
Task GenerateDeviceTasksAsync(Func func, List userNos);
+
+
+ ///
+ /// 获取用户所有设备权限
+ ///
+ ///
+ ///
+ Task> GetAssignDeviceCodesAsync(string userNo);
}
diff --git a/Src/Dlhis.Basic/Device/Services/Implements/DevicePermissionService.cs b/Src/Dlhis.Basic/Device/Services/Implements/DevicePermissionService.cs
index e1f52e36..99c0f409 100644
--- a/Src/Dlhis.Basic/Device/Services/Implements/DevicePermissionService.cs
+++ b/Src/Dlhis.Basic/Device/Services/Implements/DevicePermissionService.cs
@@ -158,40 +158,12 @@ public class DevicePermissionService : IDevicePermissionService
}
- //************************************************ help methods *******************************************************
-
- private async Task> GetPermissionUserNosAsync()
- {
- var permissions = await _dbContext.Queryable().ToListAsync();
- //User
- var userNos = permissions.Where(x => x.AssignType == AssignTypeEnumType.User).Select(x => x.AssignValue).ToList();
-
- //Group
- var groupCode = permissions.Where(x => x.AssignType == AssignTypeEnumType.Group).Select(x => Guid.Parse(x.AssignValue)).ToList();
- var userNosByGroup = await _dbContext.Queryable()
- .Where(x => groupCode.Contains(x.GroupCode))
- .Select(x => x.UserNo)
- .ToListAsync();
-
- //Department
- var departmentNos = permissions.Where(x => x.AssignType == AssignTypeEnumType.Department).Select(x => x.AssignValue).ToList();
- var userNosByDepartment = await _dbContext.Queryable().Where(x => departmentNos.Contains(x.DepartmentNo)).Select(x => x.No).ToListAsync();
-
- //Tenant
- var tenants = permissions.Where(x => x.AssignType == AssignTypeEnumType.Tenant).Select(x => x.AssignValue).ToList();
- var userNosByWerk = await _dbContext.Queryable().Where(x => tenants.Contains(x.Werks)).Select(x => x.No).ToListAsync();
-
-
- return userNos.Concat(userNosByGroup).Concat(userNosByDepartment).Concat(userNosByWerk).ToList();
- }
-
-
///
/// 获取用户所有设备权限
///
///
///
- private async Task> GetAssignDeviceCodesAsync(string userNo)
+ public async Task> GetAssignDeviceCodesAsync(string userNo)
{
var gainfo = await _dbContext.Queryable().Where(x => x.No == userNo).SingleAsync();
var gainfoGroups = await _dbContext.Queryable().Where(x => x.UserNo == userNo).Select(x => x.GroupCode).ToListAsync();
@@ -227,4 +199,37 @@ public class DevicePermissionService : IDevicePermissionService
return deviceCodes.Distinct().ToList();
}
+
+
+ //************************************************ help methods *******************************************************
+
+ ///
+ /// 获取当前基地有权限的用户
+ ///
+ ///
+ private async Task> GetPermissionUserNosAsync()
+ {
+ var permissions = await _dbContext.Queryable().ToListAsync();
+ //User
+ var userNos = permissions.Where(x => x.AssignType == AssignTypeEnumType.User).Select(x => x.AssignValue).ToList();
+
+ //Group
+ var groupCode = permissions.Where(x => x.AssignType == AssignTypeEnumType.Group).Select(x => Guid.Parse(x.AssignValue)).ToList();
+ var userNosByGroup = await _dbContext.Queryable()
+ .Where(x => groupCode.Contains(x.GroupCode))
+ .Select(x => x.UserNo)
+ .ToListAsync();
+
+ //Department
+ var departmentNos = permissions.Where(x => x.AssignType == AssignTypeEnumType.Department).Select(x => x.AssignValue).ToList();
+ var userNosByDepartment = await _dbContext.Queryable().Where(x => departmentNos.Contains(x.DepartmentNo)).Select(x => x.No).ToListAsync();
+
+ //Tenant
+ var tenants = permissions.Where(x => x.AssignType == AssignTypeEnumType.Tenant).Select(x => x.AssignValue).ToList();
+ var userNosByWerk = await _dbContext.Queryable().Where(x => tenants.Contains(x.Werks)).Select(x => x.No).ToListAsync();
+
+
+ return userNos.Concat(userNosByGroup).Concat(userNosByDepartment).Concat(userNosByWerk).ToList();
+ }
+
}