Saltar al contenido principal

Rollback de Importaciones de Pagos

Permite revertir una importación completa de pagos cuando se detecta un error después del procesamiento. Todos los efectos de la importación se deshacen en una sola operación atómica.

¿Cuándo usar rollback?

  • Se cargó un archivo incorrecto (datos de otro mes o cliente)
  • Se detectaron errores en los datos después de la importación
  • Se duplicó una carga por error (mismo archivo cargado dos veces)
  • El archivo contenía montos incorrectos

:::warning Rollback Irreversible El rollback elimina permanentemente todos los registros de pagos de esa importación, incluyendo los que ya fueron asignados manualmente. No se puede deshacer. :::

¿Qué revierte el rollback?

AcciónDetalle
Eliminar gestionesTodas las GestionModels con ImportJobId del job
Eliminar pagos sin asignarTodas las UnassignedPayments del job
Eliminar ítems de revisiónTodos los PaymentImportReviewItems del job
Revertir MontoPagadoResta el total de PaymentRemove de cada integrante afectado
Recalcular fechasFechaUltimoPago y MontoUltimoPago se recalculan desde gestiones restantes
Marcar jobStatus → rolled_back con auditoría

Proceso Paso a Paso

1. Localizar la Importación

  1. Ir a Gestiones → Carga de Pagos
  2. Localizar el job en el historial de importaciones
  3. Verificar que el estado sea completed o failed

2. Ejecutar Rollback

  1. Hacer clic en "Revertir" (solo visible para Admin/Supervisor)
  2. Se muestra un diálogo de confirmación con:
    • Nombre del archivo
    • Cantidad de gestiones a eliminar
    • Advertencia de irreversibilidad
  3. Confirmar haciendo clic en "Sí, Revertir"

3. Resultado

  • El job cambia su badge a "Revertido"
  • Se muestra un toast de éxito con conteos:
    • Gestiones eliminadas
    • Pagos sin asignar eliminados
    • Integrantes afectados

Lógica de Recálculo de Montos

Requisitos y Restricciones

RequisitoDetalle
Roles permitidosAdmin, Supervisor
Estados válidos para rollbackcompleted, failed, cancelled
No se puede revertirJobs en processing, pending, o ya rolled_back
Timeout de transacción30 segundos
ConcurrenciaSolo un rollback simultáneo por job

Mensajes de Error

SituaciónMensaje
Job en proceso"El trabajo aún está en proceso. Debe completarse antes de revertirlo."
Ya revertido"Este trabajo ya fue revertido"
Job no encontrado"Trabajo no encontrado"
Sin permiso"No autorizado para revertir este trabajo"
Error de BD"Error al revertir trabajo" (retry posible)

Acceso

PropiedadValor
UbicaciónHistorial de carga de pagos
Permiso APIapi:import:pagos:rollback
Roles por defectoAdmin, Supervisor
Botón visible siRol ∈ [Admin, Supervisor] Y Estado ∈ [completed, failed] Y JobType = 'pagos'