<?php
// Script para testar o endpoint de rotas executadas
require_once 'config/database.php';

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

try {
    $pdo = conectarBanco();
    
    echo "=== TESTE ENDPOINT ROTAS EXECUTADAS ===\n\n";
    
    // 1. Verificar se existem rotas concluídas
    echo "1. ROTAS CONCLUÍDAS:\n";
    $stmt = $pdo->query("
        SELECT 
            sr.id,
            sr.titulo,
            sr.status,
            sr.data_inicio_real,
            sr.data_fim_real,
            sr.km_estimado,
            sr.km_real,
            COUNT(rc.id) as total_clientes
        FROM solicitacoes_rotas sr
        LEFT JOIN rota_clientes rc ON sr.id = rc.solicitacao_rota_id
        WHERE sr.status = 'concluida'
        GROUP BY sr.id
        ORDER BY sr.data_fim_real DESC
        LIMIT 10
    ");
    $rotas = $stmt->fetchAll();
    
    echo "Total de rotas concluídas: " . count($rotas) . "\n";
    foreach ($rotas as $rota) {
        echo "- ID: {$rota['id']}, Título: '{$rota['titulo']}', Status: '{$rota['status']}', Clientes: {$rota['total_clientes']}\n";
    }
    
    // 2. Verificar todos os status de rotas
    echo "\n2. TODOS OS STATUS DE ROTAS:\n";
    $stmt = $pdo->query("
        SELECT 
            status,
            COUNT(*) as total
        FROM solicitacoes_rotas
        GROUP BY status
        ORDER BY total DESC
    ");
    $status = $stmt->fetchAll();
    
    foreach ($status as $item) {
        echo "- Status: '{$item['status']}', Total: {$item['total']}\n";
    }
    
    // 3. Testar a query do endpoint
    echo "\n3. TESTE QUERY DO ENDPOINT:\n";
    $stmt = $pdo->query("
        SELECT 
            sr.id,
            sr.titulo,
            sr.descricao,
            sr.status,
            sr.data_inicio_real,
            sr.data_fim_real,
            sr.km_estimado,
            sr.km_real,
            sr.diferenca_km_calculada,
            sr.justificativa_km,
            sr.duracao_estimada,
            TIMESTAMPDIFF(MINUTE, sr.data_inicio_real, sr.data_fim_real) as duracao_real_minutos,
            (SELECT COUNT(*) FROM rota_clientes rc WHERE rc.solicitacao_rota_id = sr.id) as total_clientes,
            (SELECT COUNT(*) FROM rota_clientes rc WHERE rc.solicitacao_rota_id = sr.id AND rc.status_atendimento = 'concluido') as clientes_concluidos,
            m.nome as motorista_nome,
            ve.modelo as veiculo_modelo,
            ve.placa as veiculo_placa
        FROM solicitacoes_rotas sr
        LEFT JOIN motoristas m ON sr.motorista_id = m.id
        LEFT JOIN veiculos ve ON sr.veiculo_id = ve.id
        WHERE sr.status = 'concluida'
        ORDER BY sr.data_fim_real DESC
        LIMIT 5
    ");
    $resultado = $stmt->fetchAll();
    
    echo "Total de registros retornados: " . count($resultado) . "\n";
    foreach ($resultado as $item) {
        echo "- ID: {$item['id']}, Título: '{$item['titulo']}', Motorista: '{$item['motorista_nome']}', Veículo: '{$item['veiculo_modelo']}'\n";
    }
    
    // 4. Verificar se há dados de exemplo
    echo "\n4. DADOS DE EXEMPLO:\n";
    $stmt = $pdo->query("
        SELECT 
            sr.id,
            sr.titulo,
            sr.status,
            sr.data_inicio_real,
            sr.data_fim_real
        FROM solicitacoes_rotas sr
        ORDER BY sr.id DESC
        LIMIT 5
    ");
    $exemplo = $stmt->fetchAll();
    
    foreach ($exemplo as $item) {
        echo "- ID: {$item['id']}, Título: '{$item['titulo']}', Status: '{$item['status']}', Início: '{$item['data_inicio_real']}', Fim: '{$item['data_fim_real']}'\n";
    }
    
    echo "\n=== FIM DO TESTE ===\n";
    
} catch (Exception $e) {
    echo "❌ Erro: " . $e->getMessage() . "\n";
}
?>
