<?php
// Usar a mesma função de conexão da API
function conectarBanco() {
    $host = 'localhost';
    $dbname = 'pinheir3_controle_frotasV1.1';
    $username = 'pinheir3_admin';
    $password = '080880Gelboy';
    
    try {
        $pdo = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8mb4", $username, $password, [
            PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
            PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
        ]);
        return $pdo;
    } catch (PDOException $e) {
        throw new Exception('Erro de conexão: ' . $e->getMessage());
    }
}

// Verificar se há dados no banco
try {
    $pdo = conectarBanco();
    
    echo "<h2>Verificação de Dados</h2>";
    
    // Verificar rotas concluídas
    $stmt = $pdo->query("SELECT COUNT(*) as total FROM solicitacoes_rotas WHERE status = 'concluida'");
    $result = $stmt->fetch();
    echo "<p><strong>Rotas concluídas:</strong> " . $result['total'] . "</p>";
    
    // Verificar viagens com distancia_gps
    $stmt = $pdo->query("SELECT COUNT(*) as total FROM viagens WHERE distancia_gps IS NOT NULL AND distancia_gps > 0");
    $result = $stmt->fetch();
    echo "<p><strong>Viagens com distancia_gps:</strong> " . $result['total'] . "</p>";
    
    // Verificar algumas rotas de exemplo
    $stmt = $pdo->query("SELECT id, titulo, status, data_fim_real FROM solicitacoes_rotas WHERE status = 'concluida' LIMIT 5");
    $rotas = $stmt->fetchAll();
    echo "<h3>Últimas 5 rotas concluídas:</h3>";
    echo "<ul>";
    foreach($rotas as $rota) {
        echo "<li>ID: {$rota['id']} - {$rota['titulo']} - {$rota['data_fim_real']}</li>";
    }
    echo "</ul>";
    
    // Testar a API diretamente (simular a lógica da API)
    echo "<h3>Teste da API (simulado):</h3>";
    
    try {
        // Simular a query da API rotas-executadas
        $sqlRotas = "
            SELECT 
                sr.id,
                sr.titulo,
                sr.descricao,
                sr.status,
                sr.data_inicio_real,
                sr.data_fim_real,
                sr.km_estimado,
                sr.distancia_odometro_rota,
                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,
                (SELECT SUM(v.distancia_gps) 
                 FROM rota_viagens rv 
                 JOIN viagens v ON rv.viagem_id = v.id 
                 WHERE rv.solicitacao_rota_id = sr.id 
                 AND v.distancia_gps IS NOT NULL 
                 AND v.distancia_gps > 0) as distancia_gps
            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 50
        ";
        
        $stmt = $pdo->query($sqlRotas);
        $rotas = $stmt->fetchAll(PDO::FETCH_ASSOC);
        
        echo "<p><strong>API Status:</strong> Sucesso</p>";
        echo "<p><strong>Dados retornados:</strong> " . count($rotas) . " rotas</p>";
        
        if (count($rotas) > 0) {
            echo "<h4>Primeira rota:</h4>";
            echo "<pre>" . print_r($rotas[0], true) . "</pre>";
        }
        
    } catch (Exception $e) {
        echo "<p><strong>API Status:</strong> Erro</p>";
        echo "<p><strong>Erro:</strong> " . $e->getMessage() . "</p>";
    }
    
} catch (Exception $e) {
    echo "<p style='color: red;'><strong>Erro:</strong> " . $e->getMessage() . "</p>";
}
?>
