fix: filtrar por sesión del día al llamar siguiente turno

siguienteTurnoEnCola ahora acepta sesion_id opcional. llamar_turno.php
pasa la sesión de hoy para que nunca agarre turnos viejos de días
anteriores que quedaron en estado 'espera'.

Sin el filtro, el primer llamado del día podía agarrar un turno de ayer,
la ficha abría en recepción pero la pantalla TV (get_display_recepcion.php)
filtra por sesion_id=hoy y no lo encontraba → el número no salía en display.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Lizandro Guarnizo
2026-07-08 09:14:48 -05:00
co-authored by Claude Sonnet 4.6
parent 8aa2f35585
commit 7b4827f70f
2 changed files with 19 additions and 10 deletions
+6 -3
View File
@@ -28,12 +28,15 @@ if ($area === 'lugar' && !$lugarId) {
}
$pdo = db();
// Obtener sesión del día ANTES de abrir la transacción para que un posible
// INSERT de sesión nueva no quede dentro del rollback.
$sesionHoy = obtenerOCrearSesionHoy();
$pdo->beginTransaction();
try {
if ($area === 'recepcion') {
// Cola recepción: turnos en estado 'espera' sin filtro de lugar
$turno = siguienteTurnoEnCola('espera');
// Cola recepción: solo turnos de la sesión activa de hoy
$turno = siguienteTurnoEnCola('espera', null, null, $sesionHoy);
if (!$turno) {
$pdo->rollBack();
@@ -78,7 +81,7 @@ try {
jsonError('El turno no está en espera o no existe.', 404);
}
} else {
$turno = siguienteTurnoEnCola('en_espera_lugar', $lugarId);
$turno = siguienteTurnoEnCola('en_espera_lugar', $lugarId, null, $sesionHoy);
if (!$turno) {
$pdo->rollBack();
jsonOk(['turno' => null], 'Cola del lugar vacía');