fix(turnero): asignar recepcion_desk_id al llamar turno específico

llamarTurnoEspecifico usaba cambiar_estado.php sin pasar desk_id, por
lo que recepcion_desk_id quedaba NULL. El display TV filtra por
recepcion_desk_id = ?, así el turno llamado no aparecía en pantalla.

También se corrige llamado_recepcion_at: era COALESCE (no actualizaba
si ya tenía valor), ahora es NOW() para que el display reaccione al
re-llamar.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Lizandro Guarnizo
2026-07-08 16:07:26 -05:00
co-authored by Claude Sonnet 4.6
parent bfab8418b6
commit 71e97f2d95
2 changed files with 7 additions and 2 deletions
+6 -1
View File
@@ -29,6 +29,7 @@ $datos = inputJson();
$turnoId = isset($datos['turno_id']) ? (int) $datos['turno_id'] : 0;
$nuevoEstado = isset($datos['nuevo_estado']) ? trim((string) $datos['nuevo_estado']) : '';
$lugarId = isset($datos['lugar_id']) ? (int) $datos['lugar_id'] : null;
$deskId = isset($datos['desk_id']) ? (int) $datos['desk_id'] : null;
// ── Validación básica ─────────────────────────────────────────
if ($turnoId <= 0) jsonError('turno_id inválido.');
@@ -107,10 +108,14 @@ try {
switch ($nuevoEstado) {
case 'en_recepcion':
$sets[] = 'llamado_recepcion_at = COALESCE(llamado_recepcion_at, NOW())';
$sets[] = 'llamado_recepcion_at = NOW()';
$sets[] = 'inicio_recepcion_at = COALESCE(inicio_recepcion_at, NOW())';
$sets[] = 'atendido_recepcion_por = COALESCE(atendido_recepcion_por, ?)';
$binds[] = adminId();
if ($deskId) {
$sets[] = 'recepcion_desk_id = ?';
$binds[] = $deskId;
}
break;
case 'en_espera_lugar':
+1 -1
View File
@@ -1192,7 +1192,7 @@ async function llamarTurnoEspecifico(turnoId, estadoActual) {
const res = await fetch(API + 'cambiar_estado.php', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ turno_id: turnoId, nuevo_estado: 'en_recepcion' }),
body: JSON.stringify({ turno_id: turnoId, nuevo_estado: 'en_recepcion', desk_id: DESK_ID }),
});
const json = await res.json();
if (!json.ok) { mostrarError(json.error); return; }