fix 移除type问题

This commit is contained in:
2024-07-05 17:56:24 +08:00
parent 038c8260e8
commit 789564fc9e
6 changed files with 33 additions and 5 deletions

View File

@@ -27,6 +27,7 @@ public class DeviceGetAssignmentsRequest : IValidatableObject
/// <summary> /// <summary>
/// 设备类型 /// 设备类型
/// </summary> /// </summary>
[EnumDataType(typeof(DeviceTypeEnumType))]
public DeviceTypeEnumType Type { get; set; } public DeviceTypeEnumType Type { get; set; }
/// <summary> /// <summary>
@@ -58,4 +59,11 @@ public class DeviceGetAssignmentUniquesRequest
/// ///
/// </summary> /// </summary>
public Guid UniqueValue { get; set; } public Guid UniqueValue { get; set; }
/// <summary>
/// 设备类型
/// </summary>
[EnumDataType(typeof(DeviceTypeEnumType))]
public DeviceTypeEnumType Type { get; set; }
} }

View File

@@ -1,6 +1,6 @@
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using Dlhis.Entity.Device.Enums;
using Dlhis.Entity.Sys.Enums; using Dlhis.Entity.Sys.Enums;
using Kurisu.AspNetCore.Utils.Extensions;
namespace Dlhis.Basic.Device.Request; namespace Dlhis.Basic.Device.Request;
@@ -26,6 +26,10 @@ public class DevicePermissionsAssignToDeviceRequest : IValidatableObject
/// </summary> /// </summary>
public List<string> Values { get; set; } public List<string> Values { get; set; }
[EnumDataType(typeof(DeviceTypeEnumType))]
public DeviceTypeEnumType Type { get; set; }
/// <summary> /// <summary>
/// 只删除权限 /// 只删除权限
/// </summary> /// </summary>

View File

@@ -44,6 +44,7 @@ public class DevicePermissionService : IDevicePermissionService
.Where(x => x.AssignType == request.AssignType) .Where(x => x.AssignType == request.AssignType)
.Where(x => x.AssignValue == request.AssignValue) .Where(x => x.AssignValue == request.AssignValue)
.Where(x => x.UniqueType == request.UniqueType) .Where(x => x.UniqueType == request.UniqueType)
.Where(x => x.Type == request.Type)
.WhereIF(values.Any(), x => values.Contains(x.UniqueValue)) .WhereIF(values.Any(), x => values.Contains(x.UniqueValue))
.Where(x => x.TenantId == tenantId) .Where(x => x.TenantId == tenantId)
.ToListAsync(); .ToListAsync();
@@ -59,6 +60,7 @@ public class DevicePermissionService : IDevicePermissionService
AssignValue = request.AssignValue, AssignValue = request.AssignValue,
UniqueType = request.UniqueType, UniqueType = request.UniqueType,
UniqueValue = code, UniqueValue = code,
Type = request.Type,
TenantId = tenantId TenantId = tenantId
}).ToList(); }).ToList();
@@ -101,6 +103,7 @@ public class DevicePermissionService : IDevicePermissionService
.Where(x => x.UniqueType == request.UniqueType) .Where(x => x.UniqueType == request.UniqueType)
.Where(x => x.UniqueValue == request.UniqueValue) .Where(x => x.UniqueValue == request.UniqueValue)
.Where(x => x.AssignType == request.AssignType) .Where(x => x.AssignType == request.AssignType)
.Where(x => x.Type == request.Type)
.Where(x => x.TenantId == tenantId) .Where(x => x.TenantId == tenantId)
.ToListAsync(); .ToListAsync();
@@ -122,7 +125,8 @@ public class DevicePermissionService : IDevicePermissionService
UniqueValue = request.UniqueValue, UniqueValue = request.UniqueValue,
AssignType = request.AssignType, AssignType = request.AssignType,
AssignValue = v, AssignValue = v,
TenantId = tenantId TenantId = tenantId,
Type = request.Type
}).ToList(); }).ToList();
await _dbContext.InsertAsync(devicePermissions); await _dbContext.InsertAsync(devicePermissions);
@@ -137,6 +141,7 @@ public class DevicePermissionService : IDevicePermissionService
.Where(x => x.AssignType == request.AssignType) .Where(x => x.AssignType == request.AssignType)
.Where(x => x.AssignValue == request.AssignValue) .Where(x => x.AssignValue == request.AssignValue)
.Where(x => x.UniqueType == request.UniqueType) .Where(x => x.UniqueType == request.UniqueType)
.Where(x => x.Type == request.Type)
.Select(x => x.UniqueValue) .Select(x => x.UniqueValue)
.ToListAsync(); .ToListAsync();
} }
@@ -148,6 +153,7 @@ public class DevicePermissionService : IDevicePermissionService
.Where(x => x.UniqueType == request.UniqueType) .Where(x => x.UniqueType == request.UniqueType)
.Where(x => x.UniqueValue == request.UniqueValue) .Where(x => x.UniqueValue == request.UniqueValue)
.Where(x => x.AssignType == AssignTypeEnumType.User) .Where(x => x.AssignType == AssignTypeEnumType.User)
.Where(x => x.Type == request.Type)
.Select(x => x.AssignValue) .Select(x => x.AssignValue)
.ToListAsync(); .ToListAsync();
@@ -429,7 +435,6 @@ public class DevicePermissionService : IDevicePermissionService
Priority = 0, Priority = 0,
Version = 0, Version = 0,
TenantId = x.TenantId, TenantId = x.TenantId,
}).ToList(); }).ToList();
await _dbContext.InsertAsync(tasks); await _dbContext.InsertAsync(tasks);

