fix 统计结果修正

This commit is contained in:
cheche
2024-01-31 14:07:02 +08:00
parent 21bd830002
commit 64c113cd6a

View File

@@ -100,23 +100,32 @@ public class BalanceService : IBalanceService
CostId = costIdGroup.Key
};
// 所有人次
var BreakfastNumberOfPeople = costIdGroup.Count(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Breakfast"]);
var LunchNumberOfPeople = costIdGroup.Count(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Lunch"]);
var DinnerNumberOfPeople = costIdGroup.Count(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Dinner"]);
var LateNightNumberOfPeople = costIdGroup.Count(x => x.BusinessShiftCode.ToString() == shiftCodeDict["LateNight"]);
// 每个餐次人数
obj.BreakfastNumberOfPeople = costIdGroup.Count(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Breakfast"]);
obj.LunchNumberOfPeople = costIdGroup.Count(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Lunch"]);
obj.DinnerNumberOfPeople = costIdGroup.Count(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Dinner"]);
obj.LateNightNumberOfPeople = costIdGroup.Count(x => x.BusinessShiftCode.ToString() == shiftCodeDict["LateNight"]);
obj.BreakfastNumberOfPeople = costIdGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Breakfast"]).Select(x => x.UserNo).Distinct().Count();
obj.LunchNumberOfPeople = costIdGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Lunch"]).Select(x => x.UserNo).Distinct().Count();
obj.DinnerNumberOfPeople = costIdGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Dinner"]).Select(x => x.UserNo).Distinct().Count();
obj.LateNightNumberOfPeople = costIdGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["LateNight"]).Select(x => x.UserNo).Distinct().Count();
//餐次金额
obj.BreakfastAmount = costIdGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Breakfast"]).Sum(x => x.Amount);
obj.LunchAmount = costIdGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Lunch"]).Sum(x => x.Amount);
obj.DinnerAmount = costIdGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Dinner"]).Sum(x => x.Amount);
obj.LateNightAmount = costIdGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["LateNight"]).Sum(x => x.Amount);
obj.BreakfastAmount = Math.Abs(costIdGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Breakfast"]).Sum(x => x.Amount));
obj.LunchAmount = Math.Abs(costIdGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Lunch"]).Sum(x => x.Amount));
obj.DinnerAmount = Math.Abs(costIdGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Dinner"]).Sum(x => x.Amount));
obj.LateNightAmount = Math.Abs(costIdGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["LateNight"]).Sum(x => x.Amount));
// 每个餐次单价
obj.BreakfastPrice = obj.BreakfastNumberOfPeople == 0 ? 0 : Math.Round(obj.BreakfastAmount / obj.BreakfastNumberOfPeople, 2);
obj.LunchPrice = obj.LunchNumberOfPeople == 0 ? 0 : Math.Round(obj.LunchAmount / obj.LunchNumberOfPeople, 2);
obj.DinnerPrice = obj.DinnerNumberOfPeople == 0 ? 0 : Math.Round(obj.DinnerAmount / obj.DinnerNumberOfPeople, 2);
obj.LateNightPrice = obj.LateNightNumberOfPeople == 0 ? 0 : Math.Round(obj.LateNightAmount / obj.LateNightNumberOfPeople, 2);
obj.BreakfastPrice = BreakfastNumberOfPeople == 0 ? 0 : Math.Round(obj.BreakfastAmount / BreakfastNumberOfPeople, 2);
obj.LunchPrice = LunchNumberOfPeople == 0 ? 0 : Math.Round(obj.LunchAmount / LunchNumberOfPeople, 2);
obj.DinnerPrice = DinnerNumberOfPeople == 0 ? 0 : Math.Round(obj.DinnerAmount / DinnerNumberOfPeople, 2);
obj.LateNightPrice = LateNightNumberOfPeople == 0 ? 0 : Math.Round(obj.LateNightAmount / LateNightNumberOfPeople, 2);
// 总人数 总金额
obj.TotalNumberOfPeople = obj.BreakfastNumberOfPeople + obj.LunchNumberOfPeople + obj.DinnerNumberOfPeople + obj.LateNightNumberOfPeople;
@@ -222,30 +231,31 @@ public class BalanceService : IBalanceService
CostId = request.CostId,
OriginTenantId = ""
};
// 所有人次
var BreakfastNumberOfPeople = departmentGroup.Count(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Breakfast"]);
// 每个餐次人数
obj.BreakfastNumberOfPeople = departmentGroup.Count(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Breakfast"]);
var LunchNumberOfPeople = departmentGroup.Count(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Lunch"]);
obj.LunchNumberOfPeople = departmentGroup.Count(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Lunch"]);
var DinnerNumberOfPeople = departmentGroup.Count(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Dinner"]);
obj.DinnerNumberOfPeople = departmentGroup.Count(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Dinner"]);
obj.LateNightNumberOfPeople = departmentGroup.Count(x => x.BusinessShiftCode.ToString() == shiftCodeDict["LateNight"]);
var LateNightNumberOfPeople = departmentGroup.Count(x => x.BusinessShiftCode.ToString() == shiftCodeDict["LateNight"]);
//每个餐次人数
obj.BreakfastNumberOfPeople = departmentGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Breakfast"]).Select(x => x.UserNo).Distinct().Count();
obj.LunchNumberOfPeople = departmentGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Lunch"]).Select(x => x.UserNo).Distinct().Count();
obj.DinnerNumberOfPeople = departmentGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Dinner"]).Select(x => x.UserNo).Distinct().Count();
obj.LateNightNumberOfPeople = departmentGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["LateNight"]).Select(x => x.UserNo).Distinct().Count();
//餐次金额
obj.BreakfastAmount = departmentGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Breakfast"]).Sum(x => x.Amount);
obj.LunchAmount = departmentGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Lunch"]).Sum(x => x.Amount);
obj.DinnerAmount = departmentGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Dinner"]).Sum(x => x.Amount);
obj.LateNightAmount = departmentGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["LateNight"]).Sum(x => x.Amount);
obj.BreakfastAmount = Math.Abs(departmentGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Breakfast"]).Sum(x => x.Amount));
obj.LunchAmount = Math.Abs(departmentGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Lunch"]).Sum(x => x.Amount));
obj.DinnerAmount = Math.Abs(departmentGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Dinner"]).Sum(x => x.Amount));
obj.LateNightAmount = Math.Abs(departmentGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["LateNight"]).Sum(x => x.Amount));
// 每个餐次单价
obj.BreakfastPrice = obj.BreakfastNumberOfPeople == 0 ? 0 : Math.Round(obj.BreakfastAmount / obj.BreakfastNumberOfPeople, 2);
obj.LunchPrice = obj.LunchNumberOfPeople == 0 ? 0 : Math.Round(obj.LunchAmount / obj.LunchNumberOfPeople, 2);
obj.DinnerPrice = obj.DinnerNumberOfPeople == 0 ? 0 : Math.Round(obj.DinnerAmount / obj.DinnerNumberOfPeople, 2);
obj.LateNightPrice = obj.LateNightNumberOfPeople == 0 ? 0 : Math.Round(obj.LateNightAmount / obj.LateNightNumberOfPeople, 2);
obj.BreakfastPrice = BreakfastNumberOfPeople == 0 ? 0 : Math.Round(obj.BreakfastAmount / BreakfastNumberOfPeople, 2);
obj.LunchPrice = LunchNumberOfPeople == 0 ? 0 : Math.Round(obj.LunchAmount / LunchNumberOfPeople, 2);
obj.DinnerPrice = DinnerNumberOfPeople == 0 ? 0 : Math.Round(obj.DinnerAmount / DinnerNumberOfPeople, 2);
obj.LateNightPrice = LateNightNumberOfPeople == 0 ? 0 : Math.Round(obj.LateNightAmount / LateNightNumberOfPeople, 2);
// 总人数 总金额
obj.TotalNumberOfPeople = obj.BreakfastNumberOfPeople + obj.LunchNumberOfPeople + obj.DinnerNumberOfPeople + obj.LateNightNumberOfPeople;
@@ -300,29 +310,32 @@ public class BalanceService : IBalanceService
DepartmentNo = ""
};
// 每个餐次人数
obj.BreakfastNumberOfPeople = originTenantIdGroup.Count(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Breakfast"]);
// 所有人次
var BreakfastNumberOfPeople = originTenantIdGroup.Count(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Breakfast"]);
obj.LunchNumberOfPeople = originTenantIdGroup.Count(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Lunch"]);
var LunchNumberOfPeople = originTenantIdGroup.Count(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Lunch"]);
obj.DinnerNumberOfPeople = originTenantIdGroup.Count(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Dinner"]);
var DinnerNumberOfPeople = originTenantIdGroup.Count(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Dinner"]);
obj.LateNightNumberOfPeople = originTenantIdGroup.Count(x => x.BusinessShiftCode.ToString() == shiftCodeDict["LateNight"]);
var LateNightNumberOfPeople = originTenantIdGroup.Count(x => x.BusinessShiftCode.ToString() == shiftCodeDict["LateNight"]);
//每个餐次人数
obj.BreakfastNumberOfPeople = originTenantIdGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Breakfast"]).Select(x => x.UserNo).Distinct().Count();
obj.LunchNumberOfPeople = originTenantIdGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Lunch"]).Select(x => x.UserNo).Distinct().Count();
obj.DinnerNumberOfPeople = originTenantIdGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Dinner"]).Select(x => x.UserNo).Distinct().Count();
obj.LateNightNumberOfPeople = originTenantIdGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["LateNight"]).Select(x => x.UserNo).Distinct().Count();
//餐次金额
obj.BreakfastAmount = originTenantIdGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Breakfast"]).Sum(x => x.Amount);
obj.BreakfastAmount = Math.Abs(originTenantIdGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Breakfast"]).Sum(x => x.Amount));
obj.LunchAmount = Math.Abs(originTenantIdGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Lunch"]).Sum(x => x.Amount));
obj.DinnerAmount = Math.Abs(originTenantIdGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Dinner"]).Sum(x => x.Amount));
obj.LateNightAmount = Math.Abs(originTenantIdGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["LateNight"]).Sum(x => x.Amount));
obj.LunchAmount = originTenantIdGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Lunch"]).Sum(x => x.Amount);
obj.DinnerAmount = originTenantIdGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Dinner"]).Sum(x => x.Amount);
obj.LateNightAmount = originTenantIdGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["LateNight"]).Sum(x => x.Amount);
// 每个餐次单价
obj.BreakfastPrice = obj.BreakfastNumberOfPeople == 0 ? 0 : Math.Round(obj.BreakfastAmount / obj.BreakfastNumberOfPeople, 2);
obj.LunchPrice = obj.LunchNumberOfPeople == 0 ? 0 : Math.Round(obj.LunchAmount / obj.LunchNumberOfPeople, 2);
obj.DinnerPrice = obj.DinnerNumberOfPeople == 0 ? 0 : Math.Round(obj.DinnerAmount / obj.DinnerNumberOfPeople, 2);
obj.LateNightPrice = obj.LateNightNumberOfPeople == 0 ? 0 : Math.Round(obj.LateNightAmount / obj.LateNightNumberOfPeople, 2);
obj.BreakfastPrice = BreakfastNumberOfPeople == 0 ? 0 : Math.Round(obj.BreakfastAmount / BreakfastNumberOfPeople, 2);
obj.LunchPrice = LunchNumberOfPeople == 0 ? 0 : Math.Round(obj.LunchAmount / LunchNumberOfPeople, 2);
obj.DinnerPrice = DinnerNumberOfPeople == 0 ? 0 : Math.Round(obj.DinnerAmount / DinnerNumberOfPeople, 2);
obj.LateNightPrice = LateNightNumberOfPeople == 0 ? 0 : Math.Round(obj.LateNightAmount / LateNightNumberOfPeople, 2);
// 总人数 总金额
obj.TotalNumberOfPeople = obj.BreakfastNumberOfPeople + obj.LunchNumberOfPeople + obj.DinnerNumberOfPeople + obj.LateNightNumberOfPeople;
@@ -369,15 +382,11 @@ public class BalanceService : IBalanceService
CostDate = DateOnly.FromDateTime(Convert.ToDateTime(first.Key)),
};
obj.BreakfastNumberOfPeople = first.Count(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Breakfast"]);
obj.LunchNumberOfPeople = first.Count(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Lunch"]);
obj.DinnerNumberOfPeople = first.Count(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Dinner"]);
obj.LateNightNumberOfPeople = first.Count(x => x.BusinessShiftCode.ToString() == shiftCodeDict["LateNight"]);
obj.TotalNumberOfPeople = obj.BreakfastNumberOfPeople + obj.LunchNumberOfPeople + obj.DinnerNumberOfPeople + obj.LateNightNumberOfPeople;
//每个餐次人数
obj.BreakfastNumberOfPeople = first.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Breakfast"]).Select(x => x.UserNo).Distinct().Count();
obj.LunchNumberOfPeople = first.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Lunch"]).Select(x => x.UserNo).Distinct().Count();
obj.DinnerNumberOfPeople = first.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Dinner"]).Select(x => x.UserNo).Distinct().Count();
obj.LateNightNumberOfPeople = first.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["LateNight"]).Select(x => x.UserNo).Distinct().Count();
lst.Add(obj);
}
// 分页操作