fix 增加设备type类型

This commit is contained in:
2024-07-04 15:04:06 +08:00
parent c82d1c6952
commit f7a1c5f6ba
5 changed files with 26 additions and 5 deletions

View File

@@ -1,17 +1,27 @@
using Dlhis.Entity.Device.Enums;
using Dlhis.Entity.Sys.Enums;
using Kurisu.AspNetCore.DataAccess.SqlSugar;
using SqlSugar;
using SqlSugar.DbConvert;
namespace Dlhis.Entity.Sys.Entities;
[SugarTable(TableName = "DataPermissions")]
public class DataPermissionEntity : SugarBaseEntity
{
[SugarColumn(IsNullable = false, ColumnDataType = "varchar(50)", SqlParameterDbType = typeof(EnumToStringConvert))]
public AssignTypeEnumType AssignType { get; set; }
[SugarColumn(IsNullable = false)]
public string AssignValue { get; set; }
[SugarColumn(IsNullable = false, ColumnDataType = "varchar(50)", SqlParameterDbType = typeof(EnumToStringConvert))]
public DeviceAssignmentTypeEnumType UniqueType { get; set; }
[SugarColumn(IsNullable = false)]
public Guid UniqueValue { get; set; }
[SugarColumn(IsNullable = false, ColumnDataType = "varchar(50)", SqlParameterDbType = typeof(EnumToStringConvert))]
public DeviceTypeEnumType DeviceType { get; set; }
}

View File

@@ -1,4 +1,5 @@
using System.ComponentModel.DataAnnotations;
using Dlhis.Entity.Device.Enums;
using Dlhis.Entity.Sys.Enums;
using Dlhis.Sys.DataPermission.Request;
using Dlhis.Sys.DataPermission.Services;
@@ -28,10 +29,12 @@ public class DataPermissionsController : ControllerBase
await _dataPermissionService.SaveAsync(request);
}
[HttpGet("assignments")]
public async Task<List<Guid>> GetAssignmentsAsync(string assignValue, [EnumDataType(typeof(DeviceAssignmentTypeEnumType))] DeviceAssignmentTypeEnumType uniqueType)
public async Task<List<Guid>> GetAssignmentsAsync(string assignValue,
[EnumDataType(typeof(DeviceAssignmentTypeEnumType))] DeviceAssignmentTypeEnumType uniqueType,
DeviceTypeEnumType type)
{
return await _dataPermissionService.GetAssignmentsAsync(assignValue, uniqueType);
return await _dataPermissionService.GetAssignmentsAsync(assignValue, uniqueType, type);
}
}

View File

@@ -1,4 +1,5 @@
using System.ComponentModel.DataAnnotations;
using Dlhis.Entity.Device.Enums;
using Dlhis.Entity.Sys.Enums;
namespace Dlhis.Sys.DataPermission.Request;
@@ -13,6 +14,9 @@ public class DataPermissionSaveRequest : IValidatableObject
public List<Guid> Codes { get; set; } = new();
[EnumDataType(typeof(DeviceTypeEnumType))]
public DeviceTypeEnumType Type { get; set; }
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
{

View File

@@ -1,3 +1,4 @@
using Dlhis.Entity.Device.Enums;
using Dlhis.Entity.Sys.Enums;
using Dlhis.Sys.DataPermission.Request;
@@ -7,5 +8,5 @@ public interface IDataPermissionService : IScopeDependency
{
Task SaveAsync(DataPermissionSaveRequest request);
Task<List<Guid>> GetAssignmentsAsync(string assignValue, DeviceAssignmentTypeEnumType uniqueType);
Task<List<Guid>> GetAssignmentsAsync(string assignValue, DeviceAssignmentTypeEnumType uniqueType, DeviceTypeEnumType type);
}

View File

@@ -1,3 +1,4 @@
using Dlhis.Entity.Device.Enums;
using Dlhis.Entity.Sys.Entities;
using Dlhis.Entity.Sys.Enums;
using Dlhis.Sys.DataPermission.Request;
@@ -21,6 +22,7 @@ public class DataPermissionService : IDataPermissionService
.Where(x => x.AssignValue == request.AssignValue)
.Where(x => x.AssignType == AssignTypeEnumType.User)
.Where(x => x.UniqueType == request.UniqueType)
.Where(x => x.DeviceType == request.Type)
.ToListAsync();
await _dbContext.DeleteReallyAsync(data);
@@ -34,12 +36,13 @@ public class DataPermissionService : IDataPermissionService
}).ToList());
}
public async Task<List<Guid>> GetAssignmentsAsync(string assignValue, DeviceAssignmentTypeEnumType uniqueType)
public async Task<List<Guid>> GetAssignmentsAsync(string assignValue, DeviceAssignmentTypeEnumType uniqueType, DeviceTypeEnumType type)
{
return await _dbContext.Queryable<DataPermissionEntity>()
.Where(x => x.AssignValue == assignValue)
.Where(x => x.AssignType == AssignTypeEnumType.User)
.Where(x => x.UniqueType == uniqueType)
.Where(x => x.DeviceType == type)
.Select(x => x.UniqueValue)
.ToListAsync();
}