fix 数据赋值,增加餐补数据修复处理
This commit is contained in:
@@ -37,6 +37,18 @@ public class BalancesController : ControllerBase
|
|||||||
return await _balanceService.GetPageAsync(request);
|
return await _balanceService.GetPageAsync(request);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 修补餐补明细
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="request"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[Authorize(Roles = "admin,tenant-admin")]
|
||||||
|
[HttpPost("supplementBalance")]
|
||||||
|
public async Task SupplementBalanceAsync(BalanceSupplementRequest request)
|
||||||
|
{
|
||||||
|
await _balanceService.SupplementBalanceAsync(request);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 消费明细
|
/// 消费明细
|
||||||
|
|||||||
@@ -23,12 +23,6 @@ public class BalanceRecordPageRequest : PageDto, IValidatableObject
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public string Factory { get; set; }
|
public string Factory { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 查询日期范围类型 DateTimeSearchEnumType
|
|
||||||
/// </summary>
|
|
||||||
[EnumDataType(typeof(DateTimeSearchEnumType))]
|
|
||||||
public DateTimeSearchEnumType? SearchDateTimeDimension { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 日期范围查询
|
/// 日期范围查询
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -36,54 +30,11 @@ public class BalanceRecordPageRequest : PageDto, IValidatableObject
|
|||||||
|
|
||||||
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
|
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
|
||||||
{
|
{
|
||||||
var today = DateTime.Today;
|
if (SearchDateTimePeriod != null)
|
||||||
if (SearchDateTimeDimension.HasValue)
|
|
||||||
{
|
{
|
||||||
//重新赋值
|
if (SearchDateTimePeriod.End.HasValue)
|
||||||
SearchDateTimePeriod = new DateTimePeriod();
|
|
||||||
|
|
||||||
if (SearchDateTimeDimension == DateTimeSearchEnumType.Day)
|
|
||||||
{
|
{
|
||||||
SearchDateTimePeriod.Start = today;
|
SearchDateTimePeriod.End = SearchDateTimePeriod.End.Value.AddDays(1).AddSeconds(-1);
|
||||||
SearchDateTimePeriod.End = today.AddDays(1).AddSeconds(-1);
|
|
||||||
}
|
|
||||||
else if (SearchDateTimeDimension == DateTimeSearchEnumType.Week)
|
|
||||||
{
|
|
||||||
SearchDateTimePeriod.Start = today.AddDays(1 - (int)today.DayOfWeek);
|
|
||||||
SearchDateTimePeriod.End = SearchDateTimePeriod.Start.Value.AddDays(6);
|
|
||||||
}
|
|
||||||
else if (SearchDateTimeDimension == DateTimeSearchEnumType.Month)
|
|
||||||
{
|
|
||||||
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 = 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 = today.AddDays(-180);
|
|
||||||
SearchDateTimePeriod.End = today;
|
|
||||||
}
|
|
||||||
else if (SearchDateTimeDimension == DateTimeSearchEnumType.Year)
|
|
||||||
{
|
|
||||||
SearchDateTimePeriod.Start = new DateTime(today.Year, 1, 1);
|
|
||||||
SearchDateTimePeriod.End = SearchDateTimePeriod.Start.Value.AddYears(1).AddDays(-1);
|
|
||||||
}
|
|
||||||
|
|
||||||
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);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -7,12 +7,6 @@ namespace Dlhis.Canteen.Order.Request;
|
|||||||
|
|
||||||
public class BalanceRecordUserPageRequest : PageDto, IValidatableObject
|
public class BalanceRecordUserPageRequest : PageDto, IValidatableObject
|
||||||
{
|
{
|
||||||
/// <summary>
|
|
||||||
/// 查询日期范围类型 DateTimeSearchEnumType
|
|
||||||
/// </summary>
|
|
||||||
[EnumDataType(typeof(DateTimeSearchEnumType))]
|
|
||||||
public DateTimeSearchEnumType? SearchDateTimeDimension { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 消费应用类型
|
/// 消费应用类型
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -26,54 +20,11 @@ public class BalanceRecordUserPageRequest : PageDto, IValidatableObject
|
|||||||
|
|
||||||
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
|
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
|
||||||
{
|
{
|
||||||
var now = DateTime.Now;
|
if (SearchDateTimePeriod != null)
|
||||||
if (SearchDateTimeDimension.HasValue)
|
|
||||||
{
|
{
|
||||||
//重新赋值
|
if (SearchDateTimePeriod.End != null)
|
||||||
SearchDateTimePeriod = new DateTimePeriod();
|
|
||||||
|
|
||||||
if (SearchDateTimeDimension == DateTimeSearchEnumType.Day)
|
|
||||||
{
|
{
|
||||||
SearchDateTimePeriod.Start = DateTime.Today;
|
SearchDateTimePeriod.End = SearchDateTimePeriod.End.Value.AddDays(1).AddSeconds(-1);
|
||||||
SearchDateTimePeriod.End = new DateTime(now.Year, now.Month, now.Day, 23, 59, 59);
|
|
||||||
}
|
|
||||||
else if (SearchDateTimeDimension == DateTimeSearchEnumType.Week)
|
|
||||||
{
|
|
||||||
SearchDateTimePeriod.Start = now.AddDays(1 - (int)now.DayOfWeek);
|
|
||||||
SearchDateTimePeriod.End = SearchDateTimePeriod.Start.Value.AddDays(6);
|
|
||||||
}
|
|
||||||
else if (SearchDateTimeDimension == DateTimeSearchEnumType.Month)
|
|
||||||
{
|
|
||||||
SearchDateTimePeriod.Start = new DateTime(now.Year, now.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);
|
|
||||||
}
|
|
||||||
else if (SearchDateTimeDimension == DateTimeSearchEnumType.HalfOfYear)
|
|
||||||
{
|
|
||||||
SearchDateTimePeriod.Start = now.AddDays(-180);
|
|
||||||
SearchDateTimePeriod.End = now;
|
|
||||||
}
|
|
||||||
else if (SearchDateTimeDimension == DateTimeSearchEnumType.Year)
|
|
||||||
{
|
|
||||||
SearchDateTimePeriod.Start = new DateTime(now.Year, 1, 1);
|
|
||||||
SearchDateTimePeriod.End = SearchDateTimePeriod.Start.Value.AddYears(1).AddDays(-1);
|
|
||||||
}
|
|
||||||
|
|
||||||
SearchDateTimePeriod.Start = SearchDateTimePeriod.Start.Value.Date;
|
|
||||||
SearchDateTimePeriod.End = SearchDateTimePeriod.End.Value.Date;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if (SearchDateTimePeriod != null)
|
|
||||||
{
|
|
||||||
if (SearchDateTimePeriod.End != null)
|
|
||||||
{
|
|
||||||
SearchDateTimePeriod.End = SearchDateTimePeriod.End.Value.AddDays(1).AddSeconds(-1);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
31
Src/Dlhis.Canteen/Order/Request/BalanceSupplementRequest.cs
Normal file
31
Src/Dlhis.Canteen/Order/Request/BalanceSupplementRequest.cs
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
|
namespace Dlhis.Canteen.Order.Request;
|
||||||
|
|
||||||
|
public class BalanceSupplementRequest : IValidatableObject
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 流水号
|
||||||
|
/// </summary>
|
||||||
|
[Required(ErrorMessage = "流水号")]
|
||||||
|
public string No { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 事由
|
||||||
|
/// </summary>
|
||||||
|
[Required(ErrorMessage = "事由")]
|
||||||
|
public string Reason { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 补金额数
|
||||||
|
/// </summary>
|
||||||
|
public decimal Amount { get; set; }
|
||||||
|
|
||||||
|
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
|
||||||
|
{
|
||||||
|
if (Amount == 0)
|
||||||
|
{
|
||||||
|
yield return new ValidationResult("金额不可为0元", new[] { nameof(Amount) });
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -13,6 +13,8 @@ public interface IBalanceService : IScopeDependency
|
|||||||
|
|
||||||
Task<BalanceRecordUserResultResponse> GetPageByUserAsync(BalanceRecordUserPageRequest request);
|
Task<BalanceRecordUserResultResponse> GetPageByUserAsync(BalanceRecordUserPageRequest request);
|
||||||
|
|
||||||
|
Task SupplementBalanceAsync(BalanceSupplementRequest request);
|
||||||
|
|
||||||
Task ObsoluteAsync(BalanceRecordObsoluteRequest request);
|
Task ObsoluteAsync(BalanceRecordObsoluteRequest request);
|
||||||
|
|
||||||
Task<Pagination<BalanceRecordCostIdResponse>> RecordByCostIdAsync(BalanceRecordPageByCostIdRequest request);
|
Task<Pagination<BalanceRecordCostIdResponse>> RecordByCostIdAsync(BalanceRecordPageByCostIdRequest request);
|
||||||
|
|||||||
@@ -160,6 +160,38 @@ public class BalanceService : IBalanceService
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public async Task SupplementBalanceAsync(BalanceSupplementRequest request)
|
||||||
|
{
|
||||||
|
var balanceInfo = await _dbContext.Queryable<BalanceRecordEntity>().Where(x => x.No == request.No).SingleAsync();
|
||||||
|
(balanceInfo.Status != BalanceRecordStatusEnumType.Valid).ThrowIfTrue("消费明细状态有误");
|
||||||
|
|
||||||
|
balanceInfo.Status = BalanceRecordStatusEnumType.Obsolute;
|
||||||
|
|
||||||
|
await CommonHelper.RetryAsync(async () =>
|
||||||
|
{
|
||||||
|
var gainfoMeal = await _dbContext.Queryable<GainfoMealEntity>().Where(x => x.UserCode == balanceInfo.UserCode).SingleAsync();
|
||||||
|
var balance = gainfoMeal.Balance + balanceInfo.Amount + request.Amount;
|
||||||
|
|
||||||
|
await _dbContext.Updateable<GainfoMealEntity>()
|
||||||
|
.SetColumns(x => x.Balance == balance)
|
||||||
|
.SetColumns(x => x.Version == x.Version + 1)
|
||||||
|
.SetColumns(x => x.ModifiedTime == DateTime.Now)
|
||||||
|
.Where(x => x.UserCode == balanceInfo.UserCode && x.Version == gainfoMeal.Version)
|
||||||
|
.ExecuteCommandThrowVersionAsync();
|
||||||
|
});
|
||||||
|
|
||||||
|
var newBalanceRecord = balanceInfo.Adapt<BalanceRecordEntity>();
|
||||||
|
newBalanceRecord.Id = 0;
|
||||||
|
newBalanceRecord.No = SnowFlakeHelper.Instance.NextId().ToString();
|
||||||
|
newBalanceRecord.Amount = request.Amount;
|
||||||
|
newBalanceRecord.Remark = balanceInfo.No;
|
||||||
|
newBalanceRecord.Status = BalanceRecordStatusEnumType.Valid;
|
||||||
|
|
||||||
|
await _dbContext.UpdateAsync(balanceInfo);
|
||||||
|
await _dbContext.InsertAsync(newBalanceRecord);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 根据成本中心
|
/// 根据成本中心
|
||||||
@@ -561,6 +593,7 @@ public class BalanceService : IBalanceService
|
|||||||
await _dbContext.Updateable<GainfoMealEntity>()
|
await _dbContext.Updateable<GainfoMealEntity>()
|
||||||
.SetColumns(x => x.Balance == canteenUser.Balance)
|
.SetColumns(x => x.Balance == canteenUser.Balance)
|
||||||
.SetColumns(x => x.Version == x.Version + 1)
|
.SetColumns(x => x.Version == x.Version + 1)
|
||||||
|
.SetColumns(x => x.ModifiedTime == DateTime.Now)
|
||||||
.Where(x => x.UserNo == balanceRecord.UserNo && x.Version == canteenUser.Version)
|
.Where(x => x.UserNo == balanceRecord.UserNo && x.Version == canteenUser.Version)
|
||||||
.ExecuteCommandThrowVersionAsync();
|
.ExecuteCommandThrowVersionAsync();
|
||||||
|
|
||||||
|
|||||||
@@ -109,6 +109,7 @@ public class BookingOrderService : BaseOrderService, IBookingOrderService
|
|||||||
await DbContext.Updateable<GainfoMealEntity>()
|
await DbContext.Updateable<GainfoMealEntity>()
|
||||||
.SetColumns(x => x.Balance == mealInfo.Balance)
|
.SetColumns(x => x.Balance == mealInfo.Balance)
|
||||||
.SetColumns(x => x.Version == x.Version + 1)
|
.SetColumns(x => x.Version == x.Version + 1)
|
||||||
|
.SetColumns(x => x.ModifiedTime == DateTime.Now)
|
||||||
.Where(x => x.UserNo == order.UserNo && x.Version == mealInfo.Version)//必须与查询时的version一致
|
.Where(x => x.UserNo == order.UserNo && x.Version == mealInfo.Version)//必须与查询时的version一致
|
||||||
.ExecuteCommandThrowVersionAsync();
|
.ExecuteCommandThrowVersionAsync();
|
||||||
}
|
}
|
||||||
@@ -258,6 +259,7 @@ public class BookingOrderService : BaseOrderService, IBookingOrderService
|
|||||||
var mealInfo = await DbContext.Queryable<GainfoMealEntity>().Where(x => x.UserNo == order.UserNo).FirstAsync();
|
var mealInfo = await DbContext.Queryable<GainfoMealEntity>().Where(x => x.UserNo == order.UserNo).FirstAsync();
|
||||||
var setBalance = mealInfo.Balance + Math.Abs(order.Amount);
|
var setBalance = mealInfo.Balance + Math.Abs(order.Amount);
|
||||||
await DbContext.Updateable<GainfoMealEntity>()
|
await DbContext.Updateable<GainfoMealEntity>()
|
||||||
|
.SetColumns(x => x.Version == x.Version + 1)
|
||||||
.SetColumns(x => x.Balance == setBalance)
|
.SetColumns(x => x.Balance == setBalance)
|
||||||
.SetColumns(x => x.ModifiedTime == now)
|
.SetColumns(x => x.ModifiedTime == now)
|
||||||
.SetColumns(x => x.ModifiedBy == userId)
|
.SetColumns(x => x.ModifiedBy == userId)
|
||||||
|
|||||||
@@ -268,6 +268,7 @@ public class OrderService : BaseOrderService, IOrderService
|
|||||||
await DbContext.Updateable<GainfoMealEntity>()
|
await DbContext.Updateable<GainfoMealEntity>()
|
||||||
.SetColumns(x => x.Balance == gainfoMeal.Balance)
|
.SetColumns(x => x.Balance == gainfoMeal.Balance)
|
||||||
.SetColumns(x => x.Version == x.Version + 1)
|
.SetColumns(x => x.Version == x.Version + 1)
|
||||||
|
.SetColumns(x => x.ModifiedTime == DateTime.Now)
|
||||||
.Where(x => x.UserNo == order.UserNo && x.Version == gainfoMeal.Version)//必须与查询时的version一致
|
.Where(x => x.UserNo == order.UserNo && x.Version == gainfoMeal.Version)//必须与查询时的version一致
|
||||||
.ExecuteCommandThrowVersionAsync();
|
.ExecuteCommandThrowVersionAsync();
|
||||||
}
|
}
|
||||||
@@ -617,6 +618,7 @@ public class OrderService : BaseOrderService, IOrderService
|
|||||||
await DbContext.Updateable<GainfoMealEntity>()
|
await DbContext.Updateable<GainfoMealEntity>()
|
||||||
.SetColumns(x => x.Balance == canteenUser.Balance)
|
.SetColumns(x => x.Balance == canteenUser.Balance)
|
||||||
.SetColumns(x => x.Version == x.Version + 1)
|
.SetColumns(x => x.Version == x.Version + 1)
|
||||||
|
.SetColumns(x => x.ModifiedTime == DateTime.Now)
|
||||||
.Where(x => x.UserNo == order.UserNo && x.Version == canteenUser.Version)
|
.Where(x => x.UserNo == order.UserNo && x.Version == canteenUser.Version)
|
||||||
.ExecuteCommandThrowVersionAsync();
|
.ExecuteCommandThrowVersionAsync();
|
||||||
|
|
||||||
@@ -659,6 +661,7 @@ public class OrderService : BaseOrderService, IOrderService
|
|||||||
await DbContext.Updateable<GainfoMealEntity>()
|
await DbContext.Updateable<GainfoMealEntity>()
|
||||||
.SetColumns(x => x.Balance == gainfoMeal.Balance)
|
.SetColumns(x => x.Balance == gainfoMeal.Balance)
|
||||||
.SetColumns(x => x.Version == x.Version + 1)
|
.SetColumns(x => x.Version == x.Version + 1)
|
||||||
|
.SetColumns(x => x.ModifiedTime == DateTime.Now)
|
||||||
.Where(x => x.UserNo == order.UserNo && x.Version == gainfoMeal.Version)//必须与查询时的version一致
|
.Where(x => x.UserNo == order.UserNo && x.Version == gainfoMeal.Version)//必须与查询时的version一致
|
||||||
.ExecuteCommandThrowVersionAsync();
|
.ExecuteCommandThrowVersionAsync();
|
||||||
}
|
}
|
||||||
@@ -715,6 +718,7 @@ public class OrderService : BaseOrderService, IOrderService
|
|||||||
await DbContext.Updateable<GainfoMealEntity>()
|
await DbContext.Updateable<GainfoMealEntity>()
|
||||||
.SetColumns(x => x.Balance == gainfoMeal.Balance)
|
.SetColumns(x => x.Balance == gainfoMeal.Balance)
|
||||||
.SetColumns(x => x.Version == x.Version + 1)
|
.SetColumns(x => x.Version == x.Version + 1)
|
||||||
|
.SetColumns(x => x.ModifiedTime == DateTime.Now)
|
||||||
.Where(x => x.UserNo == order.UserNo && x.Version == gainfoMeal.Version)//必须与查询时的version一致
|
.Where(x => x.UserNo == order.UserNo && x.Version == gainfoMeal.Version)//必须与查询时的version一致
|
||||||
.ExecuteCommandThrowVersionAsync();
|
.ExecuteCommandThrowVersionAsync();
|
||||||
//写入记录
|
//写入记录
|
||||||
|
|||||||
@@ -145,7 +145,6 @@ public class BalanceRecordEntity : SugarBaseEntity, ISoftDeleted, ITenantId
|
|||||||
[SugarColumn(ColumnDescription = "餐饮应用类型", ColumnDataType = "varchar(50)", SqlParameterDbType = typeof(EnumToStringConvert))]
|
[SugarColumn(ColumnDescription = "餐饮应用类型", ColumnDataType = "varchar(50)", SqlParameterDbType = typeof(EnumToStringConvert))]
|
||||||
public CanteenApplicaitonTypeEnumType ApplicationType { get; set; }
|
public CanteenApplicaitonTypeEnumType ApplicationType { get; set; }
|
||||||
|
|
||||||
|
|
||||||
public string TenantId { get; set; }
|
public string TenantId { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,43 +0,0 @@
|
|||||||
using System.ComponentModel;
|
|
||||||
|
|
||||||
namespace Dlhis.Entity.Canteen.Enums;
|
|
||||||
|
|
||||||
[Description("日期查询范围类型")]
|
|
||||||
public enum DateTimeSearchEnumType
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// 当天
|
|
||||||
/// </summary>
|
|
||||||
[Description("当天")]
|
|
||||||
Day = 1,
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 本周
|
|
||||||
/// </summary>
|
|
||||||
[Description("本周")]
|
|
||||||
Week,
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 本月
|
|
||||||
/// </summary>
|
|
||||||
[Description("本月")]
|
|
||||||
Month,
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 本季度
|
|
||||||
/// </summary>
|
|
||||||
[Description("本季度")]
|
|
||||||
Season,
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 过去半年
|
|
||||||
/// </summary>
|
|
||||||
[Description("过去半年")]
|
|
||||||
HalfOfYear,
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 今年
|
|
||||||
/// </summary>
|
|
||||||
[Description("今年")]
|
|
||||||
Year
|
|
||||||
}
|
|
||||||
@@ -1,5 +1,4 @@
|
|||||||
using Dlhis.Entity.Canteen.Enums;
|
using Kurisu.Core.CustomClass;
|
||||||
using Kurisu.Core.CustomClass;
|
|
||||||
using System.ComponentModel.DataAnnotations;
|
using System.ComponentModel.DataAnnotations;
|
||||||
using Kurisu.Core.DataAccess.Dto;
|
using Kurisu.Core.DataAccess.Dto;
|
||||||
using Dlhis.Entity.Device.Enums;
|
using Dlhis.Entity.Device.Enums;
|
||||||
@@ -19,13 +18,6 @@ public class DeviceUploadLogPageRequest : PageDto, IValidatableObject
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public bool? Sync { get; set; }
|
public bool? Sync { get; set; }
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 查询日期范围类型 DateTimeSearchEnumType
|
|
||||||
/// </summary>
|
|
||||||
[EnumDataType(typeof(DateTimeSearchEnumType))]
|
|
||||||
public DateTimeSearchEnumType? SearchDateTimeDimension { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 日期范围查询
|
/// 日期范围查询
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -33,54 +25,11 @@ public class DeviceUploadLogPageRequest : PageDto, IValidatableObject
|
|||||||
|
|
||||||
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
|
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
|
||||||
{
|
{
|
||||||
var today = DateTime.Today;
|
if (SearchDateTimePeriod != null)
|
||||||
if (SearchDateTimeDimension.HasValue)
|
|
||||||
{
|
{
|
||||||
//重新赋值
|
if (SearchDateTimePeriod.End.HasValue)
|
||||||
SearchDateTimePeriod = new DateTimePeriod();
|
|
||||||
|
|
||||||
if (SearchDateTimeDimension == DateTimeSearchEnumType.Day)
|
|
||||||
{
|
{
|
||||||
SearchDateTimePeriod.Start = today;
|
SearchDateTimePeriod.End = SearchDateTimePeriod.End.Value.AddDays(1).AddSeconds(-1);
|
||||||
SearchDateTimePeriod.End = today.AddDays(1).AddSeconds(-1);
|
|
||||||
}
|
|
||||||
else if (SearchDateTimeDimension == DateTimeSearchEnumType.Week)
|
|
||||||
{
|
|
||||||
SearchDateTimePeriod.Start = today.AddDays(1 - (int)today.DayOfWeek);
|
|
||||||
SearchDateTimePeriod.End = SearchDateTimePeriod.Start.Value.AddDays(6);
|
|
||||||
}
|
|
||||||
else if (SearchDateTimeDimension == DateTimeSearchEnumType.Month)
|
|
||||||
{
|
|
||||||
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 = 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 = today.AddDays(-180);
|
|
||||||
SearchDateTimePeriod.End = today;
|
|
||||||
}
|
|
||||||
else if (SearchDateTimeDimension == DateTimeSearchEnumType.Year)
|
|
||||||
{
|
|
||||||
SearchDateTimePeriod.Start = new DateTime(today.Year, 1, 1);
|
|
||||||
SearchDateTimePeriod.End = SearchDateTimePeriod.Start.Value.AddYears(1).AddDays(-1);
|
|
||||||
}
|
|
||||||
|
|
||||||
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);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
using System.Diagnostics;
|
using System.Linq.Expressions;
|
||||||
using System.Linq.Expressions;
|
|
||||||
using Dlhis.Entity.Basic.Entity;
|
using Dlhis.Entity.Basic.Entity;
|
||||||
using Dlhis.Entity.Device.Entities;
|
using Dlhis.Entity.Device.Entities;
|
||||||
using Dlhis.Entity.Device.Enums;
|
using Dlhis.Entity.Device.Enums;
|
||||||
|
|||||||
@@ -136,6 +136,7 @@ public class MealSupplementHandlerJob : BaseJob
|
|||||||
var b = mealUser.Balance += mealSupplement.Amount;
|
var b = mealUser.Balance += mealSupplement.Amount;
|
||||||
|
|
||||||
await DbContext.Updateable<GainfoMealEntity>()
|
await DbContext.Updateable<GainfoMealEntity>()
|
||||||
|
.SetColumns(x => x.Version == x.Version + 1)
|
||||||
.SetColumns(x => x.Balance == b)
|
.SetColumns(x => x.Balance == b)
|
||||||
.SetColumns(x => x.ModifiedTime == DateTime.Now)
|
.SetColumns(x => x.ModifiedTime == DateTime.Now)
|
||||||
.Where(x => x.UserCode == mealUser.UserCode && x.Version == mealUser.Version)
|
.Where(x => x.UserCode == mealUser.UserCode && x.Version == mealUser.Version)
|
||||||
|
|||||||
Reference in New Issue
Block a user