fix 统计修正

This commit is contained in:
cheche
2024-01-18 11:03:32 +08:00
parent 2000ea3a0e
commit ef96cae0bf

View File

@@ -183,7 +183,7 @@ public class BalanceService : IBalanceService
.WhereIF(!request.OriginTenantId.IsEmpty(), record => record.TenantId == request.OriginTenantId)
.WhereIF(request.StartDatetime.HasValue, record => record.CostDateTime >= request.StartDatetime)
.WhereIF(request.EndDatetime.HasValue, record => record.CostDateTime <= request.EndDatetime)
.Where(record => record.CostId == request.CostId)
.Where(record => record.CostId == request.CostId && record.Amount <0)
.OrderBy(record => record.CreateTime, OrderByType.Desc)
.ToListAsync();
@@ -216,11 +216,11 @@ public class BalanceService : IBalanceService
obj.LateNightAmount = departmentGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["LateNight"]).Sum(x => x.Amount);
// 每个餐次单价
obj.BreakfastPrice = obj.BreakfastAmount / obj.BreakfastNumberOfPeople;
obj.LunchPrice = obj.LunchAmount / obj.LunchNumberOfPeople;
obj.DinnerPrice = obj.DinnerAmount / obj.DinnerNumberOfPeople;
obj.LateNightPrice = obj.LateNightAmount / obj.LateNightNumberOfPeople;
// 每个餐次单价
obj.BreakfastPrice = obj.BreakfastNumberOfPeople == 0 ? 0 : obj.BreakfastAmount / obj.BreakfastNumberOfPeople;
obj.LunchPrice = obj.LunchNumberOfPeople == 0 ? 0 : obj.LunchAmount / obj.LunchNumberOfPeople;
obj.DinnerPrice = obj.DinnerNumberOfPeople == 0 ? 0 : obj.DinnerAmount / obj.DinnerNumberOfPeople;
obj.LateNightPrice = obj.LateNightNumberOfPeople == 0 ? 0 : obj.LateNightAmount / obj.LateNightNumberOfPeople;
// 每个部门餐次中的 OriginTenantId
obj.OriginTenantId = departmentGroup.FirstOrDefault()?.OriginTenantId;
@@ -250,7 +250,7 @@ public class BalanceService : IBalanceService
.WhereIF(!request.OriginTenantId.IsEmpty(), record => record.TenantId == request.OriginTenantId)
.WhereIF(request.StartDatetime.HasValue, record => record.CostDateTime >= request.StartDatetime)
.WhereIF(request.EndDatetime.HasValue, record => record.CostDateTime <= request.EndDatetime)
.Where(record => record.CostId == request.CostId)
.Where(record => record.CostId == request.CostId && record.Amount < 0)
.OrderBy(record => record.CreateTime, OrderByType.Desc)
.ToListAsync();
@@ -263,7 +263,7 @@ public class BalanceService : IBalanceService
{
OriginTenantId = originTenantIdGroup.Key,
CostId = request.CostId,
DepartmentNo = originTenantIdGroup.First().DepartmentNo
DepartmentNo = ""
};
// 每个餐次人数
@@ -284,11 +284,11 @@ public class BalanceService : IBalanceService
obj.LateNightAmount = originTenantIdGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["LateNight"]).Sum(x => x.Amount);
// 每个餐次单价
obj.BreakfastPrice = obj.BreakfastAmount / obj.BreakfastNumberOfPeople;
obj.LunchPrice = obj.LunchAmount / obj.LunchNumberOfPeople;
obj.DinnerPrice = obj.DinnerAmount / obj.DinnerNumberOfPeople;
obj.LateNightPrice = obj.LateNightAmount / obj.LateNightNumberOfPeople;
// 每个餐次单价
obj.BreakfastPrice = obj.BreakfastNumberOfPeople == 0 ? 0 : obj.BreakfastAmount / obj.BreakfastNumberOfPeople;
obj.LunchPrice = obj.LunchNumberOfPeople == 0 ? 0 : obj.LunchAmount / obj.LunchNumberOfPeople;
obj.DinnerPrice = obj.DinnerNumberOfPeople == 0 ? 0 : obj.DinnerAmount / obj.DinnerNumberOfPeople;
obj.LateNightPrice = obj.LateNightNumberOfPeople == 0 ? 0 : obj.LateNightAmount / obj.LateNightNumberOfPeople;
// 总人数 总金额
obj.TotalNumberOfPeople = obj.BreakfastNumberOfPeople + obj.LunchNumberOfPeople + obj.DinnerNumberOfPeople + obj.LateNightNumberOfPeople;
@@ -331,7 +331,8 @@ public class BalanceService : IBalanceService
var pageinfo = await _dbContext.Queryable<BalanceRecordEntity>()
.WhereIF(request.StartDatetime.HasValue, record => record.CostDateTime >= request.StartDatetime)
.WhereIF(request.EndDatetime.HasValue, record => record.CostDateTime <= request.EndDatetime)
.WhereIF(request.BusinessPlaceCode.HasValue, record => record.BusinessPlaceCode == request.BusinessPlaceCode).ToListAsync();
.WhereIF(request.BusinessPlaceCode.HasValue, record => record.BusinessPlaceCode == request.BusinessPlaceCode)
.Where(record =>record.Amount < 0).ToListAsync();
var lst = new List<BalanceRecordAnalysisRespones>();
foreach (var first in pageinfo.GroupBy(record => record.CostDateTime.ToString("yyyy-MM-dd")))