fix 离职处理

This commit is contained in:
2024-12-16 17:49:20 +08:00
parent 7d5a63625a
commit 4ca4779407
4 changed files with 7 additions and 8 deletions

View File

@@ -20,9 +20,9 @@ public interface IDevicePermissionAnalyzeService : IScopeDependency
Task<List<GainfoDto>> GetAssignmentUniqueAsync(DeviceGetAssignmentUniquesRequest request);
Task<List<Guid>> GetAssignDeviceCodesAsync(string userCode);
Task<List<Guid>> GetAssignDeviceCodesAsync(string userNo);
Task<Dictionary<string, List<UserTenantDeviceCodeDto>>> GetUserAssignDeviceCodesInTenantAsync(
List<string> userNos,
DeviceAssignmentTypeEnumType? ignoreUniqueType = null,

View File

@@ -407,9 +407,8 @@ public class DevicePermissionAnalyzeService : IDevicePermissionAnalyzeService
}).ToListAsync();
}
public async Task<List<Guid>> GetAssignDeviceCodesAsync(string userCode)
public async Task<List<Guid>> GetAssignDeviceCodesAsync(string userNo)
{
var userNo = await _dbContext.Queryable<GainfoEntity>().Where(x => x.Code == userCode || x.No == userCode).Select(x => x.No).SingleAsync();
var result = await GetUserAssignDeviceCodesInTenantAsync(new List<string> { userNo });
return result.First().Value.SelectMany(x => x.Codes).ToList();
}

View File

@@ -177,7 +177,7 @@ public class GainfoPermissionService : IGainfoPermissionService
//获取人员的设备权限
if (deviceCodes.IsEmpty())
{
deviceCodes = await _devicePermissionAnalyzeService.GetAssignDeviceCodesAsync(gainfo!.Code);
deviceCodes = await _devicePermissionAnalyzeService.GetAssignDeviceCodesAsync(gainfo!.No);
}
var devices = await _dbContext.Queryable<DeviceEntity>().Where(x => deviceCodes.Contains(x.Code)).ToListAsync();

View File

@@ -254,6 +254,8 @@ public class GainfoService : IGainfoService
(outsource == null).ThrowIfTrue("非外包人员不可手动离职");
}
await _gainfoPermissionService.ResetPermissionsAsync(gainfo.No, DeviceTaskEnumType.Delete, null);
await _dbContext.Deleteable<GainfoGroupRelationshipEntity>().Where(x => x.UserNo != gainfo.No).ExecuteCommandAsync();
await _dbContext.Deleteable<DevicePermissionEntity>().Where(x => x.AssignType == AssignTypeEnumType.User && x.AssignValue == gainfo.No).ExecuteCommandAsync();
@@ -270,8 +272,6 @@ public class GainfoService : IGainfoService
gainfo.Id = gainfo.IdentityUserId;
await _dbContext.DeleteReallyAsync(gainfo);
await _gainfoPermissionService.ResetPermissionsAsync(gainfo.No, DeviceTaskEnumType.Delete, null);
}
public async Task SetSecurityWhiteAsync(string userCode)