<?php
try {
    $pdo = new PDO('mysql:host=localhost;dbname=controle_frota', 'root', '');
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    
    echo "🔄 Atualizando banco de dados...\n\n";
    
    // Criar tabela de clientes
    $sql = "CREATE TABLE IF NOT EXISTS clientes (
        id INT AUTO_INCREMENT PRIMARY KEY,
        nome VARCHAR(255) NOT NULL,
        cpf_cnpj VARCHAR(20),
        telefone VARCHAR(20),
        email VARCHAR(255),
        endereco TEXT,
        cidade VARCHAR(100),
        estado VARCHAR(2),
        cep VARCHAR(10),
        status ENUM('ativo', 'inativo') DEFAULT 'ativo',
        created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
        updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
    )";
    $pdo->exec($sql);
    echo "✅ Tabela clientes criada\n";
    
    // Adicionar colunas na tabela viagens
    try {
        $pdo->exec("ALTER TABLE viagens ADD COLUMN endereco_inicial TEXT");
        echo "✅ Coluna endereco_inicial adicionada\n";
    } catch (Exception $e) {
        echo "⚠️ Coluna endereco_inicial já existe\n";
    }
    
    try {
        $pdo->exec("ALTER TABLE viagens ADD COLUMN endereco_final TEXT");
        echo "✅ Coluna endereco_final adicionada\n";
    } catch (Exception $e) {
        echo "⚠️ Coluna endereco_final já existe\n";
    }
    
    try {
        $pdo->exec("ALTER TABLE viagens ADD COLUMN cliente_id INT");
        echo "✅ Coluna cliente_id adicionada\n";
    } catch (Exception $e) {
        echo "⚠️ Coluna cliente_id já existe\n";
    }
    
    // Inserir clientes de exemplo
    $clientesExemplo = [
        ['nome' => 'Empresa ABC Ltda', 'cpf_cnpj' => '12.345.678/0001-90', 'telefone' => '(11) 3333-4444', 'email' => 'contato@empresaabc.com', 'endereco' => 'Rua das Empresas, 123', 'cidade' => 'São Paulo', 'estado' => 'SP', 'cep' => '01234-567'],
        ['nome' => 'João Silva', 'cpf_cnpj' => '123.456.789-00', 'telefone' => '(11) 99999-8888', 'email' => 'joao@email.com', 'endereco' => 'Rua dos Clientes, 456', 'cidade' => 'São Paulo', 'estado' => 'SP', 'cep' => '01234-568'],
        ['nome' => 'Maria Santos Comércio', 'cpf_cnpj' => '98.765.432/0001-10', 'telefone' => '(11) 2222-3333', 'email' => 'maria@comercio.com', 'endereco' => 'Av. Principal, 789', 'cidade' => 'São Paulo', 'estado' => 'SP', 'cep' => '01234-569'],
        ['nome' => 'Transportadora XYZ', 'cpf_cnpj' => '11.222.333/0001-44', 'telefone' => '(11) 4444-5555', 'email' => 'contato@transportadoraxyz.com', 'endereco' => 'Rua do Transporte, 100', 'cidade' => 'São Paulo', 'estado' => 'SP', 'cep' => '01234-570'],
        ['nome' => 'Comércio Local Ltda', 'cpf_cnpj' => '55.666.777/0001-88', 'telefone' => '(11) 6666-7777', 'email' => 'vendas@comerciolocal.com', 'endereco' => 'Av. Comercial, 500', 'cidade' => 'São Paulo', 'estado' => 'SP', 'cep' => '01234-571']
    ];
    
    $stmt = $pdo->prepare("SELECT COUNT(*) FROM clientes");
    $stmt->execute();
    $count = $stmt->fetchColumn();
    
    if ($count == 0) {
        echo "\n📝 Inserindo clientes de exemplo...\n";
        foreach ($clientesExemplo as $cliente) {
            $stmt = $pdo->prepare("
                INSERT INTO clientes (nome, cpf_cnpj, telefone, email, endereco, cidade, estado, cep, status) 
                VALUES (?, ?, ?, ?, ?, ?, ?, ?, 'ativo')
            ");
            $stmt->execute([
                $cliente['nome'],
                $cliente['cpf_cnpj'],
                $cliente['telefone'],
                $cliente['email'],
                $cliente['endereco'],
                $cliente['cidade'],
                $cliente['estado'],
                $cliente['cep']
            ]);
            echo "✅ Cliente inserido: {$cliente['nome']}\n";
        }
    } else {
        echo "⚠️ Clientes já existem no banco ($count registros)\n";
    }
    
    echo "\n🎉 Banco de dados atualizado com sucesso!\n";
    echo "📊 Funcionalidades adicionadas:\n";
    echo "   • Cadastro de clientes\n";
    echo "   • Captura de endereço inicial e final\n";
    echo "   • Seleção de cliente nas viagens\n";
    echo "   • Exibição no dashboard web\n\n";
    
} catch (Exception $e) {
    echo "❌ Erro: " . $e->getMessage() . "\n";
}
?> 
