fix 设备单独分配人员控制

This commit is contained in:
2025-02-18 16:35:35 +08:00
parent cdb557e5a3
commit d9aa4ff5ef

View File

@@ -53,6 +53,16 @@ public class DevicePermissionService : IDevicePermissionService
var device = await _dbContext.Queryable<DeviceEntity>().Where(x => x.Code == request.UniqueValue).SingleAsync();
device.ThrowIfNull("设备不存在");
var deviceGroupCodes = await _dbContext.Queryable<DeviceGroupRelationshipEntity>().Where(x => x.DeviceCode == device.Code).Select(x => x.GroupCode).ToListAsync();
var existsTenantAssigned = await _dbContext.Queryable<DevicePermissionEntity>()
.Where(x => (x.UniqueType == DeviceAssignmentTypeEnumType.Device && x.UniqueValue == request.UniqueValue)
|| (x.UniqueType == DeviceAssignmentTypeEnumType.Group && deviceGroupCodes.Contains(x.UniqueValue)))
.Where(x => x.AssignType == AssignTypeEnumType.Tenant)
.AnyAsync();
existsTenantAssigned.ThrowIfTrue("当前设备或者所在分组已分配到厂区,无法操作");
//当前匹配的基地权限
var dps = await _dbContext.Queryable<DevicePermissionEntity>()
.Where(x => x.UniqueType == DeviceAssignmentTypeEnumType.Device)