diff --git a/modules/turnero/api/llamar_desde_espera.php b/modules/turnero/api/llamar_desde_espera.php index 36a404c..da2028d 100644 --- a/modules/turnero/api/llamar_desde_espera.php +++ b/modules/turnero/api/llamar_desde_espera.php @@ -1,8 +1,7 @@ prepare( - "UPDATE turnero_turnos SET muestra_espera_at = NULL WHERE id = ? AND muestra_espera_at IS NOT NULL" -)->execute([$turnoId]); +$pdo = db(); +$pdo->prepare( + 'UPDATE turnero_turnos + SET muestra_espera_at = NULL, + lugar_destino_id = ?, + llamado_lugar_at = NOW(), + atendido_lugar_por = ? + WHERE id = ? AND muestra_espera_at IS NOT NULL' +)->execute([$lugarId, adminId(), $turnoId]); -jsonOk([], 'Paciente de vuelta en cola'); +$stmt = $pdo->prepare( + 'SELECT t.*, p.codigo AS prioridad_codigo, p.nombre AS prioridad_nombre, p.color AS prioridad_color, + COALESCE(ts.solo_muestras, 0) AS solo_muestras + FROM turnero_turnos t + JOIN turnero_prioridades p ON p.id = t.prioridad_id + LEFT JOIN turnero_solicitudes ts ON ts.turno_id = t.id + WHERE t.id = ?' +); +$stmt->execute([$turnoId]); +$turno = $stmt->fetch(PDO::FETCH_ASSOC); + +if ($turno) notificarSSE((int)$turno['sesion_id']); + +jsonOk(['turno' => $turno], 'Paciente llamado'); diff --git a/modules/turnero/views/lugar.php b/modules/turnero/views/lugar.php index 9b9fe18..75402d5 100644 --- a/modules/turnero/views/lugar.php +++ b/modules/turnero/views/lugar.php @@ -2589,11 +2589,13 @@ async function _llamarDesdeEspera(turnoId) { try { const res = await fetch(API + 'llamar_desde_espera.php', { method: 'POST', headers: { 'Content-Type': 'application/json' }, - body: JSON.stringify({ turno_id: turnoId }), + body: JSON.stringify({ turno_id: turnoId, lugar_id: lugarId }), }); const j = await res.json(); - if (!j.ok) mostrarError(j.error); - else cargarCola(); + if (!j.ok) { mostrarError(j.error); return; } + mostrarLlamando(j.turno.codigo); + await abrirFicha(j.turno); + cargarCola(); } catch (e) { mostrarError(e.message); } }