This commit is contained in:
Lizandro Guarnizo
2026-06-09 16:44:39 -05:00
parent 4e6913c41e
commit ab8b5ae620
9 changed files with 1590 additions and 323 deletions
+19
View File
@@ -171,6 +171,25 @@ function siguienteNumero(int $sesionId): int
return (int) $stmt->fetchColumn();
}
/**
* Genera el siguiente número correlativo de turno POR PRIORIDAD para una sesión.
* Cada prioridad (A, B, C, D, E, F) tiene su propia secuencia independiente.
* Usa bloqueo a nivel de fila para evitar duplicados en concurrencia.
*/
function siguienteNumeroPorPrioridad(int $sesionId, int $prioridadId): int
{
$pdo = db();
$stmt = $pdo->prepare(
'SELECT COALESCE(MAX(numero), 0) + 1 AS siguiente
FROM turnero_turnos
WHERE sesion_id = ?
AND prioridad_id = ?
FOR UPDATE'
);
$stmt->execute([$sesionId, $prioridadId]);
return (int) $stmt->fetchColumn();
}
/**
* Selecciona el siguiente turno a llamar según el motor de prioridades.
*