疫苗接种数据填报 — 功能需求
1. 文档说明
| 项 |
说明 |
| 模块名称 |
疫苗接种数据填报 |
| 目标 |
按村 × 所属年月填报应免数、实免数;导入 upsert;导出按模板填充 |
| 关联系统 |
业务后台;sys_dept(乡镇、村) |
| 修订依据 |
交接表 疫苗接种数据填报.xlsx;运行模板 vaccination_data_import_template.xlsx |
2. 填报粒度
- 一条记录:某一自然年、某一自然月、某一行政村的疫苗接种汇总。
- 保存时由所选村反推所属乡镇。
- 唯一键:所属年份 + 所属月份 + 所属村。
- 导入:存在则更新、不存在则插入(不按年月先删后插)。
- 派生(保存时计算并落库):免疫率 = (实免数 / 应免数) × 100,保留 2 位小数(应免数 > 0 且实免数非空;如 98.33;界面/导出展示为
98.33%)。
- 约束:实免数 ≤ 应免数(两者均填写时;保存与导入均硬拦截,不允许超过)。
3. 功能范围
| 能力 |
说明 |
| 分页列表 |
筛选:年、月、乡镇、村;列:年、月、乡镇、村、应免数、实免数、免疫率 |
| 新增 / 修改 |
选村;新增默认本年本月;免疫率只读预览 |
| 详情 |
全部字段含免疫率 |
| 删除 |
物理删除 |
| Excel 导入 |
表头约 1~4 行;另选年月;免疫率列导入跳过;按唯一键 upsert |
| Excel 导出 |
另选年月;乡镇可选(不选则全部);填表人=登录用户;无合计行 |
4. 权限
dataModel:vaccinationData:list|query|add|edit|remove|import|export
菜单组件路径:dataModel/vaccinationData/index
5. 修订记录
| 版本 |
说明 |
| 1.0 |
首版:CRUD + upsert 导入 + 导出 |
| 1.1 |
免疫率改为 (实免数/应免数)×100,保留 2 位小数落库 |
| 1.2 |
约束:实免数 ≤ 应免数(硬校验) |