Files
X-Financial/document/development/财务看板口径重构与画像模拟/TODO.md
caoxiaozhu 0c74b4ab4a feat: 财务看板口径重构与半年模拟数据及报销状态注册表
- 重构 finance_dashboard 口径计算,新增模拟公司画像数据生成与筛选
- 引入 expense_claim_status_registry 统一报销状态流转
- 完善报销草稿流程、Item Sync 与本体解析器
- 优化总览页趋势图、分页组件与请求进度步骤
- 增强报销申请快速预览、本体工具与详情展示
- 新增半年报销模拟数据种子脚本与状态审计工具
- 补充财务看板、报销状态注册与模拟数据测试覆盖
2026-06-02 16:22:59 +08:00

5.0 KiB
Raw Blame History

财务看板口径重构与画像模拟开发 TODO

调研

  • 核对财务看板接口字段和页面消费位置。[CONCEPT: 背景与问题] 证据:FinanceDashboardServiceTrendChartOverviewView 已确认。
  • 核对员工画像现有服务是否可复用。[CONCEPT: 员工画像] 证据:EmployeeBehaviorProfileService 已支持批量扫描和按员工刷新。

契约

  • 将趋势字段调整为 claimCountclaimAmount,并保留旧字段兼容。[CONCEPT: 每日报销趋势] 证据:FinanceDashboardService._trend 已返回新字段,定向测试通过。
  • 将底部 bottlenecks 展示替换为预算指标。[CONCEPT: 财务关注项] 证据:页面展示预算池数量、总预算、已用预算、预占预算、可用预算、预警预算池。
  • 补齐费用类型和风险类型中文归一化规则。[CONCEPT: 费用结构] 证据:接口 JSON 不再包含 travel_applicationmissing_materialbudget_pressure
  • 建立报销状态注册表,集中管理状态码、中文标签、阶段别名和历史值归一化。[CONCEPT: 数据] 证据:expense_claim_status_registry.py 已新增。
  • 将财务看板主指标改为财务口径,移除风险异常展示。[CONCEPT: 指标与验收] 证据KPI 改为本期报销金额、报销单数、待付款金额、单均金额、预算使用率、付款完成率。

后端

  • 修改 FinanceDashboardService 的费用结构、趋势、部门排行、个人排行、高额单据和预算指标计算。[CONCEPT: 方案设计] 证据:server/src/app/services/finance_dashboard.py 已更新。
  • 补充后端定向测试,覆盖英文枚举不外露和趋势字段。[CONCEPT: 测试方案] 证据:test_finance_dashboard_uses_financial_terms_instead_of_approval_terms 已新增。

前端

  • 修改 TrendChart 为报销单量和报销金额图。[CONCEPT: 前端] 证据:TrendChart.vue 已改为双轴单量/金额。
  • 修改财务看板标题和底部列表文案。[CONCEPT: 前端] 证据:OverviewView.vue 标题已更新。
  • 确认页面不再出现审批趋势、审批瓶颈文案。[CONCEPT: 指标与验收] 证据:rg 检查财务看板相关文案已清理。
  • 将趋势拆为“每日报销金额”和“每日报销数量”两个单指标图。[CONCEPT: 每日报销趋势] 证据:OverviewView.vueTrendChart.vue 已更新。
  • 新增个人报销排行和本月高额单据列表。[CONCEPT: 指标与验收] 证据:财务看板模板已新增 个人报销排行(本月)本月高额单据
  • 移除财务页“财务关注项”卡片,新增预算指标网格。[CONCEPT: 指标与验收] 证据:财务页模板已展示 预算指标,不再展示 财务关注项

数据与画像

  • 修复半年模拟数据部门分布脚本,保持 dry-run 可审计。[CONCEPT: 数据] 证据:repair_half_year_expense_demo_distribution.py dry-run 返回六部门重分布计划。
  • 为模拟数据写入脚本增加画像刷新入口。[CONCEPT: 员工画像] 证据seed 与 repair 脚本均支持 --refresh-profiles
  • 将模拟数据修复脚本中的审批阶段规范为中文业务阶段。[CONCEPT: 数据] 证据:待审单统一为 submitted + 财务审批/直属领导审批,归档/付款阶段写入中文阶段。
  • 增加报销状态只读审计脚本。[CONCEPT: 指标与验收] 证据:audit_expense_claim_statuses.py 可输出需要归一化的状态组合。
  • 提高半年模拟数据单据密度。[CONCEPT: 数据] 证据seed dry-run 计划在现有 495 单基础上新增 690 单,总量约 1185 单。
  • 在用户确认后执行模拟数据修复 --apply。[CONCEPT: 风险与开放问题]
  • 验证模拟员工画像快照已形成。[CONCEPT: 指标与验收]

验证

  • x-financial-main 容器内运行后端定向测试,超时不超过 60s。[CONCEPT: 测试方案] 证据:pytest -q server/tests/test_finance_dashboard_service.py server/tests/test_demo_company_simulation_seed.py4 passed。
  • 运行前端构建或等价静态验证。[CONCEPT: 测试方案] 证据:npm.cmd run build 成功。
  • 调用财务看板 API确认 JSON 中不再泄露英文枚举并包含新指标。[CONCEPT: 指标与验收] 证据:容器内服务调用返回 claimCountclaimAmount,英文枚举检查为 false。
  • 验证单据中心财务角色可以看到公司报销单与归档单。[CONCEPT: 测试方案] 证据:test_list_claims_returns_company_reimbursements_for_finance_document_center 与归档测试通过。
  • 验证财务看板真实 payload 不含风险展示文案,部门排行不含“待补充”。[CONCEPT: 指标与验收] 证据:容器内服务调用 contains_risk_text=falsecontains_pending_fill_department=false
  • 验证预算指标真实 payload。[CONCEPT: 指标与验收] 证据:容器内服务调用返回 6 个 budget_metrics,且 contains_focus_label=false