diff --git a/Src/Dlhis.Canteen/Order/Controllers/BalanceSummaryController.cs b/Src/Dlhis.Canteen/Order/Controllers/BalanceSummaryController.cs index cbbc899f..96e3cc09 100644 --- a/Src/Dlhis.Canteen/Order/Controllers/BalanceSummaryController.cs +++ b/Src/Dlhis.Canteen/Order/Controllers/BalanceSummaryController.cs @@ -28,7 +28,7 @@ public class BalanceSummaryController : ControllerBase /// /// [HttpGet("analysis")] - public async Task> BalanceRecordAnalysisAsync([FromQuery] BalanceRecordAnalysisRequest request) + public async Task BalanceRecordAnalysisAsync([FromQuery] BalanceRecordAnalysisRequest request) { return await _balanceSummaryService.BalanceRecordAnalysisAsync(request); } diff --git a/Src/Dlhis.Canteen/Order/Response/BalanceRecordAnalysisResponse.cs b/Src/Dlhis.Canteen/Order/Response/BalanceRecordAnalysisResponse.cs index 532a320b..a9d5ee8b 100644 --- a/Src/Dlhis.Canteen/Order/Response/BalanceRecordAnalysisResponse.cs +++ b/Src/Dlhis.Canteen/Order/Response/BalanceRecordAnalysisResponse.cs @@ -1,5 +1,6 @@ using Dlhis.Entity.Canteen.Enums; using Kurisu.AspNetCore.CustomClass; +using Kurisu.AspNetCore.DataAccess.Dto; namespace Dlhis.Canteen.Order.Response; @@ -19,4 +20,11 @@ public class BalanceRecordAnalysisResponse /// 总人数 /// public int Total { get; set; } +} + +public class BalanceRecordAnalysisSummaryResponse +{ + public decimal Amount { get; set; } + + public Pagination Pagination { get; set; } } \ No newline at end of file diff --git a/Src/Dlhis.Canteen/Order/Services/IBalanceSummaryService.cs b/Src/Dlhis.Canteen/Order/Services/IBalanceSummaryService.cs index d264c692..113be8c6 100644 --- a/Src/Dlhis.Canteen/Order/Services/IBalanceSummaryService.cs +++ b/Src/Dlhis.Canteen/Order/Services/IBalanceSummaryService.cs @@ -6,7 +6,7 @@ namespace Dlhis.Canteen.Order.Services; public interface IBalanceSummaryService : IScopeDependency { - Task> BalanceRecordAnalysisAsync(BalanceRecordAnalysisRequest request); + Task BalanceRecordAnalysisAsync(BalanceRecordAnalysisRequest request); Task> BalanceRecordAnalysisByCostIdAsync(); } diff --git a/Src/Dlhis.Canteen/Order/Services/Implements/BalanceSummaryService.cs b/Src/Dlhis.Canteen/Order/Services/Implements/BalanceSummaryService.cs index 49fd2e77..8db7ff01 100644 --- a/Src/Dlhis.Canteen/Order/Services/Implements/BalanceSummaryService.cs +++ b/Src/Dlhis.Canteen/Order/Services/Implements/BalanceSummaryService.cs @@ -18,7 +18,7 @@ public class BalanceSummaryService : IBalanceSummaryService _dbContext = dbContext; } - public async Task> BalanceRecordAnalysisAsync(BalanceRecordAnalysisRequest request) + public async Task BalanceRecordAnalysisAsync(BalanceRecordAnalysisRequest request) { var list = await _dbContext.Queryable() .WhereIF(request.SearchDateTimePeriod.HasValue(), @@ -27,6 +27,8 @@ public class BalanceSummaryService : IBalanceSummaryService .Where(record => record.Type == BalanceRecordTypeEnumType.Out && record.Status == BalanceRecordStatusEnumType.Valid) .ToListAsync(); + var sum = list.Sum(x => Math.Abs(x.Amount)); + var shifts = Enum.GetValues().ToList(); var page = list.GroupBy(record => record.CostDate.Date).Select(grp => @@ -46,7 +48,11 @@ public class BalanceSummaryService : IBalanceSummaryService }; }).OrderByDescending(x => x.Date).ToPage(request); - return page; + return new BalanceRecordAnalysisSummaryResponse + { + Amount = sum, + Pagination = page + }; }