up
This commit is contained in:
@@ -38,9 +38,12 @@ foreach ($escritoriosRec as $desk) {
|
|||||||
t.llamado_recepcion_at AS llamado_at,
|
t.llamado_recepcion_at AS llamado_at,
|
||||||
p.codigo AS prioridad_codigo,
|
p.codigo AS prioridad_codigo,
|
||||||
p.nombre AS prioridad_nombre,
|
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
|
FROM turnero_turnos t
|
||||||
JOIN turnero_prioridades p ON p.id = t.prioridad_id
|
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 = ?
|
WHERE t.sesion_id = ?
|
||||||
AND t.estado = 'en_recepcion'
|
AND t.estado = 'en_recepcion'
|
||||||
AND (t.recepcion_desk_id = ? OR t.recepcion_desk_id IS NULL)
|
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,
|
t.llamado_recepcion_at AS llamado_at,
|
||||||
p.codigo AS prioridad_codigo,
|
p.codigo AS prioridad_codigo,
|
||||||
p.nombre AS prioridad_nombre,
|
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
|
FROM turnero_turnos t
|
||||||
JOIN turnero_prioridades p ON p.id = t.prioridad_id
|
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 = ?
|
WHERE t.sesion_id = ?
|
||||||
AND t.estado = 'en_recepcion'
|
AND t.estado = 'en_recepcion'
|
||||||
ORDER BY t.llamado_recepcion_at DESC"
|
ORDER BY t.llamado_recepcion_at DESC"
|
||||||
@@ -111,9 +117,12 @@ foreach ($lugares as $lugar) {
|
|||||||
t.llamado_lugar_at AS llamado_at,
|
t.llamado_lugar_at AS llamado_at,
|
||||||
p.codigo AS prioridad_codigo,
|
p.codigo AS prioridad_codigo,
|
||||||
p.nombre AS prioridad_nombre,
|
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
|
FROM turnero_turnos t
|
||||||
JOIN turnero_prioridades p ON p.id = t.prioridad_id
|
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 = ?
|
WHERE t.sesion_id = ?
|
||||||
AND t.estado = 'en_servicio'
|
AND t.estado = 'en_servicio'
|
||||||
AND t.lugar_destino_id = ?
|
AND t.lugar_destino_id = ?
|
||||||
|
|||||||
@@ -598,12 +598,15 @@ function renderSnapshot(snap) {
|
|||||||
const key = t.codigo + '|' + t.destino + '|' + (t.llamado_at || '');
|
const key = t.codigo + '|' + t.destino + '|' + (t.llamado_at || '');
|
||||||
currentKeys.add(key);
|
currentKeys.add(key);
|
||||||
if (!lastSeenKeys.has(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
|
// En primera carga silenciar todos; el más reciente se anuncia abajo
|
||||||
if (!_firstLoad) {
|
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();
|
if (llamados.length > 30) llamados.pop();
|
||||||
anuncioNuevo = true;
|
anuncioNuevo = true;
|
||||||
}
|
}
|
||||||
@@ -615,10 +618,10 @@ function renderSnapshot(snap) {
|
|||||||
// Anunciar solo el turno más reciente al cargar la página
|
// 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));
|
const sorted = allTurnos.slice().sort((a, b) => new Date(b.llamado_at || 0) - new Date(a.llamado_at || 0));
|
||||||
if (sorted.length > 0) {
|
if (sorted.length > 0) {
|
||||||
const t = sorted[0];
|
const t = sorted[0];
|
||||||
const c = t.prioridad_color || '<?= $_labColor ?>';
|
const c = t.prioridad_color || '<?= $_labColor ?>';
|
||||||
const key = t.codigo + '|' + t.destino + '|' + (t.llamado_at || '');
|
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];
|
const t = sorted[0];
|
||||||
codEl.textContent = t.codigo;
|
codEl.textContent = t.codigo;
|
||||||
lugEl.textContent = t.destino;
|
lugEl.textContent = t.destino;
|
||||||
pacEl.textContent = t.paciente_nombre || '';
|
pacEl.textContent = t.nombre_registrado || t.paciente_nombre || '';
|
||||||
lblEl.textContent = 'Llamado a';
|
lblEl.textContent = 'Llamado a';
|
||||||
ringEl.classList.add('active');
|
ringEl.classList.add('active');
|
||||||
const c = t.prioridad_color || '<?= $_labColor ?>';
|
const c = t.prioridad_color || '<?= $_labColor ?>';
|
||||||
|
|||||||
Reference in New Issue
Block a user