fix 营业点明细查询支持多选
This commit is contained in:
@@ -20,10 +20,14 @@ public class BalanceRecordPageDetailRequest : PageDto, IValidatableObject
|
||||
/// <summary>
|
||||
/// 餐次 ShiftEnumType
|
||||
/// </summary>
|
||||
[EnumDataType(typeof(ShiftEnumType))]
|
||||
public ShiftEnumType? ShiftType { get; set; }
|
||||
public List<ShiftEnumType?> ShiftTypes { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 餐次 ShiftEnumType
|
||||
/// </summary>
|
||||
[EnumDataType(typeof(ShiftEnumType))]
|
||||
public ShiftEnumType? ShiftType { get; set; }
|
||||
|
||||
|
||||
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
|
||||
{
|
||||
if (SearchDateTimePeriod?.End != null)
|
||||
@@ -31,6 +35,13 @@ public class BalanceRecordPageDetailRequest : PageDto, IValidatableObject
|
||||
SearchDateTimePeriod.End = SearchDateTimePeriod.End.Value.AddDays(1).AddSeconds(-1);
|
||||
}
|
||||
|
||||
if (ShiftType.HasValue)
|
||||
{
|
||||
ShiftTypes ??= new List<ShiftEnumType?>();
|
||||
ShiftTypes.Add(ShiftType);
|
||||
ShiftTypes = ShiftTypes.Distinct().ToList();
|
||||
}
|
||||
|
||||
yield break;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -304,7 +304,7 @@ public class BalanceService : IBalanceService
|
||||
.WhereIF(request.SearchDateTimePeriod.HasValue(), record => record.CostDate >= request.SearchDateTimePeriod.Start && record.CostDate <= request.SearchDateTimePeriod.End)
|
||||
.Where(record => record.Type == BalanceRecordTypeEnumType.Out && record.Status == BalanceRecordStatusEnumType.Valid)
|
||||
.Where(record => myCodes.Contains(record.BusinessPlaceCode))
|
||||
.WhereIF(request.ShiftType.HasValue, record => record.ShiftType == request.ShiftType)
|
||||
.WhereIF(request.ShiftTypes.IsPresent(), record => request.ShiftTypes.Contains(record.ShiftType))
|
||||
.WhereIF(request.Search.IsPresent(), record => record.UserCode == request.Search || record.Name == request.Search);
|
||||
|
||||
var page = await queryable
|
||||
@@ -368,7 +368,7 @@ public class BalanceService : IBalanceService
|
||||
.WhereIF(request.SearchDateTimePeriod.HasValue(), record => record.CostDate >= request.SearchDateTimePeriod.Start && record.CostDate <= request.SearchDateTimePeriod.End)
|
||||
.Where(record => record.Type == BalanceRecordTypeEnumType.Out && record.Status == BalanceRecordStatusEnumType.Valid)
|
||||
.Where(record => myCodes.Contains(record.BusinessPlaceCode))
|
||||
.WhereIF(request.ShiftType.HasValue, record => record.ShiftType == request.ShiftType)
|
||||
.WhereIF(request.ShiftTypes.IsPresent(), record => request.ShiftTypes.Contains(record.ShiftType))
|
||||
.WhereIF(request.Search.IsPresent(), record => record.UserCode == request.Search || record.Name == request.Search);
|
||||
|
||||
var rows = await queryable
|
||||
|
||||
Reference in New Issue
Block a user