Some checks failed
Docker Build & Deploy / Build Docker Image (push) Waiting to run
Docker Build & Deploy / Deploy to Production (push) Has been cancelled
Docker Build & Deploy / Cleanup Dangling Images (push) Has been cancelled
Docker Build & Deploy / WeChat Notification (push) Has been cancelled
1.7 KiB
1.7 KiB
Why
用户在 2026 年 2 月份查看 2026 年 1 月份的月度预算统计时,页面显示"超支170元",但用户认为应该远远大于这个值。经检查发现,页面显示的"超支170"仅计算了月度支出预算(Type=1)的超支,未包含年度支出预算(Type=2)在该月的实际支出。1 月份实际总支出为 36,130.40 元,但页面只显示了 23,284.40 元(月度支出预算),缺少了约 12,846 元的年度支出预算部分。
What Changes
- 修改月度预算统计逻辑:在
CalculateMonthlyCategoryStatsAsync方法中,统计支出时需要包含年度支出预算(Type=2)在该月的实际支出金额 - 修改数据源逻辑:
GetAllBudgetsWithArchiveAsync方法在获取月度预算数据时,需要同时获取年度支出预算在该月的实际支出 - 确保归档数据正确使用:使用归档数据中的
Actual值,而非重新计算
Capabilities
New Capabilities
无新能力引入,仅修复现有逻辑。
Modified Capabilities
budget-stats: 修改月度预算统计的需求,要求月度支出统计包含所有类型的实际支出(月度+年度支出预算在该月的支出)
Impact
- 受影响代码:
Service/Budget/BudgetStatsService.cs中的CalculateMonthlyCategoryStatsAsync和GetAllBudgetsWithArchiveAsync方法 - 受影响 API:预算统计相关的 API 接口(前端调用的获取预算统计信息的接口)
- 数据来源:
BudgetArchive表中的归档数据,需要正确使用归档的Actual值 - 用户体验:修复后,用户查看月度预算统计时,将看到包含所有实际支出的准确数据