feat: dropdown destino muestra Toma de Muestras, Pediatría y Ginecología
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 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
c0f99fe9bc
commit
0f07ee22c7
@@ -16,10 +16,18 @@ try {
|
|||||||
$lugarRecepcion = $pdo->query(
|
$lugarRecepcion = $pdo->query(
|
||||||
"SELECT id, nombre FROM turnero_lugares WHERE tipo='recepcion' AND activo=1 ORDER BY sort_order LIMIT 1"
|
"SELECT id, nombre FROM turnero_lugares WHERE tipo='recepcion' AND activo=1 ORDER BY sort_order LIMIT 1"
|
||||||
)->fetch(PDO::FETCH_ASSOC);
|
)->fetch(PDO::FETCH_ASSOC);
|
||||||
|
|
||||||
|
// Destinos agrupados: un representante por grupo_id, individuales si grupo_id=NULL
|
||||||
$lugaresDestino = $pdo->query(
|
$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);
|
)->fetchAll(PDO::FETCH_ASSOC);
|
||||||
$lugarMuestras = $lugaresDestino[0] ?? null; // compatibilidad
|
$lugarMuestras = $lugaresDestino[0] ?? null;
|
||||||
|
|
||||||
$examenes = $pdo->query(
|
$examenes = $pdo->query(
|
||||||
"SELECT id, codigo, nombre, categoria FROM exam_tipos WHERE activo = 1 ORDER BY categoria, nombre"
|
"SELECT id, codigo, nombre, categoria FROM exam_tipos WHERE activo = 1 ORDER BY categoria, nombre"
|
||||||
|
|||||||
Reference in New Issue
Block a user