fix(turnero): eliminar duplicados en pantalla TV al llamar turno
callKey usaba id+llamado_at: si llamado_at llegaba null en el primer poll y con valor en el segundo, se generaban dos claves distintas para el mismo evento y el turno se anunciaba dos veces. Cambia callKey a String(id) — cada turno se anuncia una sola vez por sesión de pantalla, sin importar cambios en el timestamp. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
c4154b5b61
commit
8074f33b32
@@ -616,8 +616,7 @@ function renderSnapshot(snap) {
|
||||
let anuncioNuevo = false;
|
||||
allTurnos.forEach(t => {
|
||||
const key = t.codigo + '|' + t.destino + '|' + (t.llamado_at || '');
|
||||
// Clave única por evento de llamada (id+llamado_at), independiente del escritorio
|
||||
const callKey = (t.id || t.codigo) + '|' + (t.llamado_at || '');
|
||||
const callKey = String(t.id || t.codigo);
|
||||
currentKeys.add(key);
|
||||
if (!lastSeenKeys.has(key)) {
|
||||
const c = t.prioridad_color || '<?= $_labColor ?>';
|
||||
@@ -643,7 +642,7 @@ function renderSnapshot(snap) {
|
||||
const t = sorted[0];
|
||||
const c = t.prioridad_color || '<?= $_labColor ?>';
|
||||
const key = t.codigo + '|' + t.destino + '|' + (t.llamado_at || '');
|
||||
const callKey = (t.id || t.codigo) + '|' + (t.llamado_at || '');
|
||||
const callKey = String(t.id || t.codigo);
|
||||
const nomVoz = t.paciente_id ? t.paciente_nombre : null;
|
||||
announcedCalls.add(callKey);
|
||||
queueAnnouncement({ _key: key, codigo: t.codigo, destino: t.destino, paciente: nomVoz, color: c });
|
||||
|
||||
Reference in New Issue
Block a user