fix 消费明细分页调整

This commit is contained in:
2024-04-08 18:09:46 +08:00
parent c5e8de6114
commit 3d136b13bf
9 changed files with 207 additions and 122 deletions

View File

@@ -0,0 +1,26 @@
using System.ComponentModel.DataAnnotations;
using Kurisu.Core.CustomClass;
using Kurisu.Core.DataAccess.Dto;
namespace Dlhis.Canteen.Order.Request;
public class BalanceRecordPageDetailRequest : PageDto, IValidatableObject
{
/// <summary>
/// 查询时间范围
/// </summary>
public DateTimePeriod SearchDateTimePeriod { get; set; }
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
{
if (SearchDateTimePeriod != null)
{
if (SearchDateTimePeriod.End.HasValue)
{
SearchDateTimePeriod.End = SearchDateTimePeriod.End.Value.AddDays(1).AddSeconds(-1);
}
}
yield break;
}
}

View File

@@ -1,52 +0,0 @@
using Dlhis.Entity.Canteen.Enums;
using Kurisu.Core.DataAccess.Dto;
using SqlSugar;
using SqlSugar.DbConvert;
using System.ComponentModel.DataAnnotations;
namespace Dlhis.Canteen.Dishes.Request
{
public class BalanceRecordPageDetailsRequest : PageDto
{
/// <summary>
/// 姓名
/// </summary>
public string Name { get; set; }
/// <summary>
/// 部门号
/// </summary>
public string DepartmentNo { get; set; }
/// <summary>
/// 学工号
/// </summary>
public string UserCode { get; set; }
/// <summary>
/// 收入/支出
/// </summary>
[EnumDataType(typeof(BalanceRecordTypeEnumType))]
public BalanceRecordTypeEnumType? Type { get; set; }
/// <summary>
/// 餐次
/// </summary>
public Guid? BusinessShiftCode { get; set; }
/// <summary>
/// 营业点
/// </summary>
public Guid? BusinessPlaceCode { get; set; }
/// <summary>
/// 开始日期
/// </summary>
public DateTime? StartDatetime { get; set; }
/// <summary>
/// 结束日期
/// </summary>
public DateTime? EndDatetime { get; set; }
}
}

View File

@@ -18,7 +18,7 @@ public class BalanceRecordPageRequest : PageDto, IValidatableObject
public List<ShiftEnumType?> ShiftTypes { get; set; }
/// <summary>
/// 充值/消费
/// 充值/消费 BalanceRecordTypeEnumType
/// </summary>
[EnumDataType(typeof(BalanceRecordTypeEnumType))]
public BalanceRecordTypeEnumType? Type { get; set; }
@@ -37,7 +37,7 @@ public class BalanceRecordPageRequest : PageDto, IValidatableObject
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
{
var now = DateTime.Now;
var today = DateTime.Today;
if (SearchDateTimeDimension.HasValue)
{
//重新赋值
@@ -45,37 +45,47 @@ public class BalanceRecordPageRequest : PageDto, IValidatableObject
if (SearchDateTimeDimension == DateTimeSearchEnumType.Day)
{
SearchDateTimePeriod.Start = DateTime.Today;
SearchDateTimePeriod.End = new DateTime(now.Year, now.Month, now.Day, 23, 59, 59);
SearchDateTimePeriod.Start = today;
SearchDateTimePeriod.End = today.AddDays(1).AddSeconds(-1);
}
else if (SearchDateTimeDimension == DateTimeSearchEnumType.Week)
{
SearchDateTimePeriod.Start = now.AddDays(1 - (int)now.DayOfWeek);
SearchDateTimePeriod.Start = today.AddDays(1 - (int)today.DayOfWeek);
SearchDateTimePeriod.End = SearchDateTimePeriod.Start.Value.AddDays(6);
}
else if (SearchDateTimeDimension == DateTimeSearchEnumType.Month)
{
SearchDateTimePeriod.Start = new DateTime(now.Year, now.Month, 1);
SearchDateTimePeriod.Start = new DateTime(today.Year, today.Month, 1);
SearchDateTimePeriod.End = SearchDateTimePeriod.Start.Value.AddMonths(1).AddDays(-1);
}
else if (SearchDateTimeDimension == DateTimeSearchEnumType.Season)
{
SearchDateTimePeriod.Start = now.AddMonths(0 - ((now.Month - 1) % 3));
SearchDateTimePeriod.End = now.AddMonths(3 - ((now.Month - 1) % 3)).AddMonths(1).AddDays(-1);
SearchDateTimePeriod.Start = new DateTime(today.Year, today.Month, 1).AddMonths(2 - ((today.Month - 1) % 3));
SearchDateTimePeriod.End = SearchDateTimePeriod.Start.Value.AddMonths(2);
}
else if (SearchDateTimeDimension == DateTimeSearchEnumType.HalfOfYear)
{
SearchDateTimePeriod.Start = now.AddDays(-180);
SearchDateTimePeriod.End = now;
SearchDateTimePeriod.Start = today.AddDays(-180);
SearchDateTimePeriod.End = today;
}
else if (SearchDateTimeDimension == DateTimeSearchEnumType.Year)
{
SearchDateTimePeriod.Start = new DateTime(now.Year, 1, 1);
SearchDateTimePeriod.Start = new DateTime(today.Year, 1, 1);
SearchDateTimePeriod.End = SearchDateTimePeriod.Start.Value.AddYears(1).AddDays(-1);
}
SearchDateTimePeriod.Start = SearchDateTimePeriod.Start.Value.Date;
SearchDateTimePeriod.End = SearchDateTimePeriod.End.Value.Date;
SearchDateTimePeriod.Start = SearchDateTimePeriod.Start.Value;
SearchDateTimePeriod.End = SearchDateTimePeriod.End.Value;
}
else
{
if (SearchDateTimePeriod != null)
{
if (SearchDateTimePeriod.End.HasValue)
{
SearchDateTimePeriod.End = SearchDateTimePeriod.End.Value.AddDays(1).AddSeconds(-1);
}
}
}
yield break;