diff --git a/Src/Dlhis.Basic/Dishes/Services/Implements/DishesMenuService.cs b/Src/Dlhis.Basic/Dishes/Services/Implements/DishesMenuService.cs index d007c4d2..9c4dd628 100644 --- a/Src/Dlhis.Basic/Dishes/Services/Implements/DishesMenuService.cs +++ b/Src/Dlhis.Basic/Dishes/Services/Implements/DishesMenuService.cs @@ -119,6 +119,18 @@ public class DishesMenuService : IDishesMenuService myBps.Contains(request.BusinessPlaceCode).ThrowIfFalse("非经营营业点,无法保存菜单"); + if (request.Items.Any()) + { + Expression> whereCheck = LinqExpressionExtension.False(); + request.Items.ForEach(p => + { + whereCheck = whereCheck.Or(x => !(x.EndDate < p.Period.Start || x.StartDate > p.Period.End)); + }); + + var duplicate = await _dbContext.Queryable().Where(whereCheck).AnyAsync(); + duplicate.ThrowIfTrue("菜单时效冲突"); + } + var entities = request.Items.SelectMany(item => { var customCode = item.CustomCode; @@ -164,18 +176,6 @@ public class DishesMenuService : IDishesMenuService await _dbContext.Client.Deleteable().Where(where).ExecuteCommandAsync(); await _dbContext.InsertAsync(entities); - - if (request.Items.Any()) - { - Expression> whereCheck = LinqExpressionExtension.False(); - request.Items.ForEach(p => - { - whereCheck = where.Or(x => !(x.EndDate < p.Period.Start || x.StartDate > p.Period.End)); - }); - - var duplicate = await _dbContext.Queryable().Where(whereCheck).AnyAsync(); - duplicate.ThrowIfTrue("菜单时效冲突"); - } } public async Task GetBookingDishesDetailAsync(DateTime date, Guid businessPlaceCode, ShiftEnumType shiftType, string dishesCode)