<?php
// Script para debugar por que as rotas não aparecem no dashboard
require_once 'config/database.php';

header('Content-Type: application/json');

try {
    $pdo = conectarBanco();
    
    echo "=== DEBUG ROTAS DASHBOARD ===\n\n";
    
    // 1. Verificar todas as rotas existentes
    echo "1. TODAS AS ROTAS EXISTENTES:\n";
    $stmt = $pdo->query("
        SELECT 
            sr.id,
            sr.titulo,
            sr.status,
            sr.data_inicio_real,
            sr.data_fim_real,
            sr.km_estimado,
            m.nome as motorista_nome
        FROM solicitacoes_rotas sr
        LEFT JOIN motoristas m ON sr.motorista_id = m.id
        ORDER BY sr.id DESC
        LIMIT 10
    ");
    $todasRotas = $stmt->fetchAll();
    
    foreach ($todasRotas as $rota) {
        echo "- ID: {$rota['id']}, Título: '{$rota['titulo']}', Status: '{$rota['status']}', Motorista: '{$rota['motorista_nome']}'\n";
    }
    
    // 2. Verificar rotas que deveriam aparecer no dashboard
    echo "\n2. ROTAS QUE DEVERIAM APARECER NO DASHBOARD:\n";
    $stmt = $pdo->query("
        SELECT 
            sr.id,
            sr.titulo,
            sr.status,
            sr.data_inicio_real,
            sr.data_fim_real,
            sr.km_estimado,
            m.nome as motorista_nome
        FROM solicitacoes_rotas sr
        LEFT JOIN motoristas m ON sr.motorista_id = m.id
        WHERE sr.status IN ('aprovada', 'em_andamento', 'concluida')
        ORDER BY sr.id DESC
        LIMIT 10
    ");
    $rotasDashboard = $stmt->fetchAll();
    
    foreach ($rotasDashboard as $rota) {
        echo "- ID: {$rota['id']}, Título: '{$rota['titulo']}', Status: '{$rota['status']}', Motorista: '{$rota['motorista_nome']}'\n";
    }
    
    // 3. Verificar viagens individuais (não de rotas)
    echo "\n3. VIAGENS INDIVIDUAIS (NÃO DE ROTAS):\n";
    $stmt = $pdo->query("
        SELECT 
            v.id,
            v.cliente,
            v.tecnico_id,
            v.data_inicio,
            v.data_fim,
            rv.viagem_id as faz_parte_rota
        FROM viagens v
        LEFT JOIN rota_viagens rv ON v.id = rv.viagem_id
        WHERE rv.viagem_id IS NULL
        ORDER BY v.id DESC
        LIMIT 10
    ");
    $viagensIndividuais = $stmt->fetchAll();
    
    foreach ($viagensIndividuais as $viagem) {
        $status = $viagem['data_fim'] ? 'concluida' : 'em_andamento';
        echo "- ID: {$viagem['id']}, Cliente: '{$viagem['cliente']}', Técnico: {$viagem['tecnico_id']}, Status: {$status}\n";
    }
    
    // 4. Testar a query do dashboard sem LIMIT
    echo "\n4. TESTE QUERY DASHBOARD SEM LIMIT:\n";
    $stmt = $pdo->query("
        SELECT 
            v.id,
            v.cliente,
            'viagem' as tipo,
            CASE WHEN v.data_fim IS NULL THEN 'em_andamento' ELSE 'concluida' END as rota_status
        FROM viagens v
        LEFT JOIN rota_viagens rv ON v.id = rv.viagem_id
        WHERE rv.viagem_id IS NULL
        
        UNION ALL
        
        SELECT 
            sr.id,
            sr.titulo as cliente,
            'rota' as tipo,
            sr.status as rota_status
        FROM solicitacoes_rotas sr
        WHERE sr.status IN ('aprovada', 'em_andamento', 'concluida')
        
        ORDER BY id DESC
    ");
    $resultado = $stmt->fetchAll();
    echo "Total de registros retornados: " . count($resultado) . "\n";
    
    foreach ($resultado as $item) {
        echo "- ID: {$item['id']}, Cliente: '{$item['cliente']}', Tipo: '{$item['tipo']}', Status: '{$item['rota_status']}'\n";
    }
    
    echo "\n=== FIM DO DEBUG ===\n";
    
} catch (Exception $e) {
    echo "❌ Erro: " . $e->getMessage() . "\n";
}
?>
