From ef96cae0bf6191ac5335052c3545401421339192 Mon Sep 17 00:00:00 2001 From: cheche <717840555@qq.com> Date: Thu, 18 Jan 2024 11:03:32 +0800 Subject: [PATCH] =?UTF-8?q?fix=20=E7=BB=9F=E8=AE=A1=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Services/Implements/BalanceService.cs | 29 ++++++++++--------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/Src/Dlhis.Canteen/Order/Services/Implements/BalanceService.cs b/Src/Dlhis.Canteen/Order/Services/Implements/BalanceService.cs index 379daa30..8fd8d645 100644 --- a/Src/Dlhis.Canteen/Order/Services/Implements/BalanceService.cs +++ b/Src/Dlhis.Canteen/Order/Services/Implements/BalanceService.cs @@ -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() .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(); foreach (var first in pageinfo.GroupBy(record => record.CostDateTime.ToString("yyyy-MM-dd")))