fix 成本日期查询
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
using Dlhis.Basic.Api;
|
||||
using Dlhis.Canteen.Order.Request;
|
||||
using Dlhis.Canteen.Order.Response;
|
||||
using Dlhis.Canteen.Setting.Services;
|
||||
using Dlhis.Entity.Basic.Entity;
|
||||
using Dlhis.Entity.Canteen.Entities;
|
||||
using Dlhis.Entity.Canteen.Enums;
|
||||
@@ -25,16 +26,19 @@ public class BalanceService : IBalanceService
|
||||
private readonly IDbContext _dbContext;
|
||||
private readonly ICurrentUser _currentUser;
|
||||
private readonly ITenantApi _tenantApi;
|
||||
private readonly ICanteenSettingService _canteenSettingService;
|
||||
private readonly IBusinessPlacePermissionsApi _businessPlacePermissionsApi;
|
||||
|
||||
public BalanceService(IDbContext dbContext,
|
||||
ICurrentUser currentUser,
|
||||
ITenantApi tenantApi,
|
||||
ICanteenSettingService canteenSettingService,
|
||||
IBusinessPlacePermissionsApi businessPlacePermissionsApi)
|
||||
{
|
||||
_dbContext = dbContext;
|
||||
_currentUser = currentUser;
|
||||
_tenantApi = tenantApi;
|
||||
_canteenSettingService = canteenSettingService;
|
||||
_businessPlacePermissionsApi = businessPlacePermissionsApi;
|
||||
}
|
||||
|
||||
@@ -110,7 +114,7 @@ public class BalanceService : IBalanceService
|
||||
|
||||
if (device == null)
|
||||
{
|
||||
return new Pagination<BalanceRecordDeviceResponse>()
|
||||
return new Pagination<BalanceRecordDeviceResponse>
|
||||
{
|
||||
Data = new List<BalanceRecordDeviceResponse>()
|
||||
};
|
||||
@@ -119,28 +123,31 @@ public class BalanceService : IBalanceService
|
||||
if (request.SearchDate.HasValue)
|
||||
{
|
||||
request.Start = request.SearchDate;
|
||||
request.End = request.SearchDate.Value.AddDays(1);
|
||||
request.End = request.SearchDate;
|
||||
}
|
||||
|
||||
|
||||
// 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 switchTime = await _canteenSettingService.GetBusinessSwitchTimeAsync(device.TenantId);
|
||||
if (switchTime.HasValue)
|
||||
{
|
||||
var setTime = request.Start!.Value.Add(switchTime.Value.ToTimeSpan());
|
||||
if (DateTime.Now < setTime)
|
||||
{
|
||||
request.Start = request.Start.Value.AddDays(-1);
|
||||
request.End = request.End!.Value.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)
|
||||
.LeftJoin<ImageRecordEntity>((record, ga, department, bPlace, imageRecord) => imageRecord.No == record.No)
|
||||
.WhereIF(request.UserCode.IsPresent(), record => record.UserCode == request.UserCode)
|
||||
.Where(record => record.DeviceUniqueNo == device.UniqueNo)
|
||||
.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)
|
||||
.WhereIF(request.UserCode.IsPresent(), record => record.UserCode == request.UserCode)
|
||||
.OrderBy(record => record.CostDateTime, OrderByType.Desc)
|
||||
.Select((record, ga, department, bPlace, imageRecord) => new BalanceRecordDeviceResponse
|
||||
{
|
||||
Id = record.Id,
|
||||
@@ -166,7 +173,7 @@ public class BalanceService : IBalanceService
|
||||
//消费总金额
|
||||
var sum = await _dbContext.Queryable<BalanceRecordEntity>()
|
||||
.Where(record => record.CostDate >= request.Start && record.CostDate <= request.End)
|
||||
.Where(record => record.DeviceUniqueNo == device.UniqueNo || record.DeviceUniqueNo == device.Code.ToString())
|
||||
.Where(record => record.DeviceUniqueNo == device.UniqueNo)
|
||||
.Where(record => record.Type == BalanceRecordTypeEnumType.Out && record.Status == BalanceRecordStatusEnumType.Valid)
|
||||
.SumAsync(record => SqlFunc.Abs(SqlFunc.IsNull(record.Amount, 0)));
|
||||
|
||||
|
||||
Reference in New Issue
Block a user