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
};