Files
EmailBill/openspec/changes/fix-january-2026-budget-usage/proposal.md
SunCheng a88556c784 fix
2026-02-15 10:10:28 +08:00

1.7 KiB
Raw Blame History

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 中的 CalculateMonthlyCategoryStatsAsyncGetAllBudgetsWithArchiveAsync 方法
  • 受影响 API:预算统计相关的 API 接口(前端调用的获取预算统计信息的接口)
  • 数据来源BudgetArchive 表中的归档数据,需要正确使用归档的 Actual
  • 用户体验:修复后,用户查看月度预算统计时,将看到包含所有实际支出的准确数据