| 项 | 说明 |
|---|---|
| 模块名称 | 牦牛出栏数据填报 |
| 目标 | 按村 × 所属年月填报、导入、维护农牧户牲畜出栏及自食情况;每月导入一次当月快照 |
| 关联系统 | 业务后台;sys_dept(乡镇、村) |
| 修订依据 | 交接表 牦牛出栏数据填报.xlsx;运行模板 yak_outbound_report_import_template.xlsx |
与存栏模块一致:年份向前 6 年、月份 1~12 不可未来月;乡镇为 sys_dept 二级合法节点;村为三级叶子;表单只选村。
录入(新增/修改可编辑):农牧户数、农牧人数;牦牛、黄牛/奶牛/犏牛、绵羊、山羊、马骡、驴出栏;自食牛、自食绵羊、自食山羊;备注。
计算字段(不入库):
| 名称 | 计算规则 | 展示位置 |
|---|---|---|
| 牲畜总出栏数 | 六类出栏之和 | 列表、详情、Excel 导出;新增/修改不展示 |
| 自食牲畜总数 | 三类自食之和 | 列表、详情、Excel 导出;新增/修改不展示 |
自食大于对应出栏时允许保存,导入可返回警告。
| 能力 | 说明 |
|---|---|
| 分页列表 | 见 §5.1 |
| 新增 / 修改 | 见 §5.2 |
| 详情 | 见 §5.3 |
| 删除 | 物理删除 |
| Excel 导入 / 导出 / 下载模板 | 见 §5.4~5.5 |
筛选:所属年份、所属月份、所属乡镇、所属村(均可清空;进入页不默认年月)。
列表展示列
| 列名 | 说明 |
|---|---|
| 所属年份 | stat_year |
| 所属月份 | stat_month(展示为「N 月」) |
| 所属乡镇 | town_name |
| 所属村 | village_name |
| 农牧户数 | farmer_household_count |
| 农牧人数 | farmer_population_count |
| 牦牛出栏数 | yak_outbound_count |
| 牲畜总出栏数 | 六类出栏之和(前端计算) |
| 自食牛数 | self_consumption_cattle_count |
| 自食牲畜总数 | 三类自食之和(前端计算) |
| 操作 | 查看、修改、删除 |
| 项 | 要求 |
|---|---|
| 必填 | 所属年份、所属月份、所属村 |
| 录入项 | §2.5 全部可编辑明细(不含两项合计) |
| 乡镇 | 由村反推,表单不单独选择 |
| 默认值 | 新增时年月默认当前年月 |
| 唯一性 | 同年同月同村已存在则禁止新增 |
| 合计 | 不展示牲畜总出栏数、自食牲畜总数 |
展示与新增录入字段一致的全部明细,并额外展示:所属乡镇、牲畜总出栏数、自食牲畜总数(只读计算)。
选填报年月 → 解析乡镇+村 → 任一行失败则不写库 → 成功则按 (年,月,村) upsert。
导出该月已填报村行;可选所属乡镇(不选则全部);合计行合并序号+乡镇+村;自户数起按列求和;填表时间为导出当日年月。
Excel 列:序号、乡镇、村、户数、人数、六类出栏、出栏合计、三类自食、自食合计。
dataModel:yakOutboundReport:list|query|add|edit|remove|import|export
| 版本 | 说明 |
|---|---|
| 1.0~1.x | 乡镇粒度、按年月、upsert 等历史版本 |
| 2.0 | 按村填报;列含村;导入全量覆盖;导出合计按列求和;对齐交接模板 |
| 2.1 | 列表增牲畜总出栏数/自食牲畜总数;详情展示全部明细+合计;新增/修改不展示合计 |
| 2.2 | 导入改为按 (年,月,村) upsert;导出增加可选所属乡镇筛选 |