diff --git a/Src/Dlhis.Basic/WorkGrids/Services/Implements/WorkGridService.cs b/Src/Dlhis.Basic/WorkGrids/Services/Implements/WorkGridService.cs index b60bff8e..ce8210fc 100644 --- a/Src/Dlhis.Basic/WorkGrids/Services/Implements/WorkGridService.cs +++ b/Src/Dlhis.Basic/WorkGrids/Services/Implements/WorkGridService.cs @@ -180,21 +180,22 @@ public class WorkGridService : IWorkGridService Id = x.Id, Code = x.Code, Name = x.Name, - Remark = x.Remark, - UserInfos = SqlFunc.Subqueryable() - .LeftJoin((p, ga) => p.UserCode == ga.Code) - .Where((p, ga) => p.WorkGridCode == x.Code) - .WhereIF(request.Search.IsPresent(), (p, ga) => p.UserCode == request.Search || ga.Name.Contains(request.Search)) - .ToList((p, ga) => new WorkGridUserPageDetailResponse - { - Code = p.UserCode, - Name = ga.Name - }) + Remark = x.Remark }) .SingleAsync(); if (myWorkGrid != null) { + myWorkGrid.UserInfos = await _dbContext.Queryable() + .LeftJoin((x, ga) => x.UserCode == ga.Code) + .Where((x, ga) => x.WorkGridCode == myWorkGrid.Code) + .WhereIF(request.Search.IsPresent(), (x, ga) => x.UserCode == request.Search || ga.Name.Contains(request.Search)) + .Select((x, ga) => new WorkGridUserPageDetailResponse + { + Code = x.UserCode, + Name = ga.Name + }).ToListAsync(); + var userCodes = myWorkGrid.UserInfos.Select(x => x.Code).ToList(); if (userCodes.Any()) { @@ -206,7 +207,7 @@ public class WorkGridService : IWorkGridService } } } - + return myWorkGrid; }