fix 优化查询
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using Dlhis.Entity.Canteen.Enums;
|
||||
using Kurisu.Core.CustomClass;
|
||||
using Kurisu.Core.DataAccess.Dto;
|
||||
|
||||
@@ -16,6 +17,11 @@ public class BalanceRecordPageDetailRequest : PageDto, IValidatableObject
|
||||
/// </summary>
|
||||
public List<Guid?> BusinessplaceCodes { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 餐次 ShiftEnumType
|
||||
/// </summary>
|
||||
[EnumDataType(typeof(ShiftEnumType))]
|
||||
public ShiftEnumType? ShiftType { get; set; }
|
||||
|
||||
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
|
||||
{
|
||||
|
||||
@@ -296,9 +296,10 @@ public class BalanceService : IBalanceService
|
||||
.LeftJoin<BusinessPlaceEntity>((record, department, bplace) => record.BusinessPlaceCode == bplace.Code)
|
||||
.LeftJoin<GainfoEntity>((record, department, bplace, gainfo) => record.UserNo == gainfo.No)
|
||||
.Where((record) => myCodes.Contains(record.BusinessPlaceCode))
|
||||
.Where((record) => record.Type == BalanceRecordTypeEnumType.Out)
|
||||
.Where((record) => record.Type == BalanceRecordTypeEnumType.Out && record.Status == BalanceRecordStatusEnumType.Valid)
|
||||
.WhereIF(request.SearchDateTimePeriod?.Start.HasValue == true, record => record.CostDateTime >= request.SearchDateTimePeriod.Start)
|
||||
.WhereIF(request.SearchDateTimePeriod?.End.HasValue == true, record => record.CostDateTime <= request.SearchDateTimePeriod.End)
|
||||
.WhereIF(request.ShiftType.HasValue, record => record.ShiftType == request.ShiftType)
|
||||
.WhereIF(request.Search.IsPresent(), record => record.UserCode == request.Search || record.Name == request.Search)
|
||||
.WhereIF(request.BusinessplaceCodes.IsPresent(), record => request.BusinessplaceCodes.Contains(record.BusinessPlaceCode))
|
||||
.OrderBy(record => record.CostDateTime, OrderByType.Desc)
|
||||
@@ -549,7 +550,7 @@ public class BalanceService : IBalanceService
|
||||
.LeftJoin<DepartmentEntity>((record, ga, department) => ga.DepartmentNo == department.No)
|
||||
.LeftJoin<BusinessPlaceEntity>((record, ga, department, bplace) => record.BusinessPlaceCode == bplace.Code)
|
||||
.Where(record => record.Type == BalanceRecordTypeEnumType.Out)
|
||||
.Where(record => record.Status == BalanceRecordStatusEnumType.Valid)
|
||||
.Where(record => record.Status == BalanceRecordStatusEnumType.Valid)
|
||||
.WhereIF(request.SearchDateTimePeriod?.Start.HasValue == true, record => record.CostDate >= request.SearchDateTimePeriod.Start)
|
||||
.WhereIF(request.SearchDateTimePeriod?.End.HasValue == true, record => record.CostDate <= request.SearchDateTimePeriod.End)
|
||||
.WhereIF(request.ApplicationType.HasValue, record => record.ApplicationType == request.ApplicationType)
|
||||
|
||||
Reference in New Issue
Block a user