up
This commit is contained in:
@@ -35,15 +35,13 @@ foreach ($escritoriosRec as $desk) {
|
|||||||
t.numero,
|
t.numero,
|
||||||
t.estado,
|
t.estado,
|
||||||
t.paciente_nombre,
|
t.paciente_nombre,
|
||||||
|
t.paciente_id,
|
||||||
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,15 +67,13 @@ if (empty($escritoriosRec)) {
|
|||||||
t.numero,
|
t.numero,
|
||||||
t.estado,
|
t.estado,
|
||||||
t.paciente_nombre,
|
t.paciente_nombre,
|
||||||
|
t.paciente_id,
|
||||||
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"
|
||||||
@@ -114,15 +110,13 @@ foreach ($lugares as $lugar) {
|
|||||||
t.numero,
|
t.numero,
|
||||||
t.estado,
|
t.estado,
|
||||||
t.paciente_nombre,
|
t.paciente_nombre,
|
||||||
|
t.paciente_id,
|
||||||
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,15 +598,14 @@ 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
|
// Solo decir el nombre en voz si el paciente está registrado en lab_pacientes
|
||||||
const nomVoz = t.nombre_registrado || null;
|
const nomVoz = t.paciente_id ? t.paciente_nombre : 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: nomVoz, color: c });
|
queueAnnouncement({ _key: key, codigo: t.codigo, destino: t.destino, paciente: nomVoz, color: c });
|
||||||
}
|
}
|
||||||
llamados.unshift({ codigo: t.codigo, destino: t.destino, paciente: nomVisu, color: c });
|
llamados.unshift({ codigo: t.codigo, destino: t.destino, paciente: t.paciente_nombre, color: c });
|
||||||
if (llamados.length > 30) llamados.pop();
|
if (llamados.length > 30) llamados.pop();
|
||||||
anuncioNuevo = true;
|
anuncioNuevo = true;
|
||||||
}
|
}
|
||||||
@@ -615,13 +614,13 @@ function renderSnapshot(snap) {
|
|||||||
|
|
||||||
if (_firstLoad) {
|
if (_firstLoad) {
|
||||||
_firstLoad = false;
|
_firstLoad = false;
|
||||||
// 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.nombre_registrado || null, color: c });
|
const nomVoz = t.paciente_id ? t.paciente_nombre : null;
|
||||||
|
queueAnnouncement({ _key: key, codigo: t.codigo, destino: t.destino, paciente: nomVoz, color: c });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -636,7 +635,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.nombre_registrado || t.paciente_nombre || '';
|
pacEl.textContent = 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