fix 优化错误数据分配

This commit is contained in:
2024-12-11 17:42:49 +08:00
parent 53a88e8b10
commit fc1a1eee7a

View File

@@ -35,8 +35,7 @@ public class DevicePermissionAnalyzeService : IDevicePermissionAnalyzeService
public async Task<List<DevicePermissionEntity>> GetDevicePermissions(DevicePermissionSaveRequest request)
{
var currentTenantId = _currentUser.GetStringTenantId();
var currentTenantId = await GetCurrentFactoryAsync(request);
(bool enableDeviceFilter, List<Guid> deviceCodes) = _myDataPermissionService.GetMyDeviceCodes();
(bool enableDeviceGroupFilter, List<Guid> deviceGroupCodes) = _myDataPermissionService.GetMyDeviceGroupCodes();
@@ -50,6 +49,22 @@ public class DevicePermissionAnalyzeService : IDevicePermissionAnalyzeService
.ToListAsync();
}
private async Task<string> GetCurrentFactoryAsync(DevicePermissionSaveRequest request)
{
var currentTenantId = _currentUser.GetStringTenantId();
var r = request.UniqueType switch
{
DeviceAssignmentTypeEnumType.Device => await _dbContext.Queryable<DeviceEntity>().Where(x => request.Codes.Contains(x.Code)).Where(x => x.TenantId != currentTenantId).AnyAsync(),
DeviceAssignmentTypeEnumType.Group => await _dbContext.Queryable<DeviceGroupEntity>().Where(x => request.Codes.Contains(x.Code)).Where(x => x.TenantId != currentTenantId).AnyAsync(),
_ => false
};
r.ThrowIfTrue("存在设备或者设备组不属于当前厂区,操作失败!");
return currentTenantId;
}
public async Task<DevicePermissionAssignResponse> GenerateDeviceTasksAsync(Func<Task> func, List<string> userNos)
{