-- 车辆里程统计表
CREATE TABLE `tb_vehicle_mileage_stats` (
  `stats_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '统计ID',
  `vehicle_id` bigint(20) NOT NULL COMMENT '车辆ID',
  `vehicle_no` varchar(20) DEFAULT NULL COMMENT '车牌号',
  `stat_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_ratio` decimal(5,4) DEFAULT 0.0000 COMMENT '任务里程占比(0-1)',
  `gps_point_count` int(11) DEFAULT 0 COMMENT 'GPS点数量',
  `task_count` int(11) DEFAULT 0 COMMENT '任务数量',
  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  PRIMARY KEY (`stats_id`),
  UNIQUE KEY `uk_vehicle_date` (`vehicle_id`, `stat_date`),
  KEY `idx_vehicle_id` (`vehicle_id`),
  KEY `idx_stat_date` (`stat_date`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='车辆里程统计表';

-- 车辆里程统计明细表（可选，用于调试和追溯）
CREATE TABLE `tb_vehicle_mileage_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',
  `segment_start_time` datetime NOT NULL COMMENT '段起始时间',
  `segment_end_time` datetime NOT NULL COMMENT '段结束时间',
  `start_longitude` decimal(10,7) DEFAULT NULL COMMENT '起点经度',
  `start_latitude` decimal(10,7) DEFAULT NULL COMMENT '起点纬度',
  `end_longitude` decimal(10,7) DEFAULT NULL COMMENT '终点经度',
  `end_latitude` decimal(10,7) DEFAULT NULL COMMENT '终点纬度',
  `segment_distance` decimal(10,3) DEFAULT 0.000 COMMENT '段距离(公里)',
  `task_distance` decimal(10,3) DEFAULT 0.000 COMMENT '任务内距离(公里)',
  `non_task_distance` decimal(10,3) DEFAULT 0.000 COMMENT '任务外距离(公里)',
  `is_in_task` tinyint(1) DEFAULT 0 COMMENT '是否完全在任务时段内(0-否,1-是,2-部分)',
  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  PRIMARY KEY (`detail_id`),
  KEY `idx_stats_id` (`stats_id`),
  KEY `idx_vehicle_id` (`vehicle_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='车辆里程统计明细表';
