Seleccionar Puesto de Recepción
+No hay puestos configurados.
+ + - -Sin turno activo
- Haga clic en de un turno para llamarlo, o use "Llamar siguiente" -diff --git a/modules/turnero/views/recepcion.php b/modules/turnero/views/recepcion.php index 0a2803d..3492979 100644 --- a/modules/turnero/views/recepcion.php +++ b/modules/turnero/views/recepcion.php @@ -1,1603 +1,45 @@ 0) { + header('Location: ' . BASE_URL . 'erp.php?m=turnero&v=recepcion&desk_id=' . $desk); exit; } -// Cargar catálogos para la ficha -try { - $pdo = Database::getInstance()->getConnection(); +// Sin desk_id: selector de puestos disponibles +$pdo = Database::getInstance()->getConnection(); +$desks = $pdo->query("SELECT id, nombre FROM turnero_lugares WHERE activo = 1 ORDER BY sort_order ASC, nombre ASC") + ->fetchAll(PDO::FETCH_ASSOC); - // Para destino solo nos interesa recepción y toma de muestras - $lugarRecepcion = $pdo->query( - "SELECT id, nombre FROM turnero_lugares WHERE tipo='recepcion' AND activo=1 ORDER BY sort_order LIMIT 1" - )->fetch(PDO::FETCH_ASSOC); - $lugarMuestras = $pdo->query( - "SELECT id, nombre FROM turnero_lugares WHERE tipo='muestras' AND activo=1 ORDER BY sort_order LIMIT 1" - )->fetch(PDO::FETCH_ASSOC); - - $examenes = $pdo->query( - "SELECT id, codigo, nombre, categoria FROM exam_tipos WHERE activo = 1 ORDER BY categoria, nombre" - )->fetchAll(PDO::FETCH_ASSOC); - - // Agrupar exámenes por categoría - $examenesAgrupados = []; - foreach ($examenes as $ex) { - $cat = $ex['categoria'] ?: 'General'; - $examenesAgrupados[$cat][] = $ex; - } - - // Escritorio de recepción (opcional, vía ?desk_id=X) - $deskId = (int)($_GET['desk_id'] ?? 0); - $desk = null; - if ($deskId) { - $stmtDesk = $pdo->prepare( - "SELECT id, nombre FROM turnero_lugares WHERE id = ? AND tipo = 'recepcion' AND activo = 1" - ); - $stmtDesk->execute([$deskId]); - $desk = $stmtDesk->fetch(PDO::FETCH_ASSOC) ?: null; - if (!$desk) { $deskId = 0; } // ID inválido → sin desk - } -} catch (\Throwable $e) { - $lugares = []; - $examenesAgrupados = []; - $deskId = 0; - $desk = null; - $lugarRecepcion = null; - $lugarMuestras = null; -} - -$deskNombre = $desk['nombre'] ?? null; // null = vista genérica -$adminNombre = $_SESSION['admin_user']['full_name'] ?? $_SESSION['admin_user']['username'] ?? 'Operador'; +Layout::open('Seleccionar Puesto', 'fas fa-desktop'); ?> - - -
- - -No hay puestos configurados.
+ + - -Sin turno activo
- Haga clic en de un turno para llamarlo, o use "Llamar siguiente" -