# 牦牛出栏数据填报 — 功能需求

## 1. 文档说明

| 项 | 说明 |
| --- | --- |
| 模块名称 | 牦牛出栏数据填报 |
| 目标 | 按**村 × 所属年月**填报、导入、维护农牧户牲畜出栏及自食情况；**每月导入一次**当月快照 |
| 关联系统 | 业务后台；`sys_dept`（乡镇、村） |
| 修订依据 | 交接表 `牦牛出栏数据填报.xlsx`；运行模板 `yak_outbound_report_import_template.xlsx` |

---

## 2. 术语与统计口径

### 2.1 填报粒度

- 一条记录：**某一自然年、某一自然月、某一行政村**的出栏及自食汇总。  
- 保存时由所选村反推所属乡镇。  
- 唯一键：所属年份 + 所属月份 + 所属村。  
- 同月重复导入为**该年月全量覆盖**（先删后插）。

### 2.2～2.4 年月 / 乡镇 / 村

与存栏模块一致：年份向前 6 年、月份 1～12 不可未来月；乡镇为 `sys_dept` 二级合法节点；村为三级叶子；表单只选村。

### 2.5 指标

**录入**：农牧户户数/人数；牦牛、黄牛/奶牛/犏牛、绵羊、山羊、马骡、驴出栏；自食牛/绵羊/山羊。  

**导出计算（不入库）**：出栏合计 = 六类出栏之和；自食合计 = 三类自食之和。  

自食大于对应出栏时允许保存，导入可返回警告。

---

## 3～5. 功能要点

| 能力 | 说明 |
| --- | --- |
| 列表 | 筛年/月/乡镇/村；列含乡镇、村、户数、人数、牦牛出栏、自食牛 |
| 新增/修改 | 年、月、村必填；乡镇反推；唯一「年+月+村」 |
| 导入 | 选填报年月；解析乡镇+村；失败则不写库；成功则全量覆盖 |
| 导出 | 导出该月已填报村行；合计合并序号+乡镇+村；自户数起按列求和；填表时间为导出当日年月 |

Excel 列：序号、乡镇、村、户数、人数、六类出栏、出栏合计、三类自食、自食合计。

---

## 6. 权限

`dataModel:yakOutboundReport:list|query|add|edit|remove|import|export`

---

## 10. 修订记录

| 版本 | 说明 |
| --- | --- |
| 1.0～1.x | 乡镇粒度、按年月、upsert 等历史版本 |
| 2.0 | 按村填报；列含村；导入全量覆盖；导出合计按列求和；对齐交接模板 |
