-- 🔍 Diagnóstico da Viagem 75 - Verificar pontos GPS
-- Execute este script no phpMyAdmin ou MySQL Workbench

-- 1. Verificar se viagem 75 existe
SELECT 
    '1. ✅ Verificar se viagem existe:' as diagnostico,
    id, cliente, data_inicio, data_fim, 
    CASE 
        WHEN trajeto IS NULL OR trajeto = '' THEN '❌ VAZIO'
        ELSE CONCAT('✅ Presente (', LENGTH(trajeto), ' chars)')
    END as trajeto_status
FROM viagens 
WHERE id = 75;

-- 2. Verificar pontos GPS na tabela rastreamento_tempo_real
SELECT 
    '2. 📍 Pontos GPS encontrados:' as diagnostico,
    COUNT(*) as total_pontos,
    CASE 
        WHEN COUNT(*) = 0 THEN '❌ NENHUM ponto GPS - explica linha reta no retaguarda'
        ELSE CONCAT('✅ ', COUNT(*), ' pontos GPS encontrados')
    END as status_gps
FROM rastreamento_tempo_real 
WHERE viagem_id = 75;

-- 3. Se houver pontos GPS, mostrar alguns exemplos
SELECT 
    '3. 📊 Exemplos de pontos GPS (primeiros 5):' as diagnostico,
    timestamp, latitude, longitude, velocidade, precisao
FROM rastreamento_tempo_real 
WHERE viagem_id = 75 
ORDER BY timestamp 
LIMIT 5;

-- 4. Comparação com outras viagens recentes
SELECT 
    '4. 📈 Comparação com outras viagens:' as diagnostico,
    v.id, 
    v.cliente, 
    v.data_inicio,
    COUNT(r.id) as pontos_gps,
    CASE 
        WHEN COUNT(r.id) = 0 THEN '❌ Sem GPS'
        ELSE CONCAT('✅ ', COUNT(r.id), ' pontos')
    END as status_gps,
    CASE 
        WHEN v.data_fim IS NULL THEN 'Em andamento'
        ELSE 'Finalizada'
    END as status_viagem
FROM viagens v 
LEFT JOIN rastreamento_tempo_real r ON v.id = r.viagem_id 
WHERE v.id >= 69 AND v.id <= 75
GROUP BY v.id 
ORDER BY v.id DESC;

-- 5. Verificar última atividade GPS no sistema
SELECT 
    '5. 🕐 Última atividade GPS no sistema:' as diagnostico,
    MAX(timestamp) as ultimo_gps_recebido,
    viagem_id as ultima_viagem_com_gps,
    TIMESTAMPDIFF(HOUR, MAX(timestamp), NOW()) as horas_atras
FROM rastreamento_tempo_real;

-- 6. Script para criar GPS de teste (execute separadamente se necessário)
-- ATENÇÃO: Execute apenas se a viagem 75 não tiver pontos GPS

/*
-- Para criar GPS de teste para viagem 75:
INSERT INTO rastreamento_tempo_real 
(viagem_id, latitude, longitude, velocidade, precisao, altitude, battery_level, timestamp)
VALUES 
(75, -11.01654100, -37.07599130, 0, 5.0, -3.0, 100, '2025-06-30 10:08:00'),
(75, -11.01656260, -37.07612190, 15, 4.8, -3.0, 100, '2025-06-30 10:08:30'),
(75, -11.01653230, -37.07619180, 25, 12.7, -3.0, 100, '2025-06-30 10:09:00'),
(75, -11.01642830, -37.07624850, 35, 11.2, -3.0, 100, '2025-06-30 10:09:30'),
(75, -11.01642320, -37.07630010, 40, 10.4, -3.0, 100, '2025-06-30 10:10:00'),
(75, -11.01639830, -37.07632550, 35, 9.5, -3.0, 100, '2025-06-30 10:10:30'),
(75, -11.01636490, -37.07642340, 25, 10.4, -3.0, 100, '2025-06-30 10:11:00'),
(75, -11.01629730, -37.07654620, 30, 9.6, -3.0, 100, '2025-06-30 10:11:30'),
(75, -11.01625950, -37.07664480, 35, 7.9, -3.0, 100, '2025-06-30 10:12:00'),
(75, -11.01620180, -37.07671780, 40, 8.9, -3.0, 100, '2025-06-30 10:12:30');

-- Verificar se os pontos foram inseridos:
SELECT COUNT(*) as pontos_inseridos FROM rastreamento_tempo_real WHERE viagem_id = 75;
*/ 