From 226c5d68912a19637230dccf3c530cc58309a011 Mon Sep 17 00:00:00 2001 From: liguoyang Date: Fri, 29 Nov 2024 12:16:43 +0800 Subject: [PATCH] =?UTF-8?q?fix=20=E6=97=B6=E9=97=B4=E8=8C=83=E5=9B=B4?= =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Appointment/Services/Implements/AppointmentService.cs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Src/Dlhis.Basic/Appointment/Services/Implements/AppointmentService.cs b/Src/Dlhis.Basic/Appointment/Services/Implements/AppointmentService.cs index 313aef9e..31cf7b1b 100644 --- a/Src/Dlhis.Basic/Appointment/Services/Implements/AppointmentService.cs +++ b/Src/Dlhis.Basic/Appointment/Services/Implements/AppointmentService.cs @@ -208,6 +208,9 @@ public class AppointmentService : IAppointmentService public async Task> GetRecordListAsync(string factory, string search, VisitorAppointmentDetailStatusEnumType? status, DateTime start, DateTime end) { + var now = DateTime.Now; + var currentDateTime = start.Date.AddHours(now.Hour).AddMinutes(now.Minute); + return await _dbContext.Queryable() .LeftJoin((x, ga) => ga.IdNo == x.IdNo) .Where(x => SqlFunc.Subqueryable() @@ -216,8 +219,8 @@ public class AppointmentService : IAppointmentService ) .Where(x => x.IsEnterDoorArea) .WhereIF(status.HasValue, x => x.DoorStatus == status) - .WhereIF(status.HasValue && status == VisitorAppointmentDetailStatusEnumType.Wait, x => x.DoorStart >= start && x.DoorStart <= end) - .WhereIF(status.HasValue && status == VisitorAppointmentDetailStatusEnumType.Arrived, x => x.DoorStart >= start && x.DoorStart <= end) + .WhereIF(status.HasValue && status == VisitorAppointmentDetailStatusEnumType.Wait, x => currentDateTime >= x.DoorStart && currentDateTime <= x.DoorEnd) + .WhereIF(status.HasValue && status == VisitorAppointmentDetailStatusEnumType.Arrived, x => currentDateTime >= x.DoorStart && currentDateTime <= x.DoorEnd) .WhereIF(!status.HasValue, x => x.DoorStart >= start && x.DoorEnd <= end) .WhereIF(search.IsPresent(), x => x.Name.Contains(search) || x.No == search || x.IdNo == search) .Select(x => new AppointmentDetailResponse