fix 设备组差异

This commit is contained in:
2024-12-11 15:54:02 +08:00
parent 13f00c38c4
commit 4311d62ca2
7 changed files with 73 additions and 45 deletions

View File

@@ -52,7 +52,7 @@ public abstract class BasePermissionAnalyzeService : IPermissionAnalyzeService
var gainfoNos = await GetGainfoNosAsync(request.GetActualAssignValue());
var userTenantDeviceCodes = devicesToDelete.IsPresent() && request.AssignType != AssignTypeEnumType.Tenant
? await _devicePermissionAnalyzeService.GetUserAssignDeviceCodesWithTypeInTenantAsync(gainfoNos, request.GetActualAssignValue(), request.AssignType)
? await _devicePermissionAnalyzeService.GetUserAssignDeviceCodesWithTypeInTenantAsync(gainfoNos, request.UniqueType, request.GetActualAssignValue(), request.AssignType)
: new Dictionary<string, IEnumerable<TenantAssignTypeDeviceCode>>();
var tasksToAdd = new List<DeviceTaskEntity>();
@@ -63,7 +63,8 @@ public abstract class BasePermissionAnalyzeService : IPermissionAnalyzeService
if (userTenantDeviceCodes.Any())
{
var myDeviceCodes = userTenantDeviceCodes[gainfoNo].SelectMany(x => x.AssignTypes).SelectMany(x => x.Codes);
currentDevicesToDelete = devicesToDelete.Where(p => codesToDelete.Except(myDeviceCodes).Contains(p.Code));
var actToDeleteCodes = codesToDelete.Except(myDeviceCodes);
currentDevicesToDelete = devicesToDelete.Where(p => actToDeleteCodes.Contains(p.Code));
}
tasksToAdd.AddRange(devicesToAdd.Select(x => new DeviceTaskEntity