From 7013fbf8e5cde7eda5953aa31336d6ca289a8381 Mon Sep 17 00:00:00 2001 From: liguoyang Date: Thu, 20 Mar 2025 17:51:04 +0800 Subject: [PATCH] fix . --- .../WorkGrids/Services/Implements/WorkGridService.cs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/Src/Dlhis.Basic/WorkGrids/Services/Implements/WorkGridService.cs b/Src/Dlhis.Basic/WorkGrids/Services/Implements/WorkGridService.cs index b371413d..41286d8f 100644 --- a/Src/Dlhis.Basic/WorkGrids/Services/Implements/WorkGridService.cs +++ b/Src/Dlhis.Basic/WorkGrids/Services/Implements/WorkGridService.cs @@ -256,9 +256,14 @@ public class WorkGridService : IWorkGridService /// public async Task RemoveAsync(WorkGridUserRemoveRequest request) { + var role = _currentUser.GetRole(); + var specific = (role is "admin" or "tenant-admin" or "WGZGLY") && request.WorkGridCode.HasValue; var currentUserCode = _currentUser.GetUserClaim(UserClaimConstants.JinkoCode); - var myWorkGrid = await _dbContext.Queryable().Where(x => x.LeaderUserCode == currentUserCode).SingleAsync(); - myWorkGrid.ThrowIfNull("工作网格尚未配置,请联系管理员"); + + var myWorkGrid = await _dbContext.Queryable() + .WhereIF(specific, x => x.Code == request.WorkGridCode) + .WhereIF(specific == false, x => x.LeaderUserCode == currentUserCode) + .SingleAsync(); var workGridUsers = await _dbContext.Queryable() .Where(x => x.WorkGridCode == myWorkGrid.Code)