# Day 6 - 预算看板、本体识别与AI解释

## 目标

让预算中心不只是数据表，还能被 AI 对话、本体识别和经营分析调用。

## 看板指标

- 本月预算总额
- 本月已预占
- 本月已核销
- 本月可用余额
- 部门预算排行
- 费用科目执行率
- 超预算事项数量
- 预算预警事项数量

## 本体字段

新增或强化字段：

```text
cost_center
project_code
budget_subject
budget_period
budget_amount
available_amount
reserved_amount
consumed_amount
over_budget
budget_warning
```

## 预算字段设计

预算中心字段分为四层，前端弹窗、预算台账、后端本体解析都必须使用同一套语义键。

### 预算主信息

- `budget_period`：预算周期，支持年度、季度、月份。
- `department`：所属部门，来自真实组织/部门数据。
- `cost_center`：成本中心，跟随部门归属。
- `budget_owner`：预算负责人。
- `budget_version`：预算版本，例如 `V1.0（初始版本）`。
- `budget_status`：预算状态，第一版限定为 `编制中 / 已发布 / 已冻结`。
- `budget_description`：预算说明。

### 预算明细

- `budget_subject`：预算科目，对应页面费用类型。
- `budget_subject_code`：预算科目编码，例如 `travel / office / training`。
- `budget_amount`：预算金额。
- `warning_threshold`：预警线，例如 `70% / 80%`。
- `control_action`：控制动作，第一版限定为 `正常 / 提醒 / 管控`。
- `budget_remark`：明细备注。

### 预算执行

- `reserved_amount`：已占用/已预占金额。
- `consumed_amount`：已发生/已核销金额。
- `available_amount`：剩余可用金额。
- `budget_usage_rate`：预算执行率。
- `over_budget`：是否超预算。
- `budget_warning`：是否触发预算预警。

### 本体映射规则

- 页面字段使用驼峰变量，但提交/上下文统一映射为 snake_case 本体字段。
- 本体 `scenario=budget` 负责预算编制、预算查询、预算预警、预算占用、预算不足解释。
- 费用申请/报销仍使用 `scenario=expense`，但预算占用字段必须引用 `budget_subject / budget_period / cost_center`。
- 问句中出现“预算金额、可用预算、剩余预算、预算占用、成本中心、预警线、超预算、预算不足”等词，应优先识别为 `budget` 场景。
- 本体输出中，预算字段优先进入 `entities`；金额类查询同步进入 `metrics`；筛选口径进入 `constraints`。

## AI解释能力

需要支持的问题：

- 这个申请为什么预算不足？
- 这个报销占用了哪个预算？
- 本月哪个部门预算快超了？
- 某个项目还剩多少预算？
- 超预算申请需要谁审批？

## 验收

- [ ] 本体能识别预算相关问题。
- [ ] AI能解释预算不足原因。
- [ ] 首页预算看板来自后端真实汇总。
- [ ] 预算中心和AI回答的金额一致。
