fix 增加设备类型

This commit is contained in:
2025-03-25 16:34:37 +08:00
parent e141863d2d
commit fe807d609b
5 changed files with 19 additions and 9 deletions

View File

@@ -57,7 +57,7 @@ public abstract class BasePermissionAnalyzeService : IPermissionAnalyzeService
var devicesToAdd = await DbContext.Queryable<DeviceEntity>().Where(x => codesToAdd.Contains(x.Code)).Distinct().ToListAsync();
var devicesToDelete = await DbContext.Queryable<DeviceEntity>().Where(x => codesToDelete.Contains(x.Code)).Distinct().ToListAsync();
var gainfoNos = await GetGainfoNosAsync(request.GetActualAssignValue());
var gainfoNos = await GetGainfoNosAsync(request.GetActualAssignValue(), request.Type);
var userTenantDeviceCodes = devicesToDelete.IsPresent() && request.AssignType != AssignTypeEnumType.Tenant
? await _devicePermissionAnalyzeService.GetUserAssignDeviceCodesWithTypeInTenantAsync(gainfoNos, request.UniqueType, request.GetActualAssignValue(), request.AssignType)
@@ -120,8 +120,9 @@ public abstract class BasePermissionAnalyzeService : IPermissionAnalyzeService
/// 获取分配当前类型关联的用户
/// </summary>
/// <param name="assignValue"></param>
/// <param name="deviceType"></param>
/// <returns></returns>
protected abstract Task<List<string>> GetGainfoNosAsync(string assignValue);
protected abstract Task<List<string>> GetGainfoNosAsync(string assignValue, DeviceTypeEnumType deviceType);
//************************************************************************************************************************

View File

@@ -1,4 +1,5 @@
using Dlhis.Entity.Basic.Entity;
using Dlhis.Entity.Device.Enums;
namespace Dlhis.Basic.Device.Services.Implements.PermissionAnalyze;
@@ -11,7 +12,7 @@ public class DepartmentPermissionAnalyzeService : BasePermissionAnalyzeService
}
/// <inheritdoc />
protected override async Task<List<string>> GetGainfoNosAsync(string assignValue)
protected override async Task<List<string>> GetGainfoNosAsync(string assignValue, DeviceTypeEnumType deviceType)
{
var data = assignValue.Split(":");
var factory = data[0];

View File

@@ -1,17 +1,19 @@
using Dlhis.Entity.Basic.Entity;
using Dlhis.Entity.Device.Enums;
namespace Dlhis.Basic.Device.Services.Implements.PermissionAnalyze;
[Service(PermissionAnalyzeConstants.Group)]
public class GroupPermissionAnalyzeService : BasePermissionAnalyzeService
{
/// <inheritdoc />
public GroupPermissionAnalyzeService(IServiceProvider serviceProvider) : base(serviceProvider)
{
}
/// <inheritdoc />
protected override async Task<List<string>> GetGainfoNosAsync(string assignValue)
protected override async Task<List<string>> GetGainfoNosAsync(string assignValue, DeviceTypeEnumType deviceType)
{
var code = Guid.Parse(assignValue);
@@ -23,8 +25,10 @@ public class GroupPermissionAnalyzeService : BasePermissionAnalyzeService
.Select(x => x.UserNo)
.Distinct()
.ToListAsync();
return await DbContext.Queryable<GainfoEntity>().Where(x => gainfoUserNos.Contains(x.No)).Select(x => x.No).ToListAsync();
return await DbContext.Queryable<GainfoEntity>()
.Where(x => gainfoUserNos.Contains(x.No))
.Select(x => x.No)
.ToListAsync();
}
}

View File

@@ -1,6 +1,7 @@
using Dlhis.Basic.Organization.Services;
using Dlhis.Entity.Basic.Entity;
using Dlhis.Entity.Basic.Enums;
using Dlhis.Entity.Device.Enums;
using Dlhis.Entity.Sys.Entities;
namespace Dlhis.Basic.Device.Services.Implements.PermissionAnalyze;
@@ -17,13 +18,14 @@ public class TenantPermissionAnalyzeService : BasePermissionAnalyzeService
}
/// <inheritdoc />
protected override async Task<List<string>> GetGainfoNosAsync(string assignValue)
protected override async Task<List<string>> GetGainfoNosAsync(string assignValue, DeviceTypeEnumType deviceType)
{
var setting = await _serviceProvider.GetService<IFactorySettingService>().GetFactorySettingAsync(assignValue, false);
return await DbContext.Queryable<GainfoEntity>()
.Where(x => x.Factory == assignValue)
.Where(x => x.Type != GainfoUserTypeEnumType.External)
.WhereIF(deviceType != DeviceTypeEnumType.Door, x => x.Type != GainfoUserTypeEnumType.Outsource)
.WhereIF(setting.EnableOutsourceDown == false, x => x.Type != GainfoUserTypeEnumType.Outsource)
.Select(x => x.No).ToListAsync();
}

View File

@@ -1,3 +1,5 @@
using Dlhis.Entity.Device.Enums;
namespace Dlhis.Basic.Device.Services.Implements.PermissionAnalyze;
[Service(PermissionAnalyzeConstants.User)]
@@ -9,7 +11,7 @@ public class UserPermissionAnalyzeService : BasePermissionAnalyzeService
}
/// <inheritdoc />
protected override async Task<List<string>> GetGainfoNosAsync(string assignValue)
protected override async Task<List<string>> GetGainfoNosAsync(string assignValue, DeviceTypeEnumType deviceType)
{
return await Task.FromResult(new List<string> { assignValue });
}