This commit is contained in:
Lizandro Guarnizo
2026-06-16 17:41:27 -05:00
parent f1673a2d39
commit 1c67dbdadc
2 changed files with 22 additions and 10 deletions
+12 -3
View File
@@ -38,9 +38,12 @@ foreach ($escritoriosRec as $desk) {
t.llamado_recepcion_at AS llamado_at,
p.codigo AS prioridad_codigo,
p.nombre AS prioridad_nombre,
p.color AS prioridad_color
p.color AS prioridad_color,
lp.nombre_completo AS nombre_registrado
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
LEFT JOIN lab_pacientes lp ON lp.id = ts.paciente_id
WHERE t.sesion_id = ?
AND t.estado = 'en_recepcion'
AND (t.recepcion_desk_id = ? OR t.recepcion_desk_id IS NULL)
@@ -69,9 +72,12 @@ if (empty($escritoriosRec)) {
t.llamado_recepcion_at AS llamado_at,
p.codigo AS prioridad_codigo,
p.nombre AS prioridad_nombre,
p.color AS prioridad_color
p.color AS prioridad_color,
lp.nombre_completo AS nombre_registrado
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
LEFT JOIN lab_pacientes lp ON lp.id = ts.paciente_id
WHERE t.sesion_id = ?
AND t.estado = 'en_recepcion'
ORDER BY t.llamado_recepcion_at DESC"
@@ -111,9 +117,12 @@ foreach ($lugares as $lugar) {
t.llamado_lugar_at AS llamado_at,
p.codigo AS prioridad_codigo,
p.nombre AS prioridad_nombre,
p.color AS prioridad_color
p.color AS prioridad_color,
lp.nombre_completo AS nombre_registrado
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
LEFT JOIN lab_pacientes lp ON lp.id = ts.paciente_id
WHERE t.sesion_id = ?
AND t.estado = 'en_servicio'
AND t.lugar_destino_id = ?
+10 -7
View File
@@ -598,12 +598,15 @@ function renderSnapshot(snap) {
const key = t.codigo + '|' + t.destino + '|' + (t.llamado_at || '');
currentKeys.add(key);
if (!lastSeenKeys.has(key)) {
const c = t.prioridad_color || '<?= $_labColor ?>';
const c = t.prioridad_color || '<?= $_labColor ?>';
// Solo anunciar el nombre si el paciente está registrado en el sistema
const nomVoz = t.nombre_registrado || null;
const nomVisu = t.nombre_registrado || t.paciente_nombre || null;
// En primera carga silenciar todos; el más reciente se anuncia abajo
if (!_firstLoad) {
queueAnnouncement({ _key: key, codigo: t.codigo, destino: t.destino, paciente: t.paciente_nombre, color: c });
queueAnnouncement({ _key: key, codigo: t.codigo, destino: t.destino, paciente: nomVoz, color: c });
}
llamados.unshift({ codigo: t.codigo, destino: t.destino, paciente: t.paciente_nombre, color: c });
llamados.unshift({ codigo: t.codigo, destino: t.destino, paciente: nomVisu, color: c });
if (llamados.length > 30) llamados.pop();
anuncioNuevo = true;
}
@@ -615,10 +618,10 @@ function renderSnapshot(snap) {
// Anunciar solo el turno más reciente al cargar la página
const sorted = allTurnos.slice().sort((a, b) => new Date(b.llamado_at || 0) - new Date(a.llamado_at || 0));
if (sorted.length > 0) {
const t = sorted[0];
const c = t.prioridad_color || '<?= $_labColor ?>';
const t = sorted[0];
const c = t.prioridad_color || '<?= $_labColor ?>';
const key = t.codigo + '|' + t.destino + '|' + (t.llamado_at || '');
queueAnnouncement({ _key: key, codigo: t.codigo, destino: t.destino, paciente: t.paciente_nombre, color: c });
queueAnnouncement({ _key: key, codigo: t.codigo, destino: t.destino, paciente: t.nombre_registrado || null, color: c });
}
}
@@ -633,7 +636,7 @@ function renderSnapshot(snap) {
const t = sorted[0];
codEl.textContent = t.codigo;
lugEl.textContent = t.destino;
pacEl.textContent = t.paciente_nombre || '';
pacEl.textContent = t.nombre_registrado || t.paciente_nombre || '';
lblEl.textContent = 'Llamado a';
ringEl.classList.add('active');
const c = t.prioridad_color || '<?= $_labColor ?>';