diff --git a/Src/Dlhis.Basic/Device/Services/Implements/DevicePermissionService.cs b/Src/Dlhis.Basic/Device/Services/Implements/DevicePermissionService.cs index c263924a..1875e9ed 100644 --- a/Src/Dlhis.Basic/Device/Services/Implements/DevicePermissionService.cs +++ b/Src/Dlhis.Basic/Device/Services/Implements/DevicePermissionService.cs @@ -539,8 +539,17 @@ public class DevicePermissionService : IDevicePermissionService //Department var tenantDepartmentNos = permissions.Where(x => x.AssignType == AssignTypeEnumType.Department) - .GroupBy(x => x.TenantId) - .ToDictionary(x => x.Key, x => x.Select(item => item.AssignValue).Distinct().ToList()); + .Where(x => x.AssignValue.Contains(':')) + .Select(x => + { + var arr = x.AssignValue.Split(':'); + return new + { + Factory = arr[0], DepartmentNo = arr[1] + }; + }) + .GroupBy(x => x.Factory) + .ToDictionary(x => x.Key, x => x.Select(p => p.DepartmentNo).Distinct().ToList()); var departments = await _dbContext.Queryable().ToListAsync(); var gainfoByDeptWhere = LinqExpressionExtensions.False();