<?php
/**
 * TechShop Perú - Módulo de Boleta / Factura Electrónica Imprimible
 */
define('SECURE_ACCESS', true);
require_once __DIR__ . '/../includes/config.php';
require_once __DIR__ . '/../includes/database.php';
require_once __DIR__ . '/../includes/functions.php';

require_login();
$db = db();

$pedido_id = (int)($_GET['pedido_id'] ?? 0);
$usuario_id = (int)$_SESSION['usuario_id'];

// Si es admin puede ver cualquier comprobante, si es cliente solo el suyo
if (is_admin()) {
    $stmt = $db->prepare('SELECT p.*, u.nombres, u.apellidos, u.email, u.telefono FROM pedidos p JOIN usuarios u ON p.usuario_id = u.id WHERE p.id = ?');
    $stmt->execute([$pedido_id]);
} else {
    $stmt = $db->prepare('SELECT p.*, u.nombres, u.apellidos, u.email, u.telefono FROM pedidos p JOIN usuarios u ON p.usuario_id = u.id WHERE p.id = ? AND p.usuario_id = ?');
    $stmt->execute([$pedido_id, $usuario_id]);
}
$pedido = $stmt->fetch();

if (!$pedido) {
    die('Comprobante no encontrado o sin permisos.');
}

$stmtDet = $db->prepare('SELECT * FROM detalles_pedido WHERE pedido_id = ?');
$stmtDet->execute([$pedido_id]);
$detalles = $stmtDet->fetchAll();

$esFactura = strtolower($pedido['tipo_comprobante']) === 'factura';
$tituloComprobante = $esFactura ? 'FACTURA ELECTRÓNICA' : 'BOLETA DE VENTA ELECTRÓNICA';
$serieComprobante = ($esFactura ? 'F001-' : 'B001-') . str_pad($pedido['id'], 8, '0', STR_PAD_LEFT);
?>
<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="UTF-8">
    <title><?= $tituloComprobante ?> <?= $serieComprobante ?> - TechShop Perú</title>
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.css" rel="stylesheet">
    <style>
        body { background-color: #f1f5f9; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; color: #1e293b; }
        .invoice-card { background: #fff; max-width: 820px; margin: 30px auto; padding: 40px; border-radius: 12px; box-shadow: 0 10px 25px rgba(0,0,0,0.08); }
        .invoice-header { border-bottom: 2px solid #e2e8f0; padding-bottom: 20px; }
        .receipt-box { border: 2px solid #2563eb; border-radius: 8px; padding: 15px; text-align: center; background: #f0f6ff; }
        @media print {
            body { background: #fff; }
            .invoice-card { box-shadow: none; margin: 0; max-width: 100%; padding: 20px; }
            .no-print { display: none !important; }
        }
    </style>
</head>
<body>

<div class="container no-print text-center pt-4">
    <button onclick="window.print()" class="btn btn-primary me-2"><i class="bi bi-printer me-1"></i> Imprimir / Guardar PDF</button>
    <a href="<?= url('pages/cuenta.php?tab=pedidos') ?>" class="btn btn-outline-secondary"><i class="bi bi-arrow-left me-1"></i> Volver a Mis Pedidos</a>
</div>

<div class="invoice-card">
    <div class="row align-items-center invoice-header mb-4">
        <div class="col-7">
            <h3 class="fw-bold text-primary mb-1"><i class="bi bi-cpu me-1"></i> <?= TIENDA_NOMBRE ?></h3>
            <p class="small text-muted mb-1"><?= TIENDA_SLOGAN ?></p>
            <p class="small text-muted mb-0">RUC: <strong><?= TIENDA_RUC ?></strong> | Dir: <?= TIENDA_DIRECCION ?></p>
            <p class="small text-muted mb-0">Email: <?= TIENDA_EMAIL ?> | Tel: <?= TIENDA_TELEFONO ?></p>
        </div>
        <div class="col-5">
            <div class="receipt-box">
                <h6 class="fw-bold text-primary mb-1"><?= $tituloComprobante ?></h6>
                <div class="fs-5 fw-bold text-dark mb-1"><?= $serieComprobante ?></div>
                <small class="text-muted">Pedido N°: <?= e($pedido['numero_pedido']) ?></small>
            </div>
        </div>
    </div>

    <!-- DATOS DEL CLIENTE -->
    <div class="card bg-light border-0 p-3 mb-4">
        <div class="row g-2 small">
            <div class="col-6"><strong>Cliente:</strong> <?= e($pedido['nombres'] . ' ' . $pedido['apellidos']) ?></div>
            <div class="col-6"><strong>Fecha Emisión:</strong> <?= date('d/m/Y H:i', strtotime($pedido['fecha_pedido'])) ?></div>
            <div class="col-6"><strong>Documento (DNI/RUC):</strong> <?= e($pedido['num_documento'] ?: 'N/A') ?></div>
            <div class="col-6"><strong>Método de Pago:</strong> <?= strtoupper(str_replace('_', ' ', $pedido['metodo_pago'])) ?></div>
            <?php if ($esFactura && !empty($pedido['razon_social'])): ?>
            <div class="col-12"><strong>Razón Social:</strong> <?= e($pedido['razon_social']) ?></div>
            <?php endif; ?>
            <div class="col-12"><strong>Dirección de Envío:</strong> <?= e($pedido['direccion_envio'] . ', ' . $pedido['ciudad_envio'] . ' - ' . $pedido['departamento_envio']) ?></div>
        </div>
    </div>

    <!-- TABLA DE DETALLES -->
    <table class="table table-bordered align-middle mb-4">
        <thead class="table-dark">
            <tr>
                <th class="text-center" style="width: 50px;">#</th>
                <th>Descripción del Producto</th>
                <th class="text-center" style="width: 80px;">Cant.</th>
                <th class="text-end" style="width: 120px;">P. Unitario</th>
                <th class="text-end" style="width: 120px;">Subtotal</th>
            </tr>
        </thead>
        <tbody>
            <?php foreach ($detalles as $idx => $d): ?>
            <tr>
                <td class="text-center"><?= $idx + 1 ?></td>
                <td><strong><?= e($d['nombre_producto']) ?></strong></td>
                <td class="text-center"><?= (int)$d['cantidad'] ?></td>
                <td class="text-end"><?= format_precio((float)$d['precio_unitario']) ?></td>
                <td class="text-end"><?= format_precio((float)$d['subtotal']) ?></td>
            </tr>
            <?php endforeach; ?>
        </tbody>
    </table>

    <!-- TOTALES Y FIRMA -->
    <div class="row">
        <div class="col-7">
            <div class="border rounded p-3 small bg-light">
                <p class="mb-1 fw-bold text-success"><i class="bi bi-shield-check me-1"></i> Comprobante Válido para Fines Tributarios</p>
                <p class="mb-0 text-muted">Representación impresa de la Boleta/Factura Electrónica. Consulta la validez de tu comprobante en nuestra plataforma.</p>
            </div>
        </div>
        <div class="col-5">
            <table class="table table-sm table-borderless text-end small">
                <tr>
                    <td>Subtotal:</td>
                    <td class="fw-bold"><?= format_precio((float)$pedido['subtotal']) ?></td>
                </tr>
                <?php if ($pedido['descuento'] > 0): ?>
                <tr class="text-danger">
                    <td>Descuento:</td>
                    <td class="fw-bold">-<?= format_precio((float)$pedido['descuento']) ?></td>
                </tr>
                <?php endif; ?>
                <tr>
                    <td>IGV (18%):</td>
                    <td><?= format_precio((float)$pedido['igv']) ?></td>
                </tr>
                <tr>
                    <td>Costo de Envío:</td>
                    <td><?= format_precio((float)$pedido['envio']) ?></td>
                </tr>
                <tr class="fs-5 fw-bold border-top">
                    <td>Total a Pagar:</td>
                    <td class="text-primary"><?= format_precio((float)$pedido['total']) ?></td>
                </tr>
            </table>
        </div>
    </div>
</div>

</body>
</html>
