fix 设备消费记录支持范围查询
This commit is contained in:
@@ -12,7 +12,17 @@ public class BalanceRecordPageByDeviceUniqueNoRequest : PageDto
|
||||
public string DeviceUniqueNo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 查询日期
|
||||
/// 查询日期(优先使用)
|
||||
/// </summary>
|
||||
public DateTime? SearchDate { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 查询时间段(开始)
|
||||
/// </summary>
|
||||
public DateTime? Start { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 查询时间段(结束)
|
||||
/// </summary>
|
||||
public DateTime? End { get; set; }
|
||||
}
|
||||
@@ -118,21 +118,26 @@ public class BalanceService : IBalanceService
|
||||
};
|
||||
}
|
||||
|
||||
var date = request.SearchDate.HasValue ? request.SearchDate.Value.Date : DateTime.Today;
|
||||
|
||||
var switchTime = await _canteenSettingService.GetBusinessSwitchTimeAsync(device.TenantId);
|
||||
if (switchTime.HasValue)
|
||||
if (request.SearchDate.HasValue)
|
||||
{
|
||||
var setTime = date.Add(switchTime.Value.ToTimeSpan());
|
||||
if (DateTime.Now < setTime)
|
||||
date = date.AddDays(-1);
|
||||
request.Start = request.SearchDate;
|
||||
request.End = request.SearchDate.Value.AddDays(1);
|
||||
}
|
||||
|
||||
|
||||
// var switchTime = await _canteenSettingService.GetBusinessSwitchTimeAsync(device.TenantId);
|
||||
// if (switchTime.HasValue)
|
||||
// {
|
||||
// var setTime = date.Add(switchTime.Value.ToTimeSpan());
|
||||
// if (DateTime.Now < setTime)
|
||||
// date = date.AddDays(-1);
|
||||
// }
|
||||
|
||||
var page = await _dbContext.Queryable<BalanceRecordEntity>()
|
||||
.LeftJoin<GainfoEntity>((record, ga) => record.UserNo == ga.No)
|
||||
.LeftJoin<DepartmentEntity>((record, ga, department) => ga.DepartmentNo == department.No)
|
||||
.LeftJoin<BusinessPlaceEntity>((record, ga, department, bPlace) => record.BusinessPlaceCode == bPlace.Code)
|
||||
.Where(record => SqlFunc.DateIsSame(record.CostDate, date, DateType.Day))
|
||||
.Where(record => record.CostDate >= request.Start && record.CostDate <= request.End)
|
||||
.Where(record => record.DeviceUniqueNo == device.UniqueNo || record.DeviceUniqueNo == device.Code.ToString())
|
||||
.Where(record => record.Type == BalanceRecordTypeEnumType.Out && record.Status == BalanceRecordStatusEnumType.Valid)
|
||||
.OrderBy(record => record.CreateTime, OrderByType.Desc)
|
||||
@@ -159,7 +164,7 @@ public class BalanceService : IBalanceService
|
||||
|
||||
//消费总金额
|
||||
var sum = await _dbContext.Queryable<BalanceRecordEntity>()
|
||||
.Where(record => SqlFunc.DateIsSame(record.CostDate, date, DateType.Day))
|
||||
.Where(record => record.CostDate >= request.Start && record.CostDate <= request.End)
|
||||
.Where(record => record.DeviceUniqueNo == device.UniqueNo || record.DeviceUniqueNo == device.Code.ToString())
|
||||
.Where(record => record.Type == BalanceRecordTypeEnumType.Out && record.Status == BalanceRecordStatusEnumType.Valid)
|
||||
.SumAsync(record => SqlFunc.Abs(SqlFunc.IsNull(record.Amount, 0)));
|
||||
|
||||
@@ -53,7 +53,7 @@ public class OrderService : BaseOrderService, IOrderService
|
||||
|
||||
//根据档案号
|
||||
var gainfo = await DbContext.Queryable<GainfoEntity>()
|
||||
.Where(x => x.No == request.UserUniqueNo || x.Code == request.UserUniqueNo || x.Id == userId || x.CardNo == request.UserUniqueNo)
|
||||
.Where(x => x.Code == request.UserUniqueNo || x.Id == userId || x.CardNo == request.UserUniqueNo)
|
||||
.FirstAsync();
|
||||
|
||||
var message = string.Empty;
|
||||
|
||||
Reference in New Issue
Block a user