fix(turnero): turno de recepcion 1 aparece en recepcion 2 en display
get_display_global.php: la query de cada escritorio tenía la condición OR t.recepcion_desk_id IS NULL lo que hacía que un turno llamado sin desk_id (NULL) apareciera como activo en TODOS los escritorios simultáneamente, anunciando el destino incorrecto. Se eliminó esa condición para usar match exacto por escritorio. llamar_turno.php: cambiar COALESCE(?, recepcion_desk_id) por ? directo. El COALESCE era innecesario porque el UPDATE solo aplica sobre estado='espera' (primer llamado). Ahora siempre escribe el valor recibido. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
4f25cd6b59
commit
9afefcf3e7
@@ -44,7 +44,7 @@ foreach ($escritoriosRec as $desk) {
|
|||||||
JOIN turnero_prioridades p ON p.id = t.prioridad_id
|
JOIN turnero_prioridades p ON p.id = t.prioridad_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 = ?
|
||||||
ORDER BY t.llamado_recepcion_at DESC
|
ORDER BY t.llamado_recepcion_at DESC
|
||||||
LIMIT 1"
|
LIMIT 1"
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -41,13 +41,16 @@ try {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Actualizar estado + timestamp
|
// Actualizar estado + timestamp
|
||||||
|
// $deskId puede ser null si el recepcionista no seleccionó escritorio;
|
||||||
|
// se guarda igual (puede quedar NULL) pero la query del display ya no
|
||||||
|
// usa IS NULL para evitar que aparezca en todos los escritorios.
|
||||||
$stmt = $pdo->prepare(
|
$stmt = $pdo->prepare(
|
||||||
'UPDATE turnero_turnos
|
'UPDATE turnero_turnos
|
||||||
SET estado = "en_recepcion",
|
SET estado = "en_recepcion",
|
||||||
llamado_recepcion_at = NOW(),
|
llamado_recepcion_at = NOW(),
|
||||||
inicio_recepcion_at = NOW(),
|
inicio_recepcion_at = NOW(),
|
||||||
atendido_recepcion_por = ?,
|
atendido_recepcion_por = ?,
|
||||||
recepcion_desk_id = COALESCE(?, recepcion_desk_id)
|
recepcion_desk_id = ?
|
||||||
WHERE id = ? AND estado = "espera"'
|
WHERE id = ? AND estado = "espera"'
|
||||||
);
|
);
|
||||||
$stmt->execute([adminId(), $deskId, $turno['id']]);
|
$stmt->execute([adminId(), $deskId, $turno['id']]);
|
||||||
|
|||||||
Reference in New Issue
Block a user