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
+ };
}