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