fix: 优化查询字段命中问题
This commit is contained in:
@@ -85,14 +85,16 @@ public class MealSupplementRecordService : IMealSupplementRecordService
|
|||||||
return _dbContext.Queryable<MealSupplementRecordEntity>()
|
return _dbContext.Queryable<MealSupplementRecordEntity>()
|
||||||
.LeftJoin<GainfoEntity>((x, ga) => x.Code == ga.Code)
|
.LeftJoin<GainfoEntity>((x, ga) => x.Code == ga.Code)
|
||||||
.LeftJoin<GainfoLeaveEntity>((x, ga, gaLeave) => gaLeave.Code == x.Code)
|
.LeftJoin<GainfoLeaveEntity>((x, ga, gaLeave) => gaLeave.Code == x.Code)
|
||||||
|
.WhereIF(request.Search.IsPresent(), (x, ga) => x.Code == request.Search)
|
||||||
|
.WhereIF(request.DateTimePeriod.HasValue(), x => x.Date >= request.DateTimePeriod.Start && x.Date <= request.DateTimePeriod.End)
|
||||||
.WhereIF(request.Status.HasValue, x => x.Status == request.Status)
|
.WhereIF(request.Status.HasValue, x => x.Status == request.Status)
|
||||||
.WhereIF(request.Sync.HasValue, x => x.Sync == request.Sync)
|
.WhereIF(request.Sync.HasValue, x => x.Sync == request.Sync)
|
||||||
.WhereIF(request.Workplace.IsPresent(), x => x.Workplace == request.Workplace)
|
.WhereIF(request.Workplace.IsPresent(), x => x.Workplace == request.Workplace)
|
||||||
.WhereIF(request.Factory.IsPresent(), x => x.Factory == request.Factory)
|
.WhereIF(request.Factory.IsPresent(), x => x.Factory == request.Factory)
|
||||||
.WhereIF(request.DepartmentNo.IsPresent(), (x, ga, gaLeave) => ga.DepartmentNo == request.DepartmentNo || gaLeave.DepartmentNo == request.DepartmentNo)
|
.WhereIF(request.DepartmentNo.IsPresent(), (x, ga, gaLeave) => ga.DepartmentNo == request.DepartmentNo || gaLeave.DepartmentNo == request.DepartmentNo)
|
||||||
.WhereIF(request.Werks.IsPresent(), (x, ga) => ga.Werks == request.Werks)
|
.WhereIF(request.Werks.IsPresent(), (x, ga) => ga.Werks == request.Werks)
|
||||||
.WhereIF(request.DateTimePeriod.HasValue(), x => x.Date >= request.DateTimePeriod.Start && x.Date <= request.DateTimePeriod.End)
|
.OrderByDescending(x => x.Date)
|
||||||
.WhereIF(request.Search.IsPresent(), (x, ga) => x.Code == request.Search || ga.Name == request.Search);
|
;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user