From f0f467562c16953155b8ba54c9d9e627798fbe24 Mon Sep 17 00:00:00 2001 From: liguoyang Date: Tue, 10 Jun 2025 13:48:31 +0800 Subject: [PATCH] =?UTF-8?q?fix=20=E8=90=A5=E4=B8=9A=E7=82=B9=E6=98=8E?= =?UTF-8?q?=E7=BB=86=E6=9F=A5=E8=AF=A2=E6=94=AF=E6=8C=81=E5=A4=9A=E9=80=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Request/BalanceRecordPageDetailRequest.cs | 19 +++++++++++++++---- .../Services/Implements/BalanceService.cs | 4 ++-- 2 files changed, 17 insertions(+), 6 deletions(-) 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