View File

@@ -35,12 +35,14 @@ public class DeviceService : IDeviceService
var role = _currentUser.GetRole(); var role = _currentUser.GetRole();
var isAll = role is "tenant-admin" or "admin"; var isAll = role is "tenant-admin" or "admin";
var tenantIds = _currentUser.GetUserClaim("tenants").Split(",").ToList(); var tenantIds = _currentUser.GetUserClaim("tenants").Split(",").ToList();
var tenantId = _currentUser.GetStringTenantId();
var page = await _dbContext.Queryable<DeviceEntity>() var page = await _dbContext.Queryable<DeviceEntity>()
.LeftJoin<DeviceTemplateEntity>((d, dt) => d.TemplateCode == dt.Code) .LeftJoin<DeviceTemplateEntity>((d, dt) => d.TemplateCode == dt.Code)
.LeftJoin<DeviceRegistryEntity>((d, dt, dr) => d.UniqueNo == dr.DeviceUniqueNo) .LeftJoin<DeviceRegistryEntity>((d, dt, dr) => d.UniqueNo == dr.DeviceUniqueNo)
.LeftJoin<BusinessPlaceEntity>((d, dt, dr, bp) => dr.BusinessPlaceCode == bp.Code) .LeftJoin<BusinessPlaceEntity>((d, dt, dr, bp) => dr.BusinessPlaceCode == bp.Code)
.WhereIF(isAll, d => tenantIds.Contains(d.TenantId)) .WhereIF(isAll, d => tenantIds.Contains(d.TenantId))
.WhereIF(!isAll, d => tenantId == d.TenantId)
.WhereIF(request.Type.HasValue, (d, dt) => d.Type == request.Type) .WhereIF(request.Type.HasValue, (d, dt) => d.Type == request.Type)
.WhereIF(request.Enable.HasValue, (d, dt) => d.Enable == request.Enable) .WhereIF(request.Enable.HasValue, (d, dt) => d.Enable == request.Enable)
.WhereIF(request.Search.IsPresent(), d => d.UniqueNo == request.Search || d.DeployPlace.Contains(request.Search)) .WhereIF(request.Search.IsPresent(), d => d.UniqueNo == request.Search || d.DeployPlace.Contains(request.Search))

View File

@@ -1,4 +1,5 @@
using Dlhis.Entity.Sys.Enums; using Dlhis.Entity.Device.Enums;
using Dlhis.Entity.Sys.Enums;
using Kurisu.AspNetCore.DataAccess.Entity; using Kurisu.AspNetCore.DataAccess.Entity;
using Kurisu.AspNetCore.DataAccess.SqlSugar; using Kurisu.AspNetCore.DataAccess.SqlSugar;
using SqlSugar; using SqlSugar;
@@ -36,6 +37,12 @@ public class DevicePermissionEntity : SugarBaseEntity, ITenantId, ISoftDeleted
[SugarColumn(ColumnDescription = "类型值")] [SugarColumn(ColumnDescription = "类型值")]
public Guid UniqueValue { get; set; } public Guid UniqueValue { get; set; }
/// <summary>
/// 设备数据类型
/// </summary>
[SugarColumn(ColumnDataType = "varchar(50)", ColumnDescription = "设备数据类型", SqlParameterDbType = typeof(EnumToStringConvert))]
public DeviceTypeEnumType Type { get; set; }
public string TenantId { get; set; } public string TenantId { get; set; }

View File

@@ -133,6 +133,7 @@ public class SyncBusinessTripJob : BaseJob
UniqueType = DeviceAssignmentTypeEnumType.Group, UniqueType = DeviceAssignmentTypeEnumType.Group,
UniqueValue = tripGroup.Code, UniqueValue = tripGroup.Code,
TenantId = factoryTripInfos.Key, TenantId = factoryTripInfos.Key,
Type = tripGroup.Type,
IsDeleted = false IsDeleted = false
}); });
} }
@@ -144,6 +145,7 @@ public class SyncBusinessTripJob : BaseJob
.Where(x => x.AssignValue == gainfo.No) .Where(x => x.AssignValue == gainfo.No)
.Where(x => x.UniqueType == DeviceAssignmentTypeEnumType.Group) .Where(x => x.UniqueType == DeviceAssignmentTypeEnumType.Group)
.Where(x => x.UniqueValue == tripGroup.Code) .Where(x => x.UniqueValue == tripGroup.Code)
.Where(x => x.Type == tripGroup.Type)
.Where(x => x.TenantId == factoryTripInfos.Key) .Where(x => x.TenantId == factoryTripInfos.Key)
.ExecuteCommandAsync(); .ExecuteCommandAsync();
} }
@@ -152,7 +154,7 @@ public class SyncBusinessTripJob : BaseJob
if (lastDayTripInfo != null) if (lastDayTripInfo != null)
await DbContext.UpdateAsync(lastDayTripInfo); await DbContext.UpdateAsync(lastDayTripInfo);
if (todayTripInfo != null) if (todayTripInfo != null)
await DbContext.UpdateAsync(todayTripInfo); await DbContext.UpdateAsync(todayTripInfo);
} }