From 3836b59e25875c44a6345538a972cef720cc2a0c Mon Sep 17 00:00:00 2001 From: liguoyang Date: Thu, 21 Mar 2024 20:23:20 +0800 Subject: [PATCH] =?UTF-8?q?fix=20=E8=8F=9C=E5=8D=95=E6=97=B6=E6=95=88?= =?UTF-8?q?=E8=8C=83=E5=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Dishes/Services/Implements/DishesMenuService.cs | 12 ++++++++++++ .../Order/Services/Implements/BookingOrderService.cs | 1 - 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/Src/Dlhis.Basic/Dishes/Services/Implements/DishesMenuService.cs b/Src/Dlhis.Basic/Dishes/Services/Implements/DishesMenuService.cs index ac48ebe3..c2c7cc95 100644 --- a/Src/Dlhis.Basic/Dishes/Services/Implements/DishesMenuService.cs +++ b/Src/Dlhis.Basic/Dishes/Services/Implements/DishesMenuService.cs @@ -186,6 +186,18 @@ 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) diff --git a/Src/Dlhis.Canteen/Order/Services/Implements/BookingOrderService.cs b/Src/Dlhis.Canteen/Order/Services/Implements/BookingOrderService.cs index 6eeb6479..462904de 100644 --- a/Src/Dlhis.Canteen/Order/Services/Implements/BookingOrderService.cs +++ b/Src/Dlhis.Canteen/Order/Services/Implements/BookingOrderService.cs @@ -14,7 +14,6 @@ using Dlhis.Basic.Api; using Kurisu.SqlSugar.Extensions; using SqlSugar; using Mapster; -using MySqlX.XDevAPI.Relational; namespace Dlhis.Canteen.Order.Services.Implements;