fix: transición no permitida al pasar a lugar desde turno en espera

Cuando la recepcionista seleccionaba un turno de la cola sin llamarlo
formalmente (via seleccionarTurno), el turno quedaba en estado espera
en BD. Al intentar pasar a lugar, espera→en_espera_lugar no es válido.

Fix: en create_solicitud.php, si el turno está en espera al guardar
la solicitud, se promueve a en_recepcion en el mismo transaction,
preservando timestamps existentes con COALESCE.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Lizandro Guarnizo
2026-06-24 01:36:36 -05:00
co-authored by Claude Sonnet 4.6
parent 59addca960
commit f533891c5e
+11
View File
@@ -62,6 +62,17 @@ try {
$pdo->rollBack();
jsonError("El turno está en estado '{$turno['estado']}' y no se puede editar su solicitud.", 422);
}
// Si el turno fue seleccionado sin llamarlo formalmente, promoverlo a en_recepcion ahora
if ($turno['estado'] === 'espera') {
$pdo->prepare(
"UPDATE turnero_turnos
SET estado = 'en_recepcion',
llamado_recepcion_at = COALESCE(llamado_recepcion_at, NOW()),
inicio_recepcion_at = COALESCE(inicio_recepcion_at, NOW()),
atendido_recepcion_por = COALESCE(atendido_recepcion_por, ?)
WHERE id = ?"
)->execute([adminId(), $turnoId]);
}
// Verificar que el lugar existe
$stmt = $pdo->prepare("SELECT id FROM turnero_lugares WHERE id = ? AND activo = 1");