-- 为车辆GPS分段里程表添加任务关联字段
-- 用途：在计算GPS里程时，自动关联车辆正在执行的任务，方便统计任务里程

USE ry-vue;

-- 添加任务ID字段
ALTER TABLE tb_vehicle_gps_segment_mileage 
ADD COLUMN task_id BIGINT(20) NULL COMMENT '关联的任务ID' AFTER gps_ids;

-- 添加任务编号字段
ALTER TABLE tb_vehicle_gps_segment_mileage 
ADD COLUMN task_code VARCHAR(50) NULL COMMENT '关联的任务编号' AFTER task_id;

-- 创建索引，提升按任务ID查询的性能
CREATE INDEX idx_task_id ON tb_vehicle_gps_segment_mileage(task_id);

-- 创建复合索引，提升按车辆ID和任务ID组合查询的性能
CREATE INDEX idx_vehicle_task ON tb_vehicle_gps_segment_mileage(vehicle_id, task_id);

-- 查看表结构确认
DESC tb_vehicle_gps_segment_mileage;

-- 使用说明：
-- 1. 运行此SQL脚本添加字段
-- 2. 重新计算GPS里程时，系统会自动关联任务ID
-- 3. 统计任务里程时，可直接通过task_id查询：
--    SELECT SUM(segment_distance) FROM tb_vehicle_gps_segment_mileage WHERE task_id = ?
