# 牦牛出栏数据填报 — 测试用例 > 依据:`牦牛出栏数据填报功能需求.md`、`牦牛出栏数据填报技术方案.md` > **接口 Base Path**:`/dataModel/yakOutboundReport` > **模板**:`yak_outbound_report_import_template.xlsx` / 测试样例 `yak_outbound_report_2026.xlsx` **通用前置**:已登录且具备模块权限;`sys_dept` 已导入乡镇与村。 --- ## 一、单元测试用例(摘要) | 用例编号 | 测试项 | 预期结果 | | --- | --- | --- | | ZCZX-MYCNCL-UT-001 | 年份选项 | 当年起前 5 年共 6 个 | | ZCZX-MYCNCL-UT-003 | 缺村校验 | 抛异常 | | ZCZX-MYCNCL-UT-004 | 负数拒绝 | 校验失败 | | ZCZX-MYCNCL-UT-005 | 同年同月同村唯一 | 失败「该年该月该村已填报」 | | ZCZX-MYCNCL-UT-006 | 新增成功 | 乡镇由村反推 | | ZCZX-MYCNCL-UT-007~011 | 解析表头/村行/跳过合计 | 与新模板列一致 | | ZCZX-MYCNCL-UT-013 | 导入全量覆盖 | `deleteByYearMonth` 后 insert | | ZCZX-MYCNCL-UT-018 | 自食大于出栏 | 警告不阻断 | | ZCZX-MYCNCL-UT-019 | 导出合计求和 | 合计行数值正确 | --- ## 二、接口测试用例(摘要) | 用例编号 | 测试项 | 预期结果 | | --- | --- | --- | | ZCZX-MYCNCL-API-001 | 列表 | 返回明细字段(合计由前端算) | | ZCZX-MYCNCL-API-003a | 按村筛选 | `villageDeptId` 精确 | | ZCZX-MYCNCL-API-005 | 详情 | 含全部明细;乡镇/村齐全 | | ZCZX-MYCNCL-API-006~009 | 新增 | 必填村;同村重复失败 | | ZCZX-MYCNCL-API-013a | 村树 | `GET /villageTree` | | ZCZX-MYCNCL-API-014~015 | 导入 | 全量覆盖;无有效行报错 | | ZCZX-MYCNCL-API-021 | 导出 | 按年月 xlsx | --- ## 三、界面测试用例(摘要) | 用例编号 | 测试项 | 预期结果 | | --- | --- | --- | | ZCZX-MYCNCL-UI-001 | 列表列 | 含年/月/乡镇/村/农牧户数/农牧人数/牦牛出栏/牲畜总出栏数/自食牛数/自食牲畜总数 | | ZCZX-MYCNCL-UI-006 | 新增村树 | 仅可选村叶子 | | ZCZX-MYCNCL-UI-007 | 新增表单 | 可填全部明细;**不出现**牲畜总出栏数、自食牲畜总数 | | ZCZX-MYCNCL-UI-010 | 详情 | 全部明细 + 两项合计只读 | | ZCZX-MYCNCL-UI-011 | 导入 | 全量覆盖成功摘要 | --- ## 四、覆盖对照 | 需求章节 | 要点 | 主要用例 | | --- | --- | --- | | §2.5 合计 | 不入库;列表/详情展示;表单不展示 | UI-001、007、010 | | §5.1 列表 | 十数据列 | UI-001;API-001 | | §5.2 新增修改 | 只选村;无合计输入 | UI-006~007 | | §5.3 详情 | 明细+合计 | UI-010;API-005 | | §5.4~5.5 导入导出 | 全量覆盖、合计行 | UT-013、019;API-014、021 | --- ## 五、修订记录 | 版本 | 说明 | | --- | --- | | 1.0~1.x | 乡镇粒度、upsert、七列列表等历史版本 | | 2.0 | 村粒度、全量覆盖、新模板列 | | 2.1 | 列表十列含两项合计;新增/修改不展示合计;详情含合计 |