From 0f07ee22c77530c5219608b07bc5d308b8220d21 Mon Sep 17 00:00:00 2001 From: Lizandro Guarnizo <77708265+lizandrogd@users.noreply.github.com> Date: Wed, 24 Jun 2026 01:39:43 -0500 Subject: [PATCH] =?UTF-8?q?feat:=20dropdown=20destino=20muestra=20Toma=20d?= =?UTF-8?q?e=20Muestras,=20Pediatr=C3=ADa=20y=20Ginecolog=C3=ADa?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Las 8 estaciones de muestras ya comparten grupo_id=1, así que se agrupan en una sola opción 'Toma de Muestras'. Pediatría y Ginecología tienen grupo_id=NULL y aparecen como destinos independientes. Cualquier estación del grupo ve los turnos asignados a él. Co-Authored-By: Claude Sonnet 4.6 --- modules/turnero/views/recepcion.php | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/modules/turnero/views/recepcion.php b/modules/turnero/views/recepcion.php index 7cde690..78d15c8 100644 --- a/modules/turnero/views/recepcion.php +++ b/modules/turnero/views/recepcion.php @@ -16,10 +16,18 @@ try { $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); + + // Destinos agrupados: un representante por grupo_id, individuales si grupo_id=NULL $lugaresDestino = $pdo->query( - "SELECT id, nombre FROM turnero_lugares WHERE tipo='muestras' AND activo=1 ORDER BY sort_order" + "SELECT MIN(id) AS id, + CASE WHEN grupo_id IS NOT NULL THEN 'Toma de Muestras' ELSE nombre END AS nombre, + grupo_id + FROM turnero_lugares + WHERE tipo='muestras' AND activo=1 + GROUP BY COALESCE(grupo_id, id) + ORDER BY MIN(sort_order)" )->fetchAll(PDO::FETCH_ASSOC); - $lugarMuestras = $lugaresDestino[0] ?? null; // compatibilidad + $lugarMuestras = $lugaresDestino[0] ?? null; $examenes = $pdo->query( "SELECT id, codigo, nombre, categoria FROM exam_tipos WHERE activo = 1 ORDER BY categoria, nombre"