test 测试获取山西数据速度

This commit is contained in:
2024-06-14 16:45:49 +08:00
parent 3c3b1821f1
commit 61562a8137
3 changed files with 24 additions and 2 deletions

View File

@@ -119,4 +119,12 @@ public class DevicePermissionsController : ControllerBase
{
return await _devicePermissionService.GetGainfoPageByDeviceAsync(request);
}
[AllowAnonymous]
[DataPermission]
[HttpGet("test")]
public async Task<object> GetTextData()
{
return await _devicePermissionService.GetTestData();
}
}

View File

@@ -9,6 +9,8 @@ namespace Dlhis.Basic.Device.Services;
public interface IDevicePermissionService : IScopeDependency
{
Task<object> GetTestData();
/// <summary>
/// 保存设备权限
/// </summary>

View File

@@ -152,6 +152,18 @@ public class DevicePermissionService : IDevicePermissionService
return result.FirstOrDefault(x => x.Tenant == _currentUser.GetStringTenantId())?.Codes;
}
public async Task<object> GetTestData()
{
var userNos = new List<string>();
//获取所有人的权限
if (userNos.IsEmpty())
userNos = await GetPermissionUserNosAsync();
var before = await GetAssignDeviceCodesInternalAsync(userNos);
return before;
}
public async Task GenerateDeviceTasksAsync(Func<Task> func, List<string> userNos)
{
@@ -477,7 +489,7 @@ public class DevicePermissionService : IDevicePermissionService
var userNosByDepartment = await _dbContext.Queryable<GainfoEntity>().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 tenants = permissions.Where(x => x.AssignType == AssignTypeEnumType.Tenant).Select(x => x.AssignValue).Distinct().ToList();
var userNosByWerk = await _dbContext.Queryable<GainfoEntity>().Where(x => tenants.Contains(x.Factory)).Select(x => x.No).ToListAsync();
return userNos.Concat(userNosByGroup).Concat(userNosByDepartment).Concat(userNosByWerk).Distinct().ToList();
@@ -492,7 +504,7 @@ public class DevicePermissionService : IDevicePermissionService
.Where(x => x.AssignType == assignType)
.Where(x => x.AssignValue == assignValue)
.GroupBy(x => x.TenantId)
.Select(x => new UserTenantDeviceCodeDto { Tenant = x.Key, Codes = x.Select(x => x.UniqueValue).ToList() })
.Select(x => new UserTenantDeviceCodeDto { Tenant = x.Key, Codes = x.Select(p => p.UniqueValue).ToList() })
.ToList();
//处理获取设备分组的情况