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:
co-authored by
Claude Sonnet 4.6
parent
59addca960
commit
f533891c5e
@@ -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");
|
||||
|
||||
Reference in New Issue
Block a user