fix 营业点明细查询支持多选

This commit is contained in:
2025-06-10 13:48:31 +08:00
parent aca027e9e6
commit f0f467562c
2 changed files with 17 additions and 6 deletions

View File

@@ -17,13 +17,17 @@ public class BalanceRecordPageDetailRequest : PageDto, IValidatableObject
/// </summary>
public List<Guid?> BusinessplaceCodes { get; set; }
/// <summary>
/// 餐次 ShiftEnumType
/// </summary>
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;
}
}

View File

@@ -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