48 lines
5.0 KiB
Markdown
48 lines
5.0 KiB
Markdown
|
|
# 财务看板口径重构与画像模拟开发 TODO
|
|||
|
|
|
|||
|
|
## 调研
|
|||
|
|
|
|||
|
|
- [x] 核对财务看板接口字段和页面消费位置。[CONCEPT: 背景与问题] 证据:`FinanceDashboardService`、`TrendChart`、`OverviewView` 已确认。
|
|||
|
|
- [x] 核对员工画像现有服务是否可复用。[CONCEPT: 员工画像] 证据:`EmployeeBehaviorProfileService` 已支持批量扫描和按员工刷新。
|
|||
|
|
|
|||
|
|
## 契约
|
|||
|
|
|
|||
|
|
- [x] 将趋势字段调整为 `claimCount`、`claimAmount`,并保留旧字段兼容。[CONCEPT: 每日报销趋势] 证据:`FinanceDashboardService._trend` 已返回新字段,定向测试通过。
|
|||
|
|
- [x] 将底部 `bottlenecks` 展示替换为预算指标。[CONCEPT: 财务关注项] 证据:页面展示预算池数量、总预算、已用预算、预占预算、可用预算、预警预算池。
|
|||
|
|
- [x] 补齐费用类型和风险类型中文归一化规则。[CONCEPT: 费用结构] 证据:接口 JSON 不再包含 `travel_application`、`missing_material`、`budget_pressure`。
|
|||
|
|
- [x] 建立报销状态注册表,集中管理状态码、中文标签、阶段别名和历史值归一化。[CONCEPT: 数据] 证据:`expense_claim_status_registry.py` 已新增。
|
|||
|
|
- [x] 将财务看板主指标改为财务口径,移除风险异常展示。[CONCEPT: 指标与验收] 证据:KPI 改为本期报销金额、报销单数、待付款金额、单均金额、预算使用率、付款完成率。
|
|||
|
|
|
|||
|
|
## 后端
|
|||
|
|
|
|||
|
|
- [x] 修改 `FinanceDashboardService` 的费用结构、趋势、部门排行、个人排行、高额单据和预算指标计算。[CONCEPT: 方案设计] 证据:`server/src/app/services/finance_dashboard.py` 已更新。
|
|||
|
|
- [x] 补充后端定向测试,覆盖英文枚举不外露和趋势字段。[CONCEPT: 测试方案] 证据:`test_finance_dashboard_uses_financial_terms_instead_of_approval_terms` 已新增。
|
|||
|
|
|
|||
|
|
## 前端
|
|||
|
|
|
|||
|
|
- [x] 修改 `TrendChart` 为报销单量和报销金额图。[CONCEPT: 前端] 证据:`TrendChart.vue` 已改为双轴单量/金额。
|
|||
|
|
- [x] 修改财务看板标题和底部列表文案。[CONCEPT: 前端] 证据:`OverviewView.vue` 标题已更新。
|
|||
|
|
- [x] 确认页面不再出现审批趋势、审批瓶颈文案。[CONCEPT: 指标与验收] 证据:`rg` 检查财务看板相关文案已清理。
|
|||
|
|
- [x] 将趋势拆为“每日报销金额”和“每日报销数量”两个单指标图。[CONCEPT: 每日报销趋势] 证据:`OverviewView.vue` 和 `TrendChart.vue` 已更新。
|
|||
|
|
- [x] 新增个人报销排行和本月高额单据列表。[CONCEPT: 指标与验收] 证据:财务看板模板已新增 `个人报销排行(本月)`、`本月高额单据`。
|
|||
|
|
- [x] 移除财务页“财务关注项”卡片,新增预算指标网格。[CONCEPT: 指标与验收] 证据:财务页模板已展示 `预算指标`,不再展示 `财务关注项`。
|
|||
|
|
|
|||
|
|
## 数据与画像
|
|||
|
|
|
|||
|
|
- [x] 修复半年模拟数据部门分布脚本,保持 dry-run 可审计。[CONCEPT: 数据] 证据:`repair_half_year_expense_demo_distribution.py` dry-run 返回六部门重分布计划。
|
|||
|
|
- [x] 为模拟数据写入脚本增加画像刷新入口。[CONCEPT: 员工画像] 证据:seed 与 repair 脚本均支持 `--refresh-profiles`。
|
|||
|
|
- [x] 将模拟数据修复脚本中的审批阶段规范为中文业务阶段。[CONCEPT: 数据] 证据:待审单统一为 `submitted + 财务审批/直属领导审批`,归档/付款阶段写入中文阶段。
|
|||
|
|
- [x] 增加报销状态只读审计脚本。[CONCEPT: 指标与验收] 证据:`audit_expense_claim_statuses.py` 可输出需要归一化的状态组合。
|
|||
|
|
- [x] 提高半年模拟数据单据密度。[CONCEPT: 数据] 证据:seed dry-run 计划在现有 495 单基础上新增 690 单,总量约 1185 单。
|
|||
|
|
- [ ] 在用户确认后执行模拟数据修复 `--apply`。[CONCEPT: 风险与开放问题]
|
|||
|
|
- [ ] 验证模拟员工画像快照已形成。[CONCEPT: 指标与验收]
|
|||
|
|
|
|||
|
|
## 验证
|
|||
|
|
|
|||
|
|
- [x] 在 `x-financial-main` 容器内运行后端定向测试,超时不超过 60s。[CONCEPT: 测试方案] 证据:`pytest -q server/tests/test_finance_dashboard_service.py server/tests/test_demo_company_simulation_seed.py`,4 passed。
|
|||
|
|
- [x] 运行前端构建或等价静态验证。[CONCEPT: 测试方案] 证据:`npm.cmd run build` 成功。
|
|||
|
|
- [x] 调用财务看板 API,确认 JSON 中不再泄露英文枚举并包含新指标。[CONCEPT: 指标与验收] 证据:容器内服务调用返回 `claimCount`、`claimAmount`,英文枚举检查为 false。
|
|||
|
|
- [x] 验证单据中心财务角色可以看到公司报销单与归档单。[CONCEPT: 测试方案] 证据:`test_list_claims_returns_company_reimbursements_for_finance_document_center` 与归档测试通过。
|
|||
|
|
- [x] 验证财务看板真实 payload 不含风险展示文案,部门排行不含“待补充”。[CONCEPT: 指标与验收] 证据:容器内服务调用 `contains_risk_text=false`、`contains_pending_fill_department=false`。
|
|||
|
|
- [x] 验证预算指标真实 payload。[CONCEPT: 指标与验收] 证据:容器内服务调用返回 6 个 `budget_metrics`,且 `contains_focus_label=false`。
|