diff --git a/Src/Dlhis.Basic/Device/Request/DeviceGetAssignmentsRequest.cs b/Src/Dlhis.Basic/Device/Request/DeviceGetAssignmentsRequest.cs index 3e19b580..a69fbd20 100644 --- a/Src/Dlhis.Basic/Device/Request/DeviceGetAssignmentsRequest.cs +++ b/Src/Dlhis.Basic/Device/Request/DeviceGetAssignmentsRequest.cs @@ -27,6 +27,7 @@ public class DeviceGetAssignmentsRequest : IValidatableObject /// /// 设备类型 /// + [EnumDataType(typeof(DeviceTypeEnumType))] public DeviceTypeEnumType Type { get; set; } /// @@ -58,4 +59,11 @@ public class DeviceGetAssignmentUniquesRequest /// /// public Guid UniqueValue { get; set; } + + + /// + /// 设备类型 + /// + [EnumDataType(typeof(DeviceTypeEnumType))] + public DeviceTypeEnumType Type { get; set; } } \ No newline at end of file diff --git a/Src/Dlhis.Basic/Device/Request/DevicePermissionsAssignToDeviceRequest.cs b/Src/Dlhis.Basic/Device/Request/DevicePermissionsAssignToDeviceRequest.cs index fa17d4ce..aca6ea05 100644 --- a/Src/Dlhis.Basic/Device/Request/DevicePermissionsAssignToDeviceRequest.cs +++ b/Src/Dlhis.Basic/Device/Request/DevicePermissionsAssignToDeviceRequest.cs @@ -1,6 +1,6 @@ using System.ComponentModel.DataAnnotations; +using Dlhis.Entity.Device.Enums; using Dlhis.Entity.Sys.Enums; -using Kurisu.AspNetCore.Utils.Extensions; namespace Dlhis.Basic.Device.Request; @@ -26,6 +26,10 @@ public class DevicePermissionsAssignToDeviceRequest : IValidatableObject /// public List Values { get; set; } + + [EnumDataType(typeof(DeviceTypeEnumType))] + public DeviceTypeEnumType Type { get; set; } + /// /// 只删除权限 /// diff --git a/Src/Dlhis.Basic/Device/Services/Implements/DevicePermissionService.cs b/Src/Dlhis.Basic/Device/Services/Implements/DevicePermissionService.cs index 511bcaab..fb6a85f9 100644 --- a/Src/Dlhis.Basic/Device/Services/Implements/DevicePermissionService.cs +++ b/Src/Dlhis.Basic/Device/Services/Implements/DevicePermissionService.cs @@ -44,6 +44,7 @@ public class DevicePermissionService : IDevicePermissionService .Where(x => x.AssignType == request.AssignType) .Where(x => x.AssignValue == request.AssignValue) .Where(x => x.UniqueType == request.UniqueType) + .Where(x => x.Type == request.Type) .WhereIF(values.Any(), x => values.Contains(x.UniqueValue)) .Where(x => x.TenantId == tenantId) .ToListAsync(); @@ -59,6 +60,7 @@ public class DevicePermissionService : IDevicePermissionService AssignValue = request.AssignValue, UniqueType = request.UniqueType, UniqueValue = code, + Type = request.Type, TenantId = tenantId }).ToList(); @@ -101,6 +103,7 @@ public class DevicePermissionService : IDevicePermissionService .Where(x => x.UniqueType == request.UniqueType) .Where(x => x.UniqueValue == request.UniqueValue) .Where(x => x.AssignType == request.AssignType) + .Where(x => x.Type == request.Type) .Where(x => x.TenantId == tenantId) .ToListAsync(); @@ -122,7 +125,8 @@ public class DevicePermissionService : IDevicePermissionService UniqueValue = request.UniqueValue, AssignType = request.AssignType, AssignValue = v, - TenantId = tenantId + TenantId = tenantId, + Type = request.Type }).ToList(); await _dbContext.InsertAsync(devicePermissions); @@ -137,6 +141,7 @@ public class DevicePermissionService : IDevicePermissionService .Where(x => x.AssignType == request.AssignType) .Where(x => x.AssignValue == request.AssignValue) .Where(x => x.UniqueType == request.UniqueType) + .Where(x => x.Type == request.Type) .Select(x => x.UniqueValue) .ToListAsync(); } @@ -148,6 +153,7 @@ public class DevicePermissionService : IDevicePermissionService .Where(x => x.UniqueType == request.UniqueType) .Where(x => x.UniqueValue == request.UniqueValue) .Where(x => x.AssignType == AssignTypeEnumType.User) + .Where(x => x.Type == request.Type) .Select(x => x.AssignValue) .ToListAsync(); @@ -429,7 +435,6 @@ public class DevicePermissionService : IDevicePermissionService Priority = 0, Version = 0, TenantId = x.TenantId, - }).ToList(); await _dbContext.InsertAsync(tasks); diff --git a/Src/Dlhis.Basic/Device/Services/Implements/DeviceService.cs b/Src/Dlhis.Basic/Device/Services/Implements/DeviceService.cs index 926d5c47..c91140d0 100644 --- a/Src/Dlhis.Basic/Device/Services/Implements/DeviceService.cs +++ b/Src/Dlhis.Basic/Device/Services/Implements/DeviceService.cs @@ -35,12 +35,14 @@ public class DeviceService : IDeviceService var role = _currentUser.GetRole(); var isAll = role is "tenant-admin" or "admin"; var tenantIds = _currentUser.GetUserClaim("tenants").Split(",").ToList(); + var tenantId = _currentUser.GetStringTenantId(); var page = await _dbContext.Queryable() .LeftJoin((d, dt) => d.TemplateCode == dt.Code) .LeftJoin((d, dt, dr) => d.UniqueNo == dr.DeviceUniqueNo) .LeftJoin((d, dt, dr, bp) => dr.BusinessPlaceCode == bp.Code) .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.Enable.HasValue, (d, dt) => d.Enable == request.Enable) .WhereIF(request.Search.IsPresent(), d => d.UniqueNo == request.Search || d.DeployPlace.Contains(request.Search)) diff --git a/Src/Dlhis.Entity/Sys/Entities/DevicePermissionEntity.cs b/Src/Dlhis.Entity/Sys/Entities/DevicePermissionEntity.cs index 307b9e61..745d75cf 100644 --- a/Src/Dlhis.Entity/Sys/Entities/DevicePermissionEntity.cs +++ b/Src/Dlhis.Entity/Sys/Entities/DevicePermissionEntity.cs @@ -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.SqlSugar; using SqlSugar; @@ -36,6 +37,12 @@ public class DevicePermissionEntity : SugarBaseEntity, ITenantId, ISoftDeleted [SugarColumn(ColumnDescription = "类型值")] public Guid UniqueValue { get; set; } + /// + /// 设备数据类型 + /// + [SugarColumn(ColumnDataType = "varchar(50)", ColumnDescription = "设备数据类型", SqlParameterDbType = typeof(EnumToStringConvert))] + public DeviceTypeEnumType Type { get; set; } + public string TenantId { get; set; } diff --git a/Src/Dlhis.ScheduledTask/Jobs/SyncBusinessTripJob.cs b/Src/Dlhis.ScheduledTask/Jobs/SyncBusinessTripJob.cs index af01622f..88054f58 100644 --- a/Src/Dlhis.ScheduledTask/Jobs/SyncBusinessTripJob.cs +++ b/Src/Dlhis.ScheduledTask/Jobs/SyncBusinessTripJob.cs @@ -133,6 +133,7 @@ public class SyncBusinessTripJob : BaseJob UniqueType = DeviceAssignmentTypeEnumType.Group, UniqueValue = tripGroup.Code, TenantId = factoryTripInfos.Key, + Type = tripGroup.Type, IsDeleted = false }); } @@ -144,6 +145,7 @@ public class SyncBusinessTripJob : BaseJob .Where(x => x.AssignValue == gainfo.No) .Where(x => x.UniqueType == DeviceAssignmentTypeEnumType.Group) .Where(x => x.UniqueValue == tripGroup.Code) + .Where(x => x.Type == tripGroup.Type) .Where(x => x.TenantId == factoryTripInfos.Key) .ExecuteCommandAsync(); } @@ -152,7 +154,7 @@ public class SyncBusinessTripJob : BaseJob if (lastDayTripInfo != null) await DbContext.UpdateAsync(lastDayTripInfo); - + if (todayTripInfo != null) await DbContext.UpdateAsync(todayTripInfo); }