<?php
require_once __DIR__ . '/../../config/config.php';
requireLogin();

$db = getDB();
$id = intval($_GET['id'] ?? 0);

$stmt = $db->prepare(" 
    SELECT o.id, o.codigo, o.fecha_orden,
           p.nombre, p.apellidos, p.documento_numero
    FROM ordenes o
    JOIN pacientes p ON p.id = o.paciente_id
    WHERE o.id = ?
");
$stmt->execute([$id]);
$orden = $stmt->fetch();

if (!$orden) {
    die('Orden no encontrada');
}

$stmtCat = $db->prepare(" 
    SELECT DISTINCT COALESCE(c.nombre, 'Sin categoría') AS categoria
    FROM orden_detalle od
    JOIN examenes e ON e.id = od.examen_id
    LEFT JOIN categorias_examenes c ON c.id = e.categoria_id
    WHERE od.orden_id = ?
    ORDER BY categoria
");
$stmtCat->execute([$id]);
$categorias = $stmtCat->fetchAll(PDO::FETCH_COLUMN);

$nombrePaciente = trim(($orden['nombre'] ?? '') . ' ' . ($orden['apellidos'] ?? ''));
$categoriasTexto = !empty($categorias) ? implode(' | ', $categorias) : 'Sin categoría';

$barcodeData = (string)$orden['codigo'];
$barcodeUrl = 'https://barcode.tec-it.com/barcode.ashx?code=Code128&data=' . urlencode($barcodeData) . '&dpi=96&imagetype=png&download=false';
?>
<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="UTF-8">
    <title>Viñeta Orden <?= htmlspecialchars($orden['codigo']) ?></title>
    <style>
        * { box-sizing: border-box; }
        body {
            margin: 0;
            padding: 10px;
            background: #f5f5f5;
            font-family: Arial, sans-serif;
        }
        .acciones {
            display: flex;
            gap: 8px;
            justify-content: center;
            margin-bottom: 10px;
        }
        .btn {
            border: 1px solid #666;
            background: #fff;
            color: #111;
            border-radius: 6px;
            padding: 7px 10px;
            font-size: 12px;
            text-decoration: none;
            cursor: pointer;
        }
        .etiqueta {
            width: 50mm;
            height: 25mm;
            max-width: 50mm;
            max-height: 25mm;
            margin: 0 auto;
            background: #fff;
            border: 1px solid #000;
            padding: 1mm;
            display: grid;
            grid-template-columns: 1fr;
            gap: 1mm;
            overflow: hidden;
        }
        .barcode {
            display: flex;
            align-items: center;
            justify-content: center;
        }
        .barcode img {
            width: 100%;
            max-height: 11mm;
            border: 1px solid #ddd;
            object-fit: contain;
            background: #fff;
        }
        .contenido {
            display: flex;
            flex-direction: column;
            min-width: 0;
        }
        .paciente {
            margin-top: 0;
            font-size: 7.5px;
            font-weight: 900;
            line-height: 1.1;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }
        .categorias {
            margin-top: 0.4mm;
            font-size: 6px;
            line-height: 1.2;
            height: 5.5mm;
            overflow: hidden;
            word-break: break-word;
        }
        .fecha {
            margin-top: auto;
            font-size: 6px;
            color: #444;
        }

        @page {
            size: 50mm 25mm;
            margin: 0;
        }
        @media print {
            body { background: #fff; padding: 0; }
            .no-print { display: none !important; }
            .etiqueta { border: 1px solid #000; margin: 0; }
        }
    </style>
</head>
<body>
    <div class="acciones no-print">
        <button class="btn" onclick="window.print()">🖨️ Imprimir Viñeta</button>
        <a class="btn" href="view.php?id=<?= $id ?>">← Volver</a>
    </div>

    <div class="etiqueta">
        <div class="barcode">
            <img src="<?= $barcodeUrl ?>" alt="Código de barras Orden">
        </div>
        <div class="contenido">
            <div class="paciente"><?= htmlspecialchars($nombrePaciente) ?></div>
            <div class="categorias">Cat: <?= htmlspecialchars($categoriasTexto) ?></div>
            <div class="fecha"><?= date('d/m/Y H:i', strtotime($orden['fecha_orden'])) ?></div>
        </div>
    </div>
</body>
</html>
