fix 部门权限处理

This commit is contained in:
2024-08-05 13:36:51 +08:00
parent ded9ebcbdf
commit 54c06b6630

View File

@@ -41,7 +41,8 @@ public class DevicePermissionService : IDevicePermissionService
{
await GenerateDeviceTasksAsync(async () =>
{
var currentTenantId = request.AssignType == AssignTypeEnumType.Department ? request.TenantId : _currentUser.GetStringTenantId();
request.AssignValue = request.AssignType == AssignTypeEnumType.Department ? request.TenantId + ":" + request.AssignValue : request.AssignValue;
var currentTenantId = _currentUser.GetStringTenantId();
var role = _currentUser.GetRole();
var isAll = role is "admin" or "tenant-admin";
var deviceCodes = _myDataPermissionService.GetMyDeviceCodes();
@@ -746,10 +747,10 @@ public class DevicePermissionService : IDevicePermissionService
}
//按部门
var gainfoFactoryDevicePermissions = devicePermissions.Where(x => x.TenantId == gainfo.Factory).ToList();
var dd = GetAssignCodesInternal(gainfoFactoryDevicePermissions, deviceGroups, departments, DeviceAssignmentTypeEnumType.Device, AssignTypeEnumType.Department, gainfo.DepartmentNo);
var gd = GetAssignCodesInternal(gainfoFactoryDevicePermissions, deviceGroups, departments, DeviceAssignmentTypeEnumType.Group, AssignTypeEnumType.Department, gainfo.DepartmentNo);
var pd = GetAssignCodesInternal(gainfoFactoryDevicePermissions, deviceGroups, departments, DeviceAssignmentTypeEnumType.BusinessPlace, AssignTypeEnumType.Department, gainfo.DepartmentNo);
var currentAssignValue = gainfo.Factory + ":" + gainfo.DepartmentNo;
var dd = GetAssignCodesInternal(devicePermissions, deviceGroups, departments, DeviceAssignmentTypeEnumType.Device, AssignTypeEnumType.Department, currentAssignValue);
var gd = GetAssignCodesInternal(devicePermissions, deviceGroups, departments, DeviceAssignmentTypeEnumType.Group, AssignTypeEnumType.Department, currentAssignValue);
var pd = GetAssignCodesInternal(devicePermissions, deviceGroups, departments, DeviceAssignmentTypeEnumType.BusinessPlace, AssignTypeEnumType.Department, currentAssignValue);
deviceDtos.AddRange(dd);
deviceGroupDtos.AddRange(gd);
businessPlaceDtos.AddRange(pd);