财务台账:增加当前余额并按账户状态同步金额 #437

Merged
shanshi merged 1 commits from feature/shanshi-ledger-current-balance-status-amounts into main 2026-10-21 16:47:17 +08:00
Collaborator

做了什么

  • 财务台账与账户异常待办汇总卡片改为固定宽高,窄屏仅换行,不再随页面缩放。
  • 账户总表在“可用金额”前增加“当前余额”,取最新资金流水期末余额;列设置存储版本升级,避免新增列造成旧列宽错位。
  • 账户异常待办在“账户状态”后增加“当前余额”,直接读取账户总表实时数据,并增加随筛选变化的底部当前余额合计。
  • 正常账户:可用金额 = 当前余额,不可用金额 = 0;异常账户:可用金额 = 0,不可用金额 = 当前余额。
  • 状态修改、待办完成和流水重算均自动同步可用/不可用金额;账户状态切换后页面行金额与汇总即时更新。
  • finance-ledger:recalculate 加入现有隔离批处理入口,生产重算使用独立容器、互斥锁和资源限制。

修改文件

  • app/Http/Controllers/Business/FinanceLedger.php
  • modules/EcommerceFinance/Services/FinanceLedgerCalculator.php
  • modules/EcommerceFinance/View/FinanceLedgerPageData.php
  • resources/views/business/pages/financial-ledger/ledger.blade.php
  • resources/views/business/pages/financial-ledger/unavailable-balance-tasks.blade.php
  • deploy/run-finance-batch.sh
  • tests/Feature/Business/FinanceLedgerAccountStatusTest.php
  • tests/Unit/EcommerceFinance/FinanceLedgerCalculatorTest.php
  • tests/Unit/Deployment/FinanceBatchIsolationTest.php

验证结果

  • 目标及依赖回归:20 passed / 273 assertions
  • 本地数据规模:1,065 个账户、105 个异常待办
  • 全量状态金额回填:约 156ms;1,065 个账户错配 0
  • 待办筛选、汇总和 50 行分页查询:约 106.61ms,进程峰值内存约 38.5MB
  • 全量流水重算:580 行,约 11.3s;有流水账户当前余额错配 0,状态金额错配 0
  • 实际页面验证:卡片固定 224×54.39px;窄屏尺寸不变;两处当前余额列位置正确;筛选后底部合计与数据库一致;AJAX 翻页与列宽功能正常;控制台无错误

风险与影响

涉及财务金额口径;不修改权限,不新增数据库结构或迁移。发布后需通过批处理入口执行一次流水重算完成历史金额回填,再复核真实页面。

## 做了什么 - 财务台账与账户异常待办汇总卡片改为固定宽高,窄屏仅换行,不再随页面缩放。 - 账户总表在“可用金额”前增加“当前余额”,取最新资金流水期末余额;列设置存储版本升级,避免新增列造成旧列宽错位。 - 账户异常待办在“账户状态”后增加“当前余额”,直接读取账户总表实时数据,并增加随筛选变化的底部当前余额合计。 - 正常账户:可用金额 = 当前余额,不可用金额 = 0;异常账户:可用金额 = 0,不可用金额 = 当前余额。 - 状态修改、待办完成和流水重算均自动同步可用/不可用金额;账户状态切换后页面行金额与汇总即时更新。 - `finance-ledger:recalculate` 加入现有隔离批处理入口,生产重算使用独立容器、互斥锁和资源限制。 ## 修改文件 - app/Http/Controllers/Business/FinanceLedger.php - modules/EcommerceFinance/Services/FinanceLedgerCalculator.php - modules/EcommerceFinance/View/FinanceLedgerPageData.php - resources/views/business/pages/financial-ledger/ledger.blade.php - resources/views/business/pages/financial-ledger/unavailable-balance-tasks.blade.php - deploy/run-finance-batch.sh - tests/Feature/Business/FinanceLedgerAccountStatusTest.php - tests/Unit/EcommerceFinance/FinanceLedgerCalculatorTest.php - tests/Unit/Deployment/FinanceBatchIsolationTest.php ## 验证结果 - 目标及依赖回归:20 passed / 273 assertions - 本地数据规模:1,065 个账户、105 个异常待办 - 全量状态金额回填:约 156ms;1,065 个账户错配 0 - 待办筛选、汇总和 50 行分页查询:约 106.61ms,进程峰值内存约 38.5MB - 全量流水重算:580 行,约 11.3s;有流水账户当前余额错配 0,状态金额错配 0 - 实际页面验证:卡片固定 224×54.39px;窄屏尺寸不变;两处当前余额列位置正确;筛选后底部合计与数据库一致;AJAX 翻页与列宽功能正常;控制台无错误 ## 风险与影响 涉及财务金额口径;不修改权限,不新增数据库结构或迁移。发布后需通过批处理入口执行一次流水重算完成历史金额回填,再复核真实页面。
shanshi added 1 commit 2026-10-21 16:46:56 +08:00
shanshi merged commit c2a11b3064 into main 2026-10-21 16:47:17 +08:00
shanshi deleted branch feature/shanshi-ledger-current-balance-status-amounts 2026-10-21 16:47:17 +08:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: WuYongJie/CaiWuXiTong#437
No description provided.