| 编号 | 场景 | 步骤 | 预期 |
|---|---|---|---|
| VD-01 | 列表筛选 | 按年/月/乡镇/村查询 | 分页结果正确 |
| VD-02 | 新增 | 选村,填应免/实免,保存 | 免疫率=(实免/应免)×100 保留2位小数落库;乡镇由村反推 |
| VD-03 | 唯一键冲突 | 同年月同村再新增 | 拒绝 |
| VD-04 | 修改 | 改应免/实免 | 免疫率重算 |
| VD-05 | 删除 | 删除一条 | 物理删除成功 |
| VD-06 | 未来月 | 选未来年月保存 | 拒绝 |
| VD-07 | 实免>应免 | 保存/导入 | 允许;导入可有软警告 |
| VD-08 | 下载模板 | 点下载模板 | 得到官方 xlsx |
| VD-09 | 导入 upsert | 上传模板示例行,再导入同村改数 | 首次新增、再次更新 |
| VD-10 | 导出 | 选年月,可选乡镇 | 按模板填充;免疫率为百分比;无合计行 |
| 编号 | 类 | 说明 |
|---|---|---|
| VD-UT-01 | VaccinationDataExcelParserTest |
官方模板解析出 2 条示例行 |
| VD-UT-02 | 同上 | 主表头行索引=2,子表头跳过 |
| VD-UT-03 | 同上 | 免疫率派生与软警告 |