fix 优化查询

This commit is contained in:
2025-02-26 12:13:47 +08:00
parent 28c77bedbe
commit 179075d2eb
6 changed files with 28 additions and 13 deletions

View File

@@ -74,6 +74,7 @@ public class WorkGridService : IWorkGridService
return await _dbContext.Queryable<WorkGridEntity>()
.LeftJoin<GainfoEntity>((x, ga) => x.LeaderUserCode == ga.Code)
.WhereIF(!isAll, x => x.LeaderUserCode == userCode)
.WhereIF(request.Search.IsPresent(), x => x.Name.Contains(request.Search) || x.LeaderUserCode == request.Search)
.Select((x, ga) => new WorkGridPageResponse
{
Id = x.Id,
@@ -105,7 +106,8 @@ public class WorkGridService : IWorkGridService
{
var currentUserCode = _currentUser.GetUserClaim("jinko-code");
var myWorkGrid = await _dbContext.Queryable<WorkGridEntity>()
.Where(x => x.LeaderUserCode == currentUserCode)
.WhereIF(request.WorkGridCode.HasValue == false, x => x.LeaderUserCode == currentUserCode)
.WhereIF(request.WorkGridCode.HasValue, x => x.Code == request.WorkGridCode)
.Select(x => new WorkGridUserPageResponse
{
Id = x.Id,
@@ -115,6 +117,7 @@ public class WorkGridService : IWorkGridService
UserInfos = SqlFunc.Subqueryable<WorkGridUserEntity>()
.LeftJoin<GainfoEntity>((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,