<?php
session_start();

// Verificar se está logado
if (!isset($_SESSION['operador_gps_id'])) {
    header('Location: login.php');
    exit;
}

require_once '../config/database.php';

$id = $_GET['id'] ?? 0;
$tipo = $_GET['tipo'] ?? '';

if (empty($id) || empty($tipo)) {
    echo "<script>alert('Parâmetros inválidos'); window.close();</script>";
    exit;
}

try {
    $pdo = Database::getConnection();
    
    if ($tipo === 'viagem') {
        $stmt = $pdo->prepare("
            SELECT 
                v.*,
                m.nome as tecnico_nome,
                ve.modelo as veiculo_modelo,
                ve.placa as veiculo_placa,
                g.nome as gestor_nome,
                g.email as gestor_email
            FROM viagens v
            LEFT JOIN motoristas m ON (v.tecnico_id = m.id OR v.tecnico_id = m.nome)
            LEFT JOIN veiculos ve ON v.veiculo_id = ve.id
            LEFT JOIN gestores g ON v.gestor_id = g.id
            WHERE v.id = ?
        ");
        $stmt->execute([$id]);
        $dados = $stmt->fetch();
        
        if (!$dados) {
            echo "<script>alert('Viagem não encontrada'); window.close();</script>";
            exit;
        }
        
    } elseif ($tipo === 'rota') {
        $stmt = $pdo->prepare("
            SELECT 
                sr.*,
                m.nome as tecnico_nome,
                ve.modelo as veiculo_modelo,
                ve.placa as veiculo_placa,
                g.nome as gestor_nome,
                g.email as gestor_email
            FROM solicitacoes_rotas sr
            LEFT JOIN motoristas m ON sr.motorista_id = m.id
            LEFT JOIN veiculos ve ON sr.veiculo_id = ve.id
            LEFT JOIN gestores g ON sr.gestor_id = g.id
            WHERE sr.id = ?
        ");
        $stmt->execute([$id]);
        $dados = $stmt->fetch();
        
        if (!$dados) {
            echo "<script>alert('Rota não encontrada'); window.close();</script>";
            exit;
        }
        
        // Buscar clientes da rota usando a coluna correta
        $stmt = $pdo->prepare("
            SELECT 
                rc.*,
                COALESCE(c.nome, rc.nome_cliente) as nome_cliente,
                COALESCE(c.endereco, rc.endereco) as endereco_cliente,
                COALESCE(c.telefone, rc.telefone) as telefone_cliente,
                c.email as email_cliente
            FROM rota_clientes rc
            LEFT JOIN clientes c ON rc.cliente_id = c.id
            WHERE rc.solicitacao_rota_id = ?
            ORDER BY rc.ordem_sequencia ASC
        ");
        $stmt->execute([$id]);
        $clientes = $stmt->fetchAll();
        
    } else {
        echo "<script>alert('Tipo inválido'); window.close();</script>";
        exit;
    }
    
} catch (Exception $e) {
    echo "<script>alert('Erro ao carregar dados: " . addslashes($e->getMessage()) . "'); window.close();</script>";
    exit;
}
?>
<!DOCTYPE html>
<html lang="pt-BR">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Detalhes - <?php echo ucfirst($tipo); ?></title>
    <style>
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }
        
        body {
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
            background: #f5f5f5;
            padding: 20px;
        }
        
        .container {
            max-width: 800px;
            margin: 0 auto;
            background: white;
            border-radius: 10px;
            box-shadow: 0 2px 10px rgba(0,0,0,0.1);
            overflow: hidden;
        }
        
        .header {
            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
            color: white;
            padding: 20px;
            text-align: center;
        }
        
        .header h1 {
            font-size: 1.8em;
            margin-bottom: 5px;
        }
        
        .header p {
            opacity: 0.9;
        }
        
        .content {
            padding: 30px;
        }
        
        .info-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
            gap: 20px;
            margin-bottom: 30px;
        }
        
        .info-section {
            background: #f8f9fa;
            padding: 20px;
            border-radius: 8px;
            border-left: 4px solid #667eea;
        }
        
        .info-section h3 {
            color: #333;
            margin-bottom: 15px;
            font-size: 1.2em;
        }
        
        .info-item {
            margin-bottom: 10px;
        }
        
        .info-label {
            font-weight: 600;
            color: #555;
            display: inline-block;
            width: 120px;
        }
        
        .info-value {
            color: #333;
        }
        
        .status-badge {
            display: inline-block;
            padding: 4px 12px;
            border-radius: 20px;
            font-size: 0.9em;
            font-weight: 600;
        }
        
        .status-pendente {
            background: #fff3cd;
            color: #856404;
        }
        
                 .status-liberada {
             background: #d4edda;
             color: #155724;
         }
         
         .status-negada {
             background: #f8d7da;
             color: #721c24;
         }
        
        .actions {
            text-align: center;
            margin-top: 30px;
            padding-top: 20px;
            border-top: 1px solid #eee;
        }
        
        .btn {
            display: inline-block;
            padding: 12px 24px;
            margin: 0 10px;
            border: none;
            border-radius: 6px;
            font-size: 16px;
            font-weight: 600;
            cursor: pointer;
            text-decoration: none;
            transition: all 0.3s ease;
        }
        
        .btn-primary {
            background: #667eea;
            color: white;
        }
        
        .btn-primary:hover {
            background: #5a6fd8;
            transform: translateY(-2px);
        }
        
        .btn-secondary {
            background: #6c757d;
            color: white;
        }
        
        .btn-secondary:hover {
            background: #5a6268;
        }
        
        .btn-success {
            background: #28a745;
            color: white;
        }
        
        .btn-success:hover {
            background: #218838;
        }
        
        .btn:disabled {
            opacity: 0.6;
            cursor: not-allowed;
        }
        
        .observacoes {
            background: #e3f2fd;
            padding: 15px;
            border-radius: 8px;
            margin-top: 20px;
        }
        
        .observacoes h4 {
            color: #1976d2;
            margin-bottom: 10px;
        }
        
        .observacoes textarea {
            width: 100%;
            min-height: 100px;
            padding: 10px;
            border: 1px solid #ddd;
            border-radius: 4px;
            font-family: inherit;
            resize: vertical;
        }
        
        .clientes-section {
            background: #fff3cd;
            padding: 20px;
            border-radius: 8px;
            margin-top: 20px;
            border-left: 4px solid #ffc107;
        }
        
        .clientes-section h3 {
            color: #856404;
            margin-bottom: 15px;
            font-size: 1.2em;
        }
        
        .cliente-item {
            background: white;
            padding: 15px;
            border-radius: 6px;
            margin-bottom: 10px;
            border: 1px solid #ffeaa7;
        }
        
        .cliente-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 10px;
        }
        
        .cliente-numero {
            background: #ffc107;
            color: #856404;
            padding: 4px 8px;
            border-radius: 12px;
            font-size: 0.9em;
            font-weight: 600;
        }
        
        .cliente-nome {
            font-weight: 600;
            color: #333;
            font-size: 1.1em;
        }
        
        .cliente-detalhes {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
            gap: 10px;
            font-size: 0.9em;
        }
        
        .cliente-detalhe {
            display: flex;
            align-items: center;
        }
        
        .cliente-detalhe i {
            margin-right: 5px;
            color: #666;
            width: 16px;
        }
    </style>
</head>
<body>
    <div class="container">
        <div class="header">
            <h1><?php echo $tipo === 'viagem' ? '🚗' : '🛣️'; ?> Detalhes da <?php echo ucfirst($tipo); ?></h1>
            <p>ID: <?php echo $id; ?> | Tipo: <?php echo ucfirst($tipo); ?></p>
        </div>
        
        <div class="content">
            <div class="info-grid">
                <div class="info-section">
                    <h3>Informações Gerais</h3>
                    <div class="info-item">
                        <span class="info-label">Título:</span>
                        <span class="info-value"><?php echo htmlspecialchars($dados['titulo'] ?? $dados['cliente'] ?? 'N/A'); ?></span>
                    </div>
                    <div class="info-item">
                        <span class="info-label">Descrição:</span>
                        <span class="info-value"><?php echo htmlspecialchars($dados['descricao'] ?? $dados['motivo'] ?? 'N/A'); ?></span>
                    </div>
                    <div class="info-item">
                        <span class="info-label">Data Criação:</span>
                        <span class="info-value"><?php echo date('d/m/Y H:i', strtotime($dados['created_at'] ?? $dados['data_inicio'])); ?></span>
                    </div>
                    <?php if (!empty($dados['data_prevista'])): ?>
                    <div class="info-item">
                        <span class="info-label">Data Prevista:</span>
                        <span class="info-value"><?php echo date('d/m/Y', strtotime($dados['data_prevista'])); ?></span>
                    </div>
                    <?php endif; ?>
                    <?php if (!empty($dados['hora_inicio_prevista'])): ?>
                    <div class="info-item">
                        <span class="info-label">Hora Prevista:</span>
                        <span class="info-value"><?php echo $dados['hora_inicio_prevista']; ?></span>
                    </div>
                    <?php endif; ?>
                                         <div class="info-item">
                         <span class="info-label">Status Aprovação:</span>
                         <span class="status-badge <?php echo ($dados['status'] === 'aprovada' ? 'status-liberada' : ($dados['status'] === 'negada' ? 'status-negada' : 'status-pendente')); ?>">
                             <?php echo ucfirst($dados['status'] ?? 'Pendente'); ?>
                         </span>
                     </div>
                     <div class="info-item">
                         <span class="info-label">Status Liberação:</span>
                         <span class="status-badge <?php echo ($dados['operador_gps_id'] ? 'status-liberada' : 'status-pendente'); ?>">
                             <?php echo ($dados['operador_gps_id'] ? 'Liberada' : 'Pendente'); ?>
                         </span>
                     </div>
                    <?php if (!empty($dados['prioridade'])): ?>
                    <div class="info-item">
                        <span class="info-label">Prioridade:</span>
                        <span class="info-value"><?php echo ucfirst($dados['prioridade']); ?></span>
                    </div>
                    <?php endif; ?>
                    <?php if (!empty($dados['gestor_nome'])): ?>
                    <div class="info-item">
                        <span class="info-label">Gestor Responsável:</span>
                        <span class="info-value"><?php echo htmlspecialchars($dados['gestor_nome']); ?></span>
                    </div>
                    <?php endif; ?>
                </div>
                
                <div class="info-section">
                    <h3>Equipe e Veículo</h3>
                    <div class="info-item">
                        <span class="info-label">Motorista:</span>
                        <span class="info-value"><?php echo htmlspecialchars($dados['tecnico_nome'] ?? 'N/A'); ?></span>
                    </div>
                    <div class="info-item">
                        <span class="info-label">Veículo:</span>
                        <span class="info-value"><?php echo htmlspecialchars($dados['veiculo_modelo'] ?? 'N/A'); ?></span>
                    </div>
                    <div class="info-item">
                        <span class="info-label">Placa:</span>
                        <span class="info-value"><?php echo htmlspecialchars($dados['veiculo_placa'] ?? 'N/A'); ?></span>
                    </div>
                    <?php if (!empty($dados['km_estimado'])): ?>
                    <div class="info-item">
                        <span class="info-label">KM Estimado:</span>
                        <span class="info-value"><?php echo number_format($dados['km_estimado'], 1, ',', '.'); ?> km</span>
                    </div>
                    <?php endif; ?>
                    <?php if (!empty($dados['duracao_estimada'])): ?>
                    <div class="info-item">
                        <span class="info-label">Duração Estimada:</span>
                        <span class="info-value"><?php echo $dados['duracao_estimada']; ?> horas</span>
                    </div>
                    <?php endif; ?>
                    <?php if ($dados['operador_gps_id']): ?>
                    <div class="info-item">
                        <span class="info-label">Liberado por:</span>
                        <span class="info-value"><?php echo htmlspecialchars($dados['operador_gps_nome'] ?? 'N/A'); ?></span>
                    </div>
                    <div class="info-item">
                        <span class="info-label">Data Liberação:</span>
                        <span class="info-value"><?php echo date('d/m/Y H:i', strtotime($dados['data_liberacao_partida'])); ?></span>
                    </div>
                    <?php endif; ?>
                </div>
            </div>
            
            <?php if (!empty($dados['gestor_nome']) && !empty($dados['gestor_email'])): ?>
            <div class="info-section" style="margin-top: 20px;">
                <h3>👨‍💼 Informações do Gestor</h3>
                <div class="info-item">
                    <span class="info-label">Nome:</span>
                    <span class="info-value"><?php echo htmlspecialchars($dados['gestor_nome']); ?></span>
                </div>
                <div class="info-item">
                    <span class="info-label">Email:</span>
                    <span class="info-value"><?php echo htmlspecialchars($dados['gestor_email']); ?></span>
                </div>
            </div>
            <?php endif; ?>
            
            <?php if ($dados['operador_gps_id'] && !empty($dados['observacoes_operador'])): ?>
            <div class="observacoes">
                <h4>Observações do Operador</h4>
                <p><?php echo nl2br(htmlspecialchars($dados['observacoes_operador'])); ?></p>
            </div>
            <?php endif; ?>
            
            <?php if ($tipo === 'rota'): ?>
            <div class="clientes-section">
                <?php if (!empty($clientes)): ?>
                <h3>👥 Clientes da Rota (<?php echo count($clientes); ?> visitas)</h3>
                <?php foreach ($clientes as $index => $cliente): ?>
                <div class="cliente-item">
                    <div class="cliente-header">
                        <span class="cliente-nome"><?php echo htmlspecialchars($cliente['nome_cliente'] ?? 'Cliente não identificado'); ?></span>
                        <span class="cliente-numero">#<?php echo $cliente['ordem_sequencia'] ?? ($index + 1); ?></span>
                    </div>
                    <div class="cliente-detalhes">
                        <?php if (!empty($cliente['endereco_cliente'])): ?>
                        <div class="cliente-detalhe">
                            <i>📍</i>
                            <span><?php echo htmlspecialchars($cliente['endereco_cliente']); ?></span>
                        </div>
                        <?php endif; ?>
                        
                        <?php if (!empty($cliente['telefone_cliente'])): ?>
                        <div class="cliente-detalhe">
                            <i>📞</i>
                            <span><?php echo htmlspecialchars($cliente['telefone_cliente']); ?></span>
                        </div>
                        <?php endif; ?>
                        
                        <?php if (!empty($cliente['email_cliente'])): ?>
                        <div class="cliente-detalhe">
                            <i>✉️</i>
                            <span><?php echo htmlspecialchars($cliente['email_cliente']); ?></span>
                        </div>
                        <?php endif; ?>
                        
                        <?php if (!empty($cliente['motivo_atendimento'])): ?>
                        <div class="cliente-detalhe">
                            <i>📝</i>
                            <span><?php echo htmlspecialchars($cliente['motivo_atendimento']); ?></span>
                        </div>
                        <?php endif; ?>
                        
                        <?php if (!empty($cliente['km_estimado'])): ?>
                        <div class="cliente-detalhe">
                            <i>🛣️</i>
                            <span><?php echo number_format($cliente['km_estimado'], 1, ',', '.'); ?> km</span>
                        </div>
                        <?php endif; ?>
                    </div>
                </div>
                <?php endforeach; ?>
                <?php else: ?>
                <h3>👥 Clientes da Rota</h3>
                <div style="text-align: center; padding: 20px; color: #666;">
                    <p>⚠️ Nenhum cliente encontrado para esta rota.</p>
                    <p style="font-size: 0.9em;">Isso pode acontecer se:</p>
                    <ul style="text-align: left; display: inline-block; margin-top: 10px;">
                        <li>A tabela rota_clientes não existe</li>
                        <li>A coluna de referência tem nome diferente</li>
                        <li>Não há clientes cadastrados para esta rota</li>
                    </ul>
                </div>
                <?php endif; ?>
            </div>
            <?php endif; ?>
            
                         <div class="actions">
                 <?php if (!$dados['operador_gps_id'] && $dados['status'] === 'aprovada'): ?>
                 <button class="btn btn-success" onclick="liberarPartida()">🚗 Liberar Partida</button>
                 <?php elseif ($dados['status'] === 'negada'): ?>
                 <div style="background: #f8d7da; color: #721c24; padding: 15px; border-radius: 8px; margin-bottom: 20px;">
                     <strong>⚠️ Rota Negada</strong><br>
                     Esta rota foi negada pelo gestor e não pode ser liberada.
                 </div>
                 <?php elseif ($dados['status'] !== 'aprovada'): ?>
                 <div style="background: #fff3cd; color: #856404; padding: 15px; border-radius: 8px; margin-bottom: 20px;">
                     <strong>⏳ Aguardando Aprovação</strong><br>
                     Esta rota ainda não foi aprovada pelo gestor.
                 </div>
                 <?php endif; ?>
                 <button class="btn btn-secondary" onclick="window.close()">Fechar</button>
             </div>
        </div>
    </div>
    
    <script>
        function liberarPartida() {
            if (confirm('Confirmar liberação de partida?')) {
                window.open('liberar-partida.php?id=<?php echo $id; ?>&tipo=<?php echo $tipo; ?>', '_blank');
            }
        }
    </script>
</body>
</html>

