<?php
/**
 * Criar solicitações de teste para monitoramento
 */

echo "🔧 CRIANDO SOLICITAÇÕES DE TESTE PARA MONITORAMENTO ========================================\n";

// Configuração básica de conexão
$host = 'localhost';
$dbname = 'pinheir3_controle_frotasV1.1';
$username = 'pinheir3_admin';
$password = '080880Gelboy';

try {
    // Conectar ao banco
    $pdo = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8mb4", $username, $password);
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    
    echo "✅ Conectado ao banco de dados\n\n";
    
    // Buscar gestor, motorista e veículo para usar nos testes
    $stmt = $pdo->query("SELECT id FROM gestores WHERE status = 'ativo' LIMIT 1");
    $gestor = $stmt->fetch(PDO::FETCH_ASSOC);
    
    $stmt = $pdo->query("SELECT id FROM motoristas WHERE status = 'ativo' LIMIT 1");
    $motorista = $stmt->fetch(PDO::FETCH_ASSOC);
    
    $stmt = $pdo->query("SELECT id FROM veiculos WHERE status = 'ativo' LIMIT 1");
    $veiculo = $stmt->fetch(PDO::FETCH_ASSOC);
    
    if (!$gestor || !$motorista || !$veiculo) {
        echo "❌ Erro: Não foi possível encontrar gestor, motorista ou veículo ativo\n";
        exit;
    }
    
    $gestorId = $gestor['id'];
    $motoristaId = $motorista['id'];
    $veiculoId = $veiculo['id'];
    
    echo "✅ Usando: Gestor ID $gestorId, Motorista ID $motoristaId, Veículo ID $veiculoId\n\n";
    
    // Solicitações aprovadas
    $solicitacoesAprovadas = [
        [
            'cliente' => 'Empresa ABC Ltda',
            'motivo' => 'Transporte de mercadorias para São Paulo',
            'prioridade' => 'alta',
            'observacoes' => 'Aprovado conforme necessidade urgente'
        ],
        [
            'cliente' => 'Comércio XYZ',
            'motivo' => 'Entrega de produtos para cliente VIP',
            'prioridade' => 'normal',
            'observacoes' => 'Aprovado - Cliente com histórico positivo'
        ],
        [
            'cliente' => 'Indústria 123',
            'motivo' => 'Coleta de matéria-prima',
            'prioridade' => 'baixa',
            'observacoes' => 'Aprovado - Rotina semanal'
        ]
    ];
    
    // Solicitações negadas
    $solicitacoesNegadas = [
        [
            'cliente' => 'Loja Teste',
            'motivo' => 'Transporte para evento cancelado',
            'prioridade' => 'alta',
            'observacoes' => 'Negado - Evento cancelado pelo cliente'
        ],
        [
            'cliente' => 'Empresa Demo',
            'motivo' => 'Entrega fora do horário comercial',
            'prioridade' => 'normal',
            'observacoes' => 'Negado - Horário não disponível'
        ]
    ];
    
    // Inserir solicitações aprovadas
    echo "✅ Criando solicitações APROVADAS:\n";
    foreach ($solicitacoesAprovadas as $index => $solicitacao) {
        $sql = "INSERT INTO solicitacoes_viagem (
            tecnico_id, veiculo_id, cliente, motivo, km_inicial, 
            status, prioridade, observacoes, gestor_id, created_at, updated_at
        ) VALUES (?, ?, ?, ?, ?, 'aprovada', ?, ?, ?, NOW(), NOW())";
        
        $stmt = $pdo->prepare($sql);
        $resultado = $stmt->execute([
            $motoristaId,
            $veiculoId,
            $solicitacao['cliente'],
            $solicitacao['motivo'],
            rand(1000, 50000),
            $solicitacao['prioridade'],
            $solicitacao['observacoes'],
            $gestorId
        ]);
        
        if ($resultado) {
            $id = $pdo->lastInsertId();
            echo "   • ID: $id - {$solicitacao['cliente']} - APROVADA\n";
        } else {
            echo "   ❌ Erro ao criar solicitação aprovada\n";
        }
    }
    
    // Inserir solicitações negadas
    echo "\n❌ Criando solicitações NEGADAS:\n";
    foreach ($solicitacoesNegadas as $index => $solicitacao) {
        $sql = "INSERT INTO solicitacoes_viagem (
            tecnico_id, veiculo_id, cliente, motivo, km_inicial, 
            status, prioridade, observacoes, gestor_id, created_at, updated_at
        ) VALUES (?, ?, ?, ?, ?, 'negada', ?, ?, ?, NOW(), NOW())";
        
        $stmt = $pdo->prepare($sql);
        $resultado = $stmt->execute([
            $motoristaId,
            $veiculoId,
            $solicitacao['cliente'],
            $solicitacao['motivo'],
            rand(1000, 50000),
            $solicitacao['prioridade'],
            $solicitacao['observacoes'],
            $gestorId
        ]);
        
        if ($resultado) {
            $id = $pdo->lastInsertId();
            echo "   • ID: $id - {$solicitacao['cliente']} - NEGADA\n";
        } else {
            echo "   ❌ Erro ao criar solicitação negada\n";
        }
    }
    
    echo "\n✅ Solicitações de teste criadas com sucesso!\n";
    
    // Verificar resultado final
    echo "\n📊 VERIFICAÇÃO FINAL:\n";
    $stmt = $pdo->query("SELECT status, COUNT(*) as total FROM solicitacoes_viagem WHERE status IN ('aprovada', 'negada') GROUP BY status");
    $resultado = $stmt->fetchAll(PDO::FETCH_ASSOC);
    
    foreach ($resultado as $item) {
        echo "   • Status '{$item['status']}': {$item['total']} solicitações\n";
    }
    
    echo "\n🎉 Agora você pode testar o monitoramento!\n";
    echo "🌐 Acesse: https://sistemas.pinheiroempresas.com.br/controlefrota/backend-php/admin/monitoramento-solicitacoes.html\n";
    
} catch (Exception $e) {
    echo "❌ Erro: " . $e->getMessage() . "\n";
}
?> 
