-- Script para testar a correção de IDs do checklist
-- Execute antes e depois do teste para comparar

-- 1. SITUAÇÃO ATUAL - Últimas viagens
SELECT 'ÚLTIMAS VIAGENS CRIADAS:' as status;
SELECT id, veiculo_id, cliente, motivo, 
       DATE(data_inicio) as data, 
       CASE WHEN data_fim IS NULL THEN 'EM ANDAMENTO' ELSE 'FINALIZADA' END as status_viagem
FROM viagens 
ORDER BY id DESC 
LIMIT 10;

-- 2. SITUAÇÃO ATUAL - Últimos checklists  
SELECT 'ÚLTIMOS CHECKLISTS:' as status;
SELECT c.id, c.viagem_id, c.veiculo_id, c.tipo_veiculo,
       DATE(c.data_hora) as data_checklist,
       CASE WHEN v.id IS NULL THEN '❌ VIAGEM NÃO EXISTE' ELSE '✅ OK' END as status_viagem,
       c.sincronizado
FROM checklist_veiculo c
LEFT JOIN viagens v ON c.viagem_id = v.id
ORDER BY c.id DESC 
LIMIT 10;

-- 3. CHECKLISTS COM PROBLEMAS
SELECT 'CHECKLISTS COM PROBLEMAS:' as status;
SELECT COUNT(*) as total_com_problemas
FROM checklist_veiculo c
LEFT JOIN viagens v ON c.viagem_id = v.id
WHERE v.id IS NULL;

-- 4. DETALHES DOS PROBLEMAS
SELECT c.id as checklist_id, c.viagem_id as id_incorreto, c.veiculo_id, 
       DATE(c.data_hora) as data_checklist,
       v.id as viagem_correta, v.cliente
FROM checklist_veiculo c
LEFT JOIN viagens v_problema ON c.viagem_id = v_problema.id
LEFT JOIN viagens v ON (v.veiculo_id = c.veiculo_id AND DATE(v.data_inicio) = DATE(c.data_hora))
WHERE v_problema.id IS NULL
ORDER BY c.id DESC;

-- 5. Para execução APÓS o teste do novo checklist
-- Descomente a linha abaixo e execute para ver o resultado:
-- SELECT 'RESULTADO DO TESTE - Execute após fazer novo checklist' as instrucao; 