fix 排除设备类型变更问题
This commit is contained in:
@@ -8,6 +8,7 @@ using Dlhis.Entity.Device.Entities;
|
||||
using Dlhis.Entity.Device.Enums;
|
||||
using Dlhis.Entity.Sys.Enums;
|
||||
using Kurisu.AspNetCore.DataAccess.Dto;
|
||||
using Kurisu.AspNetCore.DataAccess.Extensions;
|
||||
using Kurisu.AspNetCore.DataAccess.SqlSugar.Extensions;
|
||||
using Kurisu.AspNetCore.DataAccess.SqlSugar.Services;
|
||||
using Kurisu.AspNetCore.Utils.Extensions;
|
||||
@@ -24,7 +25,7 @@ public class GainfoPermissionService : IGainfoPermissionService
|
||||
_devicePermissionAnalyzeService = devicePermissionAnalyzeService;
|
||||
_dbContext = dbContext;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/// <inheritdoc />
|
||||
public async Task<Pagination<GainfoDevicePermissionResponse>> GetAssignDeviceCodesAsync(DeviceAssUserCodeRequest request)
|
||||
@@ -52,13 +53,12 @@ public class GainfoPermissionService : IGainfoPermissionService
|
||||
|
||||
var codes = permissions.SelectMany(x => x.AssignTypes.SelectMany(p => p.Codes)).Distinct().ToList();
|
||||
|
||||
var page = await _dbContext.Queryable<DeviceEntity>()
|
||||
var list = await _dbContext.Queryable<DeviceEntity>()
|
||||
.LeftJoin<DeviceRegistryEntity>((d, dr) => d.UniqueNo == dr.DeviceUniqueNo)
|
||||
.WhereIF(request.DeviceType.HasValue, d => d.Type == request.DeviceType)
|
||||
.WhereIF(request.Search.IsPresent(), d => d.UniqueNo == request.Search)
|
||||
.Where(d => codes.Contains(d.Code))
|
||||
.Select((d, dr) => new GainfoDevicePermissionResponse { Factory = d.TenantId }, true)
|
||||
.ToPageListAsync(request);
|
||||
.ToListAsync();
|
||||
|
||||
var deviceGroups = await _dbContext.Queryable<DeviceGroupEntity>().Select(x => new { x.Code, x.Name }).ToListAsync();
|
||||
var departments = permissions.Any(x => x.AssignTypes.Any(p => p.AssignType == AssignTypeEnumType.Department))
|
||||
@@ -69,7 +69,7 @@ public class GainfoPermissionService : IGainfoPermissionService
|
||||
? await _dbContext.Queryable<GainfoGroupEntity>().Select(x => new { x.Code, x.Name }).ToListAsync()
|
||||
: new[] { new { Code = Guid.Empty, Name = string.Empty } }.ToList();
|
||||
|
||||
page.Data.ForEach(item =>
|
||||
list.ForEach(item =>
|
||||
{
|
||||
var permission = permissions.FirstOrDefault(x => x.Tenant == item.Factory);
|
||||
if (permission != null)
|
||||
@@ -110,7 +110,7 @@ public class GainfoPermissionService : IGainfoPermissionService
|
||||
}
|
||||
});
|
||||
|
||||
return page;
|
||||
return list.ToPage(request);
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user