fix 离职处理
This commit is contained in:
@@ -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,
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user