-- 车辆里程统计表 DROP TABLE IF EXISTS `vehicle_mileage_stats`; CREATE TABLE `vehicle_mileage_stats` ( `stats_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '统计ID', `vehicle_id` bigint(20) NOT NULL COMMENT '车辆ID', `stats_date` date NOT NULL COMMENT '统计日期', `total_mileage` decimal(10,2) DEFAULT '0.00' COMMENT '总里程(公里)', `task_mileage` decimal(10,2) DEFAULT '0.00' COMMENT '任务里程(公里)', `non_task_mileage` decimal(10,2) DEFAULT '0.00' COMMENT '非任务里程(公里)', `task_mileage_ratio` decimal(5,2) DEFAULT '0.00' COMMENT '任务里程占比(%)', `gps_count` int(11) DEFAULT '0' COMMENT 'GPS点数', `create_time` datetime DEFAULT NULL COMMENT '创建时间', `update_time` datetime DEFAULT NULL COMMENT '更新时间', PRIMARY KEY (`stats_id`), UNIQUE KEY `uk_vehicle_date` (`vehicle_id`,`stats_date`), KEY `idx_stats_date` (`stats_date`), KEY `idx_vehicle_id` (`vehicle_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='车辆里程统计表'; -- 车辆里程统计明细表 DROP TABLE IF EXISTS `vehicle_mileage_stats_detail`; CREATE TABLE `vehicle_mileage_stats_detail` ( `detail_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '明细ID', `stats_id` bigint(20) NOT NULL COMMENT '统计ID', `vehicle_id` bigint(20) NOT NULL COMMENT '车辆ID', `task_id` bigint(20) DEFAULT NULL COMMENT '任务ID(任务时段)', `start_time` datetime NOT NULL COMMENT '开始时间', `end_time` datetime NOT NULL COMMENT '结束时间', `mileage` decimal(10,2) DEFAULT '0.00' COMMENT '里程(公里)', `is_task_period` char(1) DEFAULT '0' COMMENT '是否任务时段(0否 1是)', `gps_count` int(11) DEFAULT '0' COMMENT 'GPS点数', `create_time` datetime DEFAULT NULL COMMENT '创建时间', PRIMARY KEY (`detail_id`), KEY `idx_stats_id` (`stats_id`), KEY `idx_vehicle_id` (`vehicle_id`), KEY `idx_task_id` (`task_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='车辆里程统计明细表';