diff --git a/Src/Dlhis.Basic/WorkGrids/Services/Implements/WorkGridService.cs b/Src/Dlhis.Basic/WorkGrids/Services/Implements/WorkGridService.cs index 1072ded7..0a217deb 100644 --- a/Src/Dlhis.Basic/WorkGrids/Services/Implements/WorkGridService.cs +++ b/Src/Dlhis.Basic/WorkGrids/Services/Implements/WorkGridService.cs @@ -1,5 +1,6 @@ using Dlhis.Basic.WorkGrids.Request; using Dlhis.Basic.WorkGrids.Response; +using Dlhis.Constants; using Dlhis.Entity.Basic.Entity; using Kurisu.AspNetCore.Authentication.Abstractions; using Kurisu.AspNetCore.DataAccess.Dto; @@ -66,8 +67,13 @@ public class WorkGridService : IWorkGridService /// public async Task> GetPageAsync(WorkGridPageRequest request) { + var role = _currentUser.GetRole(); + var userCode = _currentUser.GetUserClaim(UserClaimConstants.JinkoCode); + var isAll = role is "admin" or "tenant-admin"; + return await _dbContext.Queryable() .LeftJoin((x, ga) => x.LeaderUserCode == ga.Code) + .WhereIF(!isAll, x => x.LeaderUserCode == userCode) .Select((x, ga) => new WorkGridPageResponse { Id = x.Id,