From 4ca4779407ff5a8192f4bee04b2f9a2f3bf9339e Mon Sep 17 00:00:00 2001 From: liguoyang Date: Mon, 16 Dec 2024 17:49:20 +0800 Subject: [PATCH] =?UTF-8?q?fix=20=E7=A6=BB=E8=81=8C=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Device/Services/IDevicePermissionAnalyzeService.cs | 6 +++--- .../Services/Implements/DevicePermissionAnalyzeService.cs | 3 +-- .../Services/Implements/GainfoPermissionService.cs | 2 +- .../Organization/Services/Implements/GainfoService.cs | 4 ++-- 4 files changed, 7 insertions(+), 8 deletions(-) diff --git a/Src/Dlhis.Basic/Device/Services/IDevicePermissionAnalyzeService.cs b/Src/Dlhis.Basic/Device/Services/IDevicePermissionAnalyzeService.cs index 2b849973..92daf68d 100644 --- a/Src/Dlhis.Basic/Device/Services/IDevicePermissionAnalyzeService.cs +++ b/Src/Dlhis.Basic/Device/Services/IDevicePermissionAnalyzeService.cs @@ -20,9 +20,9 @@ public interface IDevicePermissionAnalyzeService : IScopeDependency Task> GetAssignmentUniqueAsync(DeviceGetAssignmentUniquesRequest request); - Task> GetAssignDeviceCodesAsync(string userCode); - - + Task> GetAssignDeviceCodesAsync(string userNo); + + Task>> GetUserAssignDeviceCodesInTenantAsync( List userNos, DeviceAssignmentTypeEnumType? ignoreUniqueType = null, diff --git a/Src/Dlhis.Basic/Device/Services/Implements/DevicePermissionAnalyzeService.cs b/Src/Dlhis.Basic/Device/Services/Implements/DevicePermissionAnalyzeService.cs index 4bb29219..376533f1 100644 --- a/Src/Dlhis.Basic/Device/Services/Implements/DevicePermissionAnalyzeService.cs +++ b/Src/Dlhis.Basic/Device/Services/Implements/DevicePermissionAnalyzeService.cs @@ -407,9 +407,8 @@ public class DevicePermissionAnalyzeService : IDevicePermissionAnalyzeService }).ToListAsync(); } - public async Task> GetAssignDeviceCodesAsync(string userCode) + public async Task> GetAssignDeviceCodesAsync(string userNo) { - var userNo = await _dbContext.Queryable().Where(x => x.Code == userCode || x.No == userCode).Select(x => x.No).SingleAsync(); var result = await GetUserAssignDeviceCodesInTenantAsync(new List { userNo }); return result.First().Value.SelectMany(x => x.Codes).ToList(); } diff --git a/Src/Dlhis.Basic/Organization/Services/Implements/GainfoPermissionService.cs b/Src/Dlhis.Basic/Organization/Services/Implements/GainfoPermissionService.cs index 0a65dcd7..37f44e02 100644 --- a/Src/Dlhis.Basic/Organization/Services/Implements/GainfoPermissionService.cs +++ b/Src/Dlhis.Basic/Organization/Services/Implements/GainfoPermissionService.cs @@ -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().Where(x => deviceCodes.Contains(x.Code)).ToListAsync(); diff --git a/Src/Dlhis.Basic/Organization/Services/Implements/GainfoService.cs b/Src/Dlhis.Basic/Organization/Services/Implements/GainfoService.cs index 6ed7fbd0..addbf9c1 100644 --- a/Src/Dlhis.Basic/Organization/Services/Implements/GainfoService.cs +++ b/Src/Dlhis.Basic/Organization/Services/Implements/GainfoService.cs @@ -254,6 +254,8 @@ public class GainfoService : IGainfoService (outsource == null).ThrowIfTrue("非外包人员不可手动离职"); } + await _gainfoPermissionService.ResetPermissionsAsync(gainfo.No, DeviceTaskEnumType.Delete, null); + await _dbContext.Deleteable().Where(x => x.UserNo != gainfo.No).ExecuteCommandAsync(); await _dbContext.Deleteable().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)