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

// Configuração do banco - DADOS CORRETOS
$host = 'localhost';
$dbname = 'pinheir3_controle_frotasV1.1';
$username = 'pinheir3_admin';
$password = '080880Gelboy';

try {
    $pdo = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8", $username, $password);
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    
    echo "<h1>🔍 Debug do Checklist de Veículos</h1>";
    echo "<hr>";
    
    // 1. Verificar se a tabela existe
    echo "<h2>📋 1. Verificação da Tabela</h2>";
    $stmt = $pdo->query("SHOW TABLES LIKE 'checklist_veiculo'");
    if ($stmt->rowCount() > 0) {
        echo "✅ Tabela 'checklist_veiculo' existe<br>";
        
        // Mostrar estrutura da tabela
        echo "<h3>Estrutura da tabela:</h3>";
        $stmt = $pdo->query("DESCRIBE checklist_veiculo");
        echo "<table border='1' style='border-collapse: collapse;'>";
        echo "<tr><th>Campo</th><th>Tipo</th><th>Null</th><th>Key</th><th>Default</th><th>Extra</th></tr>";
        while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
            echo "<tr>";
            echo "<td>{$row['Field']}</td>";
            echo "<td>{$row['Type']}</td>";
            echo "<td>{$row['Null']}</td>";
            echo "<td>{$row['Key']}</td>";
            echo "<td>{$row['Default']}</td>";
            echo "<td>{$row['Extra']}</td>";
            echo "</tr>";
        }
        echo "</table>";
    } else {
        echo "❌ Tabela 'checklist_veiculo' NÃO existe<br>";
        
        // Criar a tabela
        echo "<h3>Criando tabela...</h3>";
        $sql = "CREATE TABLE checklist_veiculo (
            id BIGINT PRIMARY KEY AUTO_INCREMENT,
            viagem_id BIGINT NOT NULL,
            veiculo_id BIGINT NOT NULL,
            tipo_veiculo VARCHAR(20) NOT NULL DEFAULT 'CARRO',
            data_hora VARCHAR(50) NOT NULL,
            itens_json TEXT NOT NULL,
            observacoes_gerais TEXT,
            sincronizado TINYINT(1) NOT NULL DEFAULT 0,
            created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
            INDEX idx_viagem_id (viagem_id),
            INDEX idx_veiculo_id (veiculo_id),
            INDEX idx_sincronizado (sincronizado)
        )";
        
        $pdo->exec($sql);
        echo "✅ Tabela criada com sucesso!<br>";
    }
    
    echo "<hr>";
    
    // 2. Contar registros
    echo "<h2>📊 2. Estatísticas</h2>";
    $stmt = $pdo->query("SELECT COUNT(*) as total FROM checklist_veiculo");
    $total = $stmt->fetch(PDO::FETCH_ASSOC)['total'];
    echo "📋 Total de checklists: <strong>$total</strong><br>";
    
    $stmt = $pdo->query("SELECT COUNT(*) as total FROM checklist_veiculo WHERE sincronizado = 0");
    $pendentes = $stmt->fetch(PDO::FETCH_ASSOC)['total'];
    echo "⏳ Checklists pendentes: <strong>$pendentes</strong><br>";
    
    $stmt = $pdo->query("SELECT COUNT(*) as total FROM checklist_veiculo WHERE sincronizado = 1");
    $sincronizados = $stmt->fetch(PDO::FETCH_ASSOC)['total'];
    echo "✅ Checklists sincronizados: <strong>$sincronizados</strong><br>";
    
    echo "<hr>";
    
    // 3. Últimos registros
    echo "<h2>📋 3. Últimos 10 Checklists</h2>";
    $stmt = $pdo->query("
        SELECT 
            id,
            viagem_id,
            veiculo_id,
            tipo_veiculo,
            data_hora,
            CHAR_LENGTH(itens_json) as json_length,
            CHAR_LENGTH(observacoes_gerais) as obs_length,
            sincronizado,
            created_at
        FROM checklist_veiculo 
        ORDER BY id DESC 
        LIMIT 10
    ");
    
    if ($stmt->rowCount() > 0) {
        echo "<table border='1' style='border-collapse: collapse; font-size: 12px;'>";
        echo "<tr>";
        echo "<th>ID</th><th>Viagem</th><th>Veículo</th><th>Tipo</th>";
        echo "<th>Data/Hora</th><th>JSON Size</th><th>Obs Size</th>";
        echo "<th>Sync</th><th>Criado</th><th>Ação</th>";
        echo "</tr>";
        
        while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
            $syncIcon = $row['sincronizado'] ? '✅' : '⏳';
            echo "<tr>";
            echo "<td>{$row['id']}</td>";
            echo "<td>{$row['viagem_id']}</td>";
            echo "<td>{$row['veiculo_id']}</td>";
            echo "<td>{$row['tipo_veiculo']}</td>";
            echo "<td>{$row['data_hora']}</td>";
            echo "<td>{$row['json_length']} chars</td>";
            echo "<td>{$row['obs_length']} chars</td>";
            echo "<td>$syncIcon</td>";
            echo "<td>{$row['created_at']}</td>";
            echo "<td>";
            echo "<a href='?ver={$row['id']}' style='margin-right: 5px;'>👁️</a>";
            echo "<a href='?delete={$row['id']}' onclick='return confirm(\"Deletar?\")'>🗑️</a>";
            echo "</td>";
            echo "</tr>";
        }
        echo "</table>";
    } else {
        echo "📭 Nenhum checklist encontrado<br>";
    }
    
    echo "<hr>";
    
    // 4. Ações
    if (isset($_GET['delete'])) {
        $id = (int)$_GET['delete'];
        $stmt = $pdo->prepare("DELETE FROM checklist_veiculo WHERE id = ?");
        $stmt->execute([$id]);
        echo "<script>alert('Checklist deletado!'); window.location.href = window.location.pathname;</script>";
    }
    
    if (isset($_GET['ver'])) {
        $id = (int)$_GET['ver'];
        echo "<h2>🔍 4. Detalhes do Checklist ID: $id</h2>";
        
        $stmt = $pdo->prepare("SELECT * FROM checklist_veiculo WHERE id = ?");
        $stmt->execute([$id]);
        $checklist = $stmt->fetch(PDO::FETCH_ASSOC);
        
        if ($checklist) {
            echo "<table border='1' style='border-collapse: collapse;'>";
            foreach ($checklist as $campo => $valor) {
                echo "<tr>";
                echo "<td><strong>$campo</strong></td>";
                if ($campo == 'itens_json') {
                    $json = json_decode($valor, true);
                    echo "<td>";
                    if ($json) {
                        echo "<strong>Items (" . count($json) . "):</strong><br>";
                        foreach ($json as $index => $item) {
                            $status = isset($item['status']) ? $item['status'] : 'N/A';
                            $nome = isset($item['nome']) ? $item['nome'] : 'N/A';
                            $categoria = isset($item['categoria']) ? $item['categoria'] : 'N/A';
                            echo "[$index] $categoria - $nome: $status<br>";
                        }
                    } else {
                        echo "❌ JSON inválido: " . htmlspecialchars($valor);
                    }
                    echo "</td>";
                } else {
                    echo "<td>" . htmlspecialchars($valor) . "</td>";
                }
                echo "</tr>";
            }
            echo "</table>";
        } else {
            echo "❌ Checklist não encontrado";
        }
        
        echo "<br><a href='?'>← Voltar</a>";
    }
    
    // 5. Ações de limpeza
    if (!isset($_GET['ver'])) {
        echo "<h2>🧹 5. Ações de Limpeza</h2>";
        echo "<a href='?limpar_pendentes=1' onclick='return confirm(\"Deletar todos os pendentes?\")'>🗑️ Limpar Pendentes</a> | ";
        echo "<a href='?limpar_sincronizados=1' onclick='return confirm(\"Deletar todos os sincronizados?\")'>🗑️ Limpar Sincronizados</a> | ";
        echo "<a href='?criar_teste=1'>➕ Criar Checklist de Teste</a>";
        
        if (isset($_GET['limpar_pendentes'])) {
            $stmt = $pdo->query("DELETE FROM checklist_veiculo WHERE sincronizado = 0");
            $deletados = $stmt->rowCount();
            echo "<script>alert('$deletados checklists pendentes deletados!'); window.location.href = window.location.pathname;</script>";
        }
        
        if (isset($_GET['limpar_sincronizados'])) {
            $stmt = $pdo->query("DELETE FROM checklist_veiculo WHERE sincronizado = 1");
            $deletados = $stmt->rowCount();
            echo "<script>alert('$deletados checklists sincronizados deletados!'); window.location.href = window.location.pathname;</script>";
        }
        
        if (isset($_GET['criar_teste'])) {
            $itensJson = json_encode([
                ["id" => 1, "nome" => "Pneus", "categoria" => "SEGURANÇA", "status" => "OK", "observacao" => ""],
                ["id" => 2, "nome" => "Freios", "categoria" => "SEGURANÇA", "status" => "PROBLEMA", "observacao" => "Pastilha gasta"],
                ["id" => 3, "nome" => "Óleo", "categoria" => "MOTOR", "status" => "OK", "observacao" => ""]
            ]);
            
            $stmt = $pdo->prepare("
                INSERT INTO checklist_veiculo 
                (viagem_id, veiculo_id, tipo_veiculo, data_hora, itens_json, observacoes_gerais, sincronizado) 
                VALUES (?, ?, ?, ?, ?, ?, ?)
            ");
            
            $stmt->execute([
                999, // viagem_id teste
                1,   // veiculo_id teste
                'CARRO',
                date('Y-m-d H:i:s'),
                $itensJson,
                'Checklist de teste criado via PHP',
                0
            ]);
            
            echo "<script>alert('Checklist de teste criado!'); window.location.href = window.location.pathname;</script>";
        }
    }
    
    echo "<hr>";
    echo "<p><small>🔄 <a href='?'>Atualizar página</a> | ⏰ Última atualização: " . date('Y-m-d H:i:s') . "</small></p>";
    
} catch (PDOException $e) {
    echo "<h1>❌ Erro de Conexão</h1>";
    echo "<p><strong>Erro:</strong> " . $e->getMessage() . "</p>";
    echo "<p><strong>Verifique:</strong></p>";
    echo "<ul>";
    echo "<li>Se o MySQL está rodando</li>";
    echo "<li>Se o banco 'controle_frota' existe</li>";
    echo "<li>Se as credenciais estão corretas</li>";
    echo "</ul>";
}
?> 
