<?php
require_once 'conexao.php';

echo "<h1>🔍 VERIFICANDO MAPEAMENTO TÉCNICO-MOTORISTA</h1>\n";

try {
    $pdo = conectarBanco();
    
    // 1. Verificar motoristas
    echo "<h2>1. Motoristas Cadastrados</h2>\n";
    $sql = "SELECT id, nome, usuario, status FROM motoristas ORDER BY id";
    $stmt = $pdo->query($sql);
    $motoristas = $stmt->fetchAll(PDO::FETCH_ASSOC);
    
    echo "<table border='1'>\n";
    echo "<tr><th>ID</th><th>Nome</th><th>Usuário</th><th>Status</th></tr>\n";
    foreach ($motoristas as $m) {
        echo "<tr>";
        echo "<td>{$m['id']}</td>";
        echo "<td>{$m['nome']}</td>";
        echo "<td>{$m['usuario']}</td>";
        echo "<td>{$m['status']}</td>";
        echo "</tr>\n";
    }
    echo "</table>\n";
    
    // 2. Verificar viagens por técnico_id
    echo "<h2>2. Viagens por Técnico ID</h2>\n";
    $sql2 = "SELECT tecnico_id, COUNT(*) as total_viagens, 
             COUNT(CASE WHEN data_fim IS NULL THEN 1 END) as em_andamento
             FROM viagens 
             GROUP BY tecnico_id 
             ORDER BY tecnico_id";
    $stmt2 = $pdo->query($sql2);
    $viagensPorTecnico = $stmt2->fetchAll(PDO::FETCH_ASSOC);
    
    echo "<table border='1'>\n";
    echo "<tr><th>Técnico ID</th><th>Total Viagens</th><th>Em Andamento</th></tr>\n";
    foreach ($viagensPorTecnico as $v) {
        echo "<tr>";
        echo "<td>{$v['tecnico_id']}</td>";
        echo "<td>{$v['total_viagens']}</td>";
        echo "<td>{$v['em_andamento']}</td>";
        echo "</tr>\n";
    }
    echo "</table>\n";
    
    // 3. Verificar rotas por motorista_id
    echo "<h2>3. Rotas por Motorista ID</h2>\n";
    $sql3 = "SELECT motorista_id, COUNT(*) as total_rotas,
             COUNT(CASE WHEN status IN ('em_andamento', 'em_execucao') THEN 1 END) as em_andamento
             FROM solicitacoes_rotas 
             GROUP BY motorista_id 
             ORDER BY motorista_id";
    $stmt3 = $pdo->query($sql3);
    $rotasPorMotorista = $stmt3->fetchAll(PDO::FETCH_ASSOC);
    
    echo "<table border='1'>\n";
    echo "<tr><th>Motorista ID</th><th>Total Rotas</th><th>Em Andamento</th></tr>\n";
    foreach ($rotasPorMotorista as $r) {
        echo "<tr>";
        echo "<td>{$r['motorista_id']}</td>";
        echo "<td>{$r['total_rotas']}</td>";
        echo "<td>{$r['em_andamento']}</td>";
        echo "</tr>\n";
    }
    echo "</table>\n";
    
    // 4. Verificar se há relação entre técnico_id e motorista_id
    echo "<h2>4. Verificando Relação Técnico-Motorista</h2>\n";
    
    // Buscar viagens que têm rota associada
    $sql4 = "SELECT v.tecnico_id, v.id as viagem_id, v.cliente,
             sr.motorista_id, sr.id as rota_id, sr.titulo as rota_titulo
             FROM viagens v 
             INNER JOIN rota_viagens rv ON v.id = rv.viagem_id 
             INNER JOIN solicitacoes_rotas sr ON rv.solicitacao_rota_id = sr.id 
             ORDER BY v.tecnico_id, sr.motorista_id";
    $stmt4 = $pdo->query($sql4);
    $relacoes = $stmt4->fetchAll(PDO::FETCH_ASSOC);
    
    if (!empty($relacoes)) {
        echo "<p><strong>✅ Relações encontradas:</strong></p>\n";
        echo "<table border='1'>\n";
        echo "<tr><th>Técnico ID</th><th>Motorista ID</th><th>Viagem ID</th><th>Rota ID</th><th>Cliente</th><th>Rota Título</th></tr>\n";
        foreach ($relacoes as $rel) {
            echo "<tr>";
            echo "<td>{$rel['tecnico_id']}</td>";
            echo "<td>{$rel['motorista_id']}</td>";
            echo "<td>{$rel['viagem_id']}</td>";
            echo "<td>{$rel['rota_id']}</td>";
            echo "<td>{$rel['cliente']}</td>";
            echo "<td>{$rel['rota_titulo']}</td>";
            echo "</tr>\n";
        }
        echo "</table>\n";
    } else {
        echo "<p><strong>❌ Nenhuma relação encontrada</strong></p>\n";
    }
    
    // 5. Verificar se o usuário "admin" tem ID 1
    echo "<h2>5. Verificando Usuário Admin</h2>\n";
    $sql5 = "SELECT id, nome, usuario FROM motoristas WHERE usuario = 'admin'";
    $stmt5 = $pdo->query($sql5);
    $admin = $stmt5->fetch(PDO::FETCH_ASSOC);
    
    if ($admin) {
        echo "<p><strong>✅ Admin encontrado:</strong></p>\n";
        echo "<ul>\n";
        echo "<li><strong>ID:</strong> {$admin['id']}</li>\n";
        echo "<li><strong>Nome:</strong> {$admin['nome']}</li>\n";
        echo "<li><strong>Usuário:</strong> {$admin['usuario']}</li>\n";
        echo "</ul>\n";
    } else {
        echo "<p><strong>❌ Admin não encontrado</strong></p>\n";
    }
    
} catch (Exception $e) {
    echo "<p><strong>❌ Erro:</strong> " . $e->getMessage() . "</p>\n";
}
?>
