- 重构 finance_dashboard 口径计算,新增模拟公司画像数据生成与筛选 - 引入 expense_claim_status_registry 统一报销状态流转 - 完善报销草稿流程、Item Sync 与本体解析器 - 优化总览页趋势图、分页组件与请求进度步骤 - 增强报销申请快速预览、本体工具与详情展示 - 新增半年报销模拟数据种子脚本与状态审计工具 - 补充财务看板、报销状态注册与模拟数据测试覆盖
2.6 KiB
2.6 KiB
半年报销模拟数据 TODO
调研与契约
- [CONCEPT: 背景与问题] 读取员工、报销、预算和财务看板现有模型,确认模拟数据要写入
employees、expense_claims、expense_claim_items、budget_allocations、budget_transactions、budget_reservations和risk_observations。 - [CONCEPT: 背景与问题] 在
x-financial-main容器内完成只读规模检查,当前员工 82 人、报销单 3 单、模拟前缀数据为 0。 - [CONCEPT: 方案设计] 明确脚本默认 dry-run,批量写入必须使用
--apply并先得到用户确认。
数据生成
- [CONCEPT: 数据策略] 新增模拟数据服务模块,封装员工、预算、报销、明细、风险观察的生成逻辑。证据:
demo_company_simulation_seed.py与demo_company_simulation_catalog.py。 - [CONCEPT: 输入] 新增命令脚本,支持
--target-employees、--start-date、--months、--seed、--apply。证据:seed_half_year_expense_demo.py。 - [CONCEPT: 边界] 实现幂等逻辑:已存在的
SIM2026、SIM-EXP-2026和SIM-BUD-2026数据不重复创建。证据:test_half_year_simulation_preview_and_apply_are_idempotent。 - [CONCEPT: 预算使用率] 通过
BudgetTransaction和BudgetReservation形成预算使用效果,不直接改余额。证据:test_half_year_simulation_feeds_budget_summary。
验证
- [CONCEPT: 测试方案] 新增定向单元测试,覆盖 dry-run、apply、员工补齐和幂等性。证据:
server/tests/test_demo_company_simulation_seed.py。 - [CONCEPT: 测试方案] 在容器中以 60s 超时运行定向测试。证据:
pytest -q server/tests/test_demo_company_simulation_seed.py通过,2 passed。 - [CONCEPT: 运行命令] 执行 dry-run,输出计划写入规模。证据:dry-run 计划新增 18 名员工、495 张报销单、855 条明细、34 个预算池、459 条预算交易、83 条预占、55 条风险观察。
- [CONCEPT: 风险与开放问题] 获得用户确认后执行
--apply写入本地数据库。证据:seed_half_year_expense_demo.py --apply成功写入。 - [CONCEPT: 指标与验收] 用容器内 DB 统计确认员工数、模拟报销单、预算交易和风险观察。证据:员工 100 人,模拟报销 495 单、预算交易 459 条、风险观察 55 条。
- [CONCEPT: 指标与验收] 用真实 API 验证财务看板与预算汇总 JSON 已出现半年模拟数据效果。证据:预算汇总 API 返回
warning_count=10、over_budget_count=3;财务看板 API 返回has_real_data=true、riskCount=57。