From fac96a52a4c89d60e63aa96101b2b96724b5b0d9 Mon Sep 17 00:00:00 2001 From: liguoyang Date: Tue, 17 Jun 2025 16:17:27 +0800 Subject: [PATCH] =?UTF-8?q?fix=20=E4=BD=BF=E7=94=A8datetime=E7=9A=84search?= =?UTF-8?q?Date?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../UserAttendanceDataAnalysisPageRequest.cs | 13 +++++++++++-- .../UserAttendanceDataAnalysisService.cs | 15 ++++++++------- 2 files changed, 19 insertions(+), 9 deletions(-) diff --git a/Src/Dlhis.ScheduledTask/DeviceUploadLog/Request/UserAttendanceDataAnalysisPageRequest.cs b/Src/Dlhis.ScheduledTask/DeviceUploadLog/Request/UserAttendanceDataAnalysisPageRequest.cs index c7de4a56..54f31be2 100644 --- a/Src/Dlhis.ScheduledTask/DeviceUploadLog/Request/UserAttendanceDataAnalysisPageRequest.cs +++ b/Src/Dlhis.ScheduledTask/DeviceUploadLog/Request/UserAttendanceDataAnalysisPageRequest.cs @@ -1,11 +1,20 @@ +using System.ComponentModel.DataAnnotations; using Kurisu.AspNetCore.DataAccess.Dto; namespace Dlhis.ScheduledTask.DeviceUploadLog.Request; -public class UserAttendanceDataAnalysisPageRequest : PageDto +public class UserAttendanceDataAnalysisPageRequest : PageDto, IValidatableObject { /// /// 查询日期 /// - public DateOnly Date { get; set; } + public DateTime SearchDate { get; set; } + + public IEnumerable Validate(ValidationContext validationContext) + { + if (SearchDate.Date > DateTime.Now.Date) + { + yield return new ValidationResult("查询日期不能大于今天", new[] { nameof(SearchDate) }); + } + } } \ No newline at end of file diff --git a/Src/Dlhis.ScheduledTask/DeviceUploadLog/Services/Implements/UserAttendanceDataAnalysisService.cs b/Src/Dlhis.ScheduledTask/DeviceUploadLog/Services/Implements/UserAttendanceDataAnalysisService.cs index 19a15d76..b0e81944 100644 --- a/Src/Dlhis.ScheduledTask/DeviceUploadLog/Services/Implements/UserAttendanceDataAnalysisService.cs +++ b/Src/Dlhis.ScheduledTask/DeviceUploadLog/Services/Implements/UserAttendanceDataAnalysisService.cs @@ -7,7 +7,6 @@ using Dlhis.ScheduledTask.DeviceUploadLog.Response; using Kurisu.AspNetCore.DataAccess.SqlSugar.Extensions; using Kurisu.AspNetCore.DataAccess.SqlSugar.Services; using Kurisu.AspNetCore.Utils.Extensions; -using Org.BouncyCastle.Asn1.X9; using SqlSugar; namespace Dlhis.ScheduledTask.DeviceUploadLog.Services.Implements; @@ -50,9 +49,11 @@ public class UserAttendanceDataAnalysisService : IUserAttendanceDataAnalysisServ public async Task GetPageAsync(UserAttendanceDataAnalysisPageRequest request) { + var searchDate = DateOnly.FromDateTime(request.SearchDate); + //查询日期的时间范围 - var searchStart = request.Date.ToDateTime(TimeOnly.MinValue); - var searchEnd = request.Date.ToDateTime(TimeOnly.MaxValue).AddSeconds(1); + var searchStart = searchDate.ToDateTime(TimeOnly.MinValue); + var searchEnd = searchDate.ToDateTime(TimeOnly.MaxValue).AddSeconds(1); var page = await _dbContext.Queryable() .LeftJoin((x, user) => x.UserCode == user.Code) @@ -69,9 +70,9 @@ public class UserAttendanceDataAnalysisService : IUserAttendanceDataAnalysisServ .ToPageListAsync(request); - var (shiftStartRange, shiftEndRange) = await GetShiftTimeRangesAsync(request.Date); + var (shiftStartRange, shiftEndRange) = await GetShiftTimeRangesAsync(searchDate); - if (await IsRestDayAsync(request.Date)) + if (await IsRestDayAsync(searchDate)) { foreach (var item in page.Data) { @@ -108,8 +109,8 @@ public class UserAttendanceDataAnalysisService : IUserAttendanceDataAnalysisServ return new UserAttendanceDataAnalysisInfoResponse { ShiftTimes = new List(2) { shiftStartRange, shiftEndRange }, - LastAnalysisDateTime = request.Date < DateOnly.FromDateTime(DateTime.Now.Date) - ? request.Date.ToDateTime(TimeOnly.MaxValue) + LastAnalysisDateTime = searchDate < DateOnly.FromDateTime(DateTime.Now.Date) + ? searchDate.ToDateTime(TimeOnly.MaxValue) : DateTime.Now, Pagination = page };