依据:同目录功能需求;模板
baqing-admin/src/main/resources/templates/yak_outbound_report_import_template.xlsx。
Controller /dataModel/yakOutboundReport → Service → Mapper;Excel:YakOutboundReportExcelParser / YakOutboundReportExcelExporter;校验:YakOutboundReportValidation(村反推乡镇)。
biz_yak_outbound_report唯一键 uk_year_month_village (stat_year, stat_month, village_dept_id);含 town_*、village_* 及出栏/自食明细字段。两项合计不落库。DDL:sql/biz_yak_outbound_report.sql(DROP 全量重建)。
| URI | 说明 |
|---|---|
CRUD /list /{id} POST/PUT/DELETE |
同常规;列表/详情返回明细字段 |
/villageTree |
县→乡镇→村 |
/importData |
按唯一键 upsert(存在更新 / 不存在插入) |
/export |
按年月导出;可选 townDeptId,不传则全部乡镇 |
| 列 | 字段 |
|---|---|
| 1~2 | 乡镇、村 |
| 3~4 | 户数、人数 |
| 5~10 | 六类出栏 |
| 11 | 出栏合计(导出算) |
| 12~14 | 自食牛/绵羊/山羊 |
| 15 | 自食合计(导出算) |
数据起始行:headerRow + 1。
| 字段 | 计算 | 使用处 |
|---|---|---|
| 牲畜总出栏数 | 六类出栏 sum | 列表列、详情只读 |
| 自食牲畜总数 | 三类自食 sum | 列表列、详情只读 |
新增/修改表单不渲染上述两项。
(年,月,村) 存在 update、不存在 insert。地图乡镇标注对填报表按 town_dept_id 聚合 sum 后再关联。
| 版本 | 说明 |
|---|---|
| 2.0 | 村粒度全量覆盖;列映射对齐交接模板;大屏按乡镇聚合 |
| 2.1 | 列表/详情合计字段口径;新增修改不展示合计 |
| 2.2 | 导入改为 upsert;导出增加可选乡镇筛选 |