<?php
header('Content-Type: text/html; charset=utf-8');

echo "<h1>🔍 Verificar Relação entre Viagens e Rotas</h1>";

try {
    $host = 'localhost';
    $dbname = 'pinheir3_controle_frotasV1.1';
    $username = 'pinheir3_admin';
    $password = '080880Gelboy';
    
    $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,
    ]);
    
    echo "<h2>1️⃣ Verificar Tabela solicitacoes_rotas</h2>";
    
    // Verificar se a tabela existe
    try {
        $stmt = $pdo->query("SELECT COUNT(*) as total FROM solicitacoes_rotas");
        $total = $stmt->fetch();
        echo "<p><strong>Total de rotas:</strong> {$total['total']}</p>";
        
        // Verificar estrutura
        $stmt = $pdo->query("DESCRIBE solicitacoes_rotas");
        $colunas = $stmt->fetchAll();
        
        echo "<table border='1' style='border-collapse: collapse; margin: 10px 0; width: 100%;'>";
        echo "<tr style='background: #e8f5e8;'>";
        echo "<th>Campo</th><th>Tipo</th><th>NULL</th><th>Chave</th><th>Padrão</th><th>Extra</th>";
        echo "</tr>";
        
        foreach ($colunas as $col) {
            echo "<tr>";
            echo "<td><strong>{$col['Field']}</strong></td>";
            echo "<td>{$col['Type']}</td>";
            echo "<td>{$col['Null']}</td>";
            echo "<td>{$col['Key']}</td>";
            echo "<td>{$col['Default']}</td>";
            echo "<td>{$col['Extra']}</td>";
            echo "</tr>";
        }
        echo "</table>";
        
    } catch (Exception $e) {
        echo "<p style='color: red;'>❌ Tabela solicitacoes_rotas não existe: " . $e->getMessage() . "</p>";
    }
    
    echo "<h2>2️⃣ Verificar Tabela rota_clientes</h2>";
    
    // Verificar se a tabela existe
    try {
        $stmt = $pdo->query("SELECT COUNT(*) as total FROM rota_clientes");
        $total = $stmt->fetch();
        echo "<p><strong>Total de clientes em rotas:</strong> {$total['total']}</p>";
        
        // Verificar estrutura
        $stmt = $pdo->query("DESCRIBE rota_clientes");
        $colunas = $stmt->fetchAll();
        
        echo "<table border='1' style='border-collapse: collapse; margin: 10px 0; width: 100%;'>";
        echo "<tr style='background: #e8f5e8;'>";
        echo "<th>Campo</th><th>Tipo</th><th>NULL</th><th>Chave</th><th>Padrão</th><th>Extra</th>";
        echo "</tr>";
        
        foreach ($colunas as $col) {
            echo "<tr>";
            echo "<td><strong>{$col['Field']}</strong></td>";
            echo "<td>{$col['Type']}</td>";
            echo "<td>{$col['Null']}</td>";
            echo "<td>{$col['Key']}</td>";
            echo "<td>{$col['Default']}</td>";
            echo "<td>{$col['Extra']}</td>";
            echo "</tr>";
        }
        echo "</table>";
        
    } catch (Exception $e) {
        echo "<p style='color: red;'>❌ Tabela rota_clientes não existe: " . $e->getMessage() . "</p>";
    }
    
    echo "<h2>3️⃣ Verificar Dados das Viagens</h2>";
    
    // Verificar viagens existentes
    $stmt = $pdo->query("SELECT id, cliente, km_inicial, km_final, km_gps_final, created_at FROM viagens ORDER BY id LIMIT 10");
    $viagens = $stmt->fetchAll();
    
    if (count($viagens) > 0) {
        echo "<table border='1' style='border-collapse: collapse; margin: 10px 0; width: 100%;'>";
        echo "<tr style='background: #e8f5e8;'>";
        echo "<th>ID</th><th>Cliente</th><th>KM Inicial</th><th>KM Final</th><th>KM GPS Final</th><th>Data Criação</th>";
        echo "</tr>";
        
        foreach ($viagens as $v) {
            echo "<tr>";
            echo "<td>{$v['id']}</td>";
            echo "<td>{$v['cliente']}</td>";
            echo "<td>{$v['km_inicial']}</td>";
            echo "<td>{$v['km_final']}</td>";
            echo "<td>{$v['km_gps_final']}</td>";
            echo "<td>{$v['created_at']}</td>";
            echo "</tr>";
        }
        echo "</table>";
    } else {
        echo "<p style='color: orange;'>⚠️ Nenhuma viagem encontrada</p>";
    }
    
    echo "<h2>4️⃣ Verificar Relacionamentos</h2>";
    
    // Verificar se há alguma coluna que relaciona viagens com rotas
    $stmt = $pdo->query("SHOW TABLES LIKE '%rota%'");
    $tabelasRota = $stmt->fetchAll();
    
    echo "<p><strong>Tabelas relacionadas a rotas:</strong></p>";
    if (count($tabelasRota) > 0) {
        foreach ($tabelasRota as $tabela) {
            $nomeTabela = array_values($tabela)[0];
            echo "<p>- {$nomeTabela}</p>";
        }
    } else {
        echo "<p>Nenhuma tabela de rota encontrada</p>";
    }
    
    echo "<h2>5️⃣ Solução para o Cálculo</h2>";
    
    echo "<div style='background: #d1ecf1; padding: 15px; border-radius: 5px; border: 1px solid #bee5eb;'>";
    echo "<h3>📋 ANÁLISE:</h3>";
    echo "<ul>";
    echo "<li><strong>Problema:</strong> Não há relação direta entre viagens e rotas</li>";
    echo "<li><strong>Solução:</strong> Calcular KM GPS baseado apenas nos dados da viagem</li>";
    echo "<li><strong>Fórmula:</strong> km_gps_total = km_gps_final - km_gps_inicial</li>";
    echo "</ul>";
    echo "<p><strong>PRÓXIMO PASSO:</strong> Atualizar todas as viagens com km_gps_inicial e km_gps_total</p>";
    echo "</div>";
    
} catch (PDOException $e) {
    echo "<p style='color: red;'>❌ Erro de banco: " . $e->getMessage() . "</p>";
} catch (Exception $e) {
    echo "<p style='color: red;'>❌ Erro geral: " . $e->getMessage() . "</p>";
}
?>
