- 重构 finance_dashboard 口径计算,新增模拟公司画像数据生成与筛选 - 引入 expense_claim_status_registry 统一报销状态流转 - 完善报销草稿流程、Item Sync 与本体解析器 - 优化总览页趋势图、分页组件与请求进度步骤 - 增强报销申请快速预览、本体工具与详情展示 - 新增半年报销模拟数据种子脚本与状态审计工具 - 补充财务看板、报销状态注册与模拟数据测试覆盖
25 lines
980 B
Python
25 lines
980 B
Python
from __future__ import annotations
|
|
|
|
from typing import Any
|
|
|
|
from pydantic import BaseModel, Field
|
|
|
|
|
|
class FinanceDashboardRead(BaseModel):
|
|
range_key: str
|
|
start_date: str
|
|
end_date: str
|
|
generated_at: str
|
|
has_real_data: bool
|
|
totals: dict[str, Any] = Field(default_factory=dict)
|
|
metric_meta: dict[str, Any] = Field(default_factory=dict)
|
|
trend: dict[str, Any] = Field(default_factory=dict)
|
|
spend_by_category: list[dict[str, Any]] = Field(default_factory=list)
|
|
exception_mix: list[dict[str, Any]] = Field(default_factory=list)
|
|
department_ranking: list[dict[str, Any]] = Field(default_factory=list)
|
|
employee_ranking: list[dict[str, Any]] = Field(default_factory=list)
|
|
top_claims: list[dict[str, Any]] = Field(default_factory=list)
|
|
bottlenecks: list[dict[str, Any]] = Field(default_factory=list)
|
|
budget_summary: dict[str, Any] = Field(default_factory=dict)
|
|
budget_metrics: list[dict[str, Any]] = Field(default_factory=list)
|