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();
|
$pdo->rollBack();
|
||||||
jsonError("El turno está en estado '{$turno['estado']}' y no se puede editar su solicitud.", 422);
|
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
|
// Verificar que el lugar existe
|
||||||
$stmt = $pdo->prepare("SELECT id FROM turnero_lugares WHERE id = ? AND activo = 1");
|
$stmt = $pdo->prepare("SELECT id FROM turnero_lugares WHERE id = ? AND activo = 1");
|
||||||
|
|||||||
Reference in New Issue
Block a user