-- 疫苗接种数据填报(物理删除;全量覆盖建表) -- 唯一键:uk_year_month_village (stat_year, stat_month, village_dept_id) -- 派生落库:immunity_rate = (实免数/应免数)*100,保留2位小数(如 98.33) DROP TABLE IF EXISTS `biz_vaccination_data`; CREATE TABLE `biz_vaccination_data` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', `stat_year` int(11) NOT NULL COMMENT '所属年份', `stat_month` int(11) NOT NULL COMMENT '所属月份(1-12)', `town_dept_id` bigint(20) NOT NULL COMMENT '所属乡镇dept_id', `town_name` varchar(64) NOT NULL COMMENT '乡镇名称', `village_dept_id` bigint(20) NOT NULL COMMENT '所属村dept_id', `village_name` varchar(128) NOT NULL COMMENT '所属村名称', `should_vaccinate_count` int(11) DEFAULT NULL COMMENT '应免数(头)', `actual_vaccinate_count` int(11) DEFAULT NULL COMMENT '实免数(头)', `immunity_rate` decimal(8,2) DEFAULT NULL COMMENT '免疫率=(实免数/应免数)*100,保留2位小数', `create_by` varchar(64) DEFAULT '' COMMENT '创建者', `create_time` datetime DEFAULT NULL COMMENT '创建时间', `update_by` varchar(64) DEFAULT '' COMMENT '更新者', `update_time` datetime DEFAULT NULL COMMENT '更新时间', `remark` varchar(500) DEFAULT NULL COMMENT '备注', PRIMARY KEY (`id`), UNIQUE KEY `uk_year_month_village` (`stat_year`, `stat_month`, `village_dept_id`), KEY `idx_stat_year_month` (`stat_year`, `stat_month`), KEY `idx_town_dept_id` (`town_dept_id`), KEY `idx_village_dept_id` (`village_dept_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='疫苗接种数据填报';