fix 使用datetime的searchDate
This commit is contained in:
@@ -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
|
||||
{
|
||||
/// <summary>
|
||||
/// 查询日期
|
||||
/// </summary>
|
||||
public DateOnly Date { get; set; }
|
||||
public DateTime SearchDate { get; set; }
|
||||
|
||||
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
|
||||
{
|
||||
if (SearchDate.Date > DateTime.Now.Date)
|
||||
{
|
||||
yield return new ValidationResult("查询日期不能大于今天", new[] { nameof(SearchDate) });
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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<UserAttendanceDataAnalysisInfoResponse> 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<UserAttendanceDataAnalysisEntity>()
|
||||
.LeftJoin<GainfoEntity>((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<ShiftTimeRange>(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
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user