diff --git a/Src/Dlhis.Canteen/Order/Request/BalanceRecordPageDetailRequest.cs b/Src/Dlhis.Canteen/Order/Request/BalanceRecordPageDetailRequest.cs
index aa31a2f6..cbfda47c 100644
--- a/Src/Dlhis.Canteen/Order/Request/BalanceRecordPageDetailRequest.cs
+++ b/Src/Dlhis.Canteen/Order/Request/BalanceRecordPageDetailRequest.cs
@@ -20,10 +20,14 @@ public class BalanceRecordPageDetailRequest : PageDto, IValidatableObject
///
/// 餐次 ShiftEnumType
///
- [EnumDataType(typeof(ShiftEnumType))]
- public ShiftEnumType? ShiftType { get; set; }
+ public List ShiftTypes { get; set; }
+
+ ///
+ /// 餐次 ShiftEnumType
+ ///
+ [EnumDataType(typeof(ShiftEnumType))]
+ public ShiftEnumType? ShiftType { get; set; }
-
public IEnumerable 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();
+ ShiftTypes.Add(ShiftType);
+ ShiftTypes = ShiftTypes.Distinct().ToList();
+ }
+
yield break;
}
-}
+}
\ No newline at end of file
diff --git a/Src/Dlhis.Canteen/Order/Services/Implements/BalanceService.cs b/Src/Dlhis.Canteen/Order/Services/Implements/BalanceService.cs
index 6e81c8b6..9fabbcd8 100644
--- a/Src/Dlhis.Canteen/Order/Services/Implements/BalanceService.cs
+++ b/Src/Dlhis.Canteen/Order/Services/Implements/BalanceService.cs
@@ -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