diff --git a/Src/Dlhis.Canteen/Order/Services/Implements/BalanceService.cs b/Src/Dlhis.Canteen/Order/Services/Implements/BalanceService.cs index 9e957ce0..95a790ca 100644 --- a/Src/Dlhis.Canteen/Order/Services/Implements/BalanceService.cs +++ b/Src/Dlhis.Canteen/Order/Services/Implements/BalanceService.cs @@ -207,26 +207,20 @@ public class BalanceService : IBalanceService obj.LateNightNumberOfPeople = businessShiftGroup.Count(x => x.BusinessShiftCode.ToString() == shiftCodeDict["LateNight"]); + //餐次金额 + obj.BreakfastAmount = businessShiftGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Breakfast"]).Sum(x => x.Amount); + + obj.LunchAmount = businessShiftGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Lunch"]).Sum(x => x.Amount); + + obj.DinnerAmount = businessShiftGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Dinner"]).Sum(x => x.Amount); + + obj.LateNightAmount = businessShiftGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["LateNight"]).Sum(x => x.Amount); + // 每个餐次单价 - obj.BreakfastPrice = businessShiftGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Breakfast"]).FirstOrDefault()?.Amount ?? 0; - obj.LunchPrice = businessShiftGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Lunch"]).FirstOrDefault()?.Amount ?? 0; - obj.DinnerPrice = businessShiftGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Dinner"]).FirstOrDefault()?.Amount ?? 0; - obj.LateNightPrice = businessShiftGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["LateNight"]).FirstOrDefault()?.Amount ?? 0; - - // 每个餐次金额 - obj.BreakfastAmount = obj.BreakfastPrice * obj.BreakfastNumberOfPeople; - obj.LunchAmount = obj.LunchNumberOfPeople * obj.LunchPrice; - obj.DinnerAmount = obj.DinnerNumberOfPeople * obj.DinnerPrice; - obj.LateNightAmount = obj.LateNightPrice * obj.LateNightNumberOfPeople; - //obj.BreakfastAmount = businessShiftGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Breakfast"]).Sum(x => x.Amount); - - //obj.LunchAmount = businessShiftGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Lunch"]).Sum(x => x.Amount); - - //obj.DinnerAmount = businessShiftGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Dinner"]).Sum(x => x.Amount); - - //obj.LateNightAmount = businessShiftGroup.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; // 每个部门餐次中的 OriginTenantId obj.OriginTenantId = businessShiftGroup.FirstOrDefault()?.OriginTenantId; @@ -284,17 +278,20 @@ public class BalanceService : IBalanceService obj.LateNightNumberOfPeople = businessShiftGroup.Count(x => x.BusinessShiftCode.ToString() == shiftCodeDict["LateNight"]); - // 每个餐次单价 - obj.BreakfastPrice = businessShiftGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Breakfast"]).FirstOrDefault()?.Amount ?? 0; - obj.LunchPrice = businessShiftGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Lunch"]).FirstOrDefault()?.Amount ?? 0; - obj.DinnerPrice = businessShiftGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Dinner"]).FirstOrDefault()?.Amount ?? 0; - obj.LateNightPrice = businessShiftGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["LateNight"]).FirstOrDefault()?.Amount ?? 0; + //餐次金额 + obj.BreakfastAmount = businessShiftGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Breakfast"]).Sum(x => x.Amount); - // 每个餐次金额 - obj.BreakfastAmount = obj.BreakfastPrice * obj.BreakfastNumberOfPeople; - obj.LunchAmount = obj.LunchNumberOfPeople * obj.LunchPrice; - obj.DinnerAmount = obj.DinnerNumberOfPeople * obj.DinnerPrice; - obj.LateNightAmount = obj.LateNightPrice * obj.LateNightNumberOfPeople; + obj.LunchAmount = businessShiftGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Lunch"]).Sum(x => x.Amount); + + obj.DinnerAmount = businessShiftGroup.Where(x => x.BusinessShiftCode.ToString() == shiftCodeDict["Dinner"]).Sum(x => x.Amount); + + obj.LateNightAmount = businessShiftGroup.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; } @@ -368,8 +365,6 @@ public class BalanceService : IBalanceService } - - [IgnoreTenant] public async Task> GetPageByDeviceUniqueNoAsync(BalanceRecordPageByDeviceUniqueNoRequest request) {