← Volver a CajerosController

🗑️ Eliminar Cajero

Elimina permanentemente un cajero del sistema. Esta operación es irreversible y eliminará todos los datos asociados al cajero, incluyendo su historial de operaciones.

⚠️ Advertencia

Esta operación es irreversible. Una vez eliminado el cajero, no se puede recuperar. Se recomienda verificar que el cajero no tenga operaciones activas antes de proceder.

📋 Información del Endpoint

DELETE /api/cajeros/{id}

Elimina permanentemente un cajero del sistema.

📥 Parámetros de Ruta

Parámetro Tipo Requerido Descripción
id int ID único del cajero a eliminar

📥 Parámetros de Consulta (Opcionales)

Parámetro Tipo Requerido Descripción
force boolean No Si es true, fuerza la eliminación incluso si hay operaciones asociadas

📤 Códigos de Respuesta

Código Descripción Ejemplo
200 OK Cajero eliminado correctamente Se devuelve el objeto cajero eliminado
404 Not Found Cajero no encontrado El ID del cajero no existe en el sistema
409 Conflict Cajero con operaciones activas No se puede eliminar por operaciones pendientes
500 Internal Server Error Error interno del servidor Error en la base de datos o procesamiento

🔧 Ejemplos de Uso

Ejemplo 1: Eliminar Cajero Normal

Petición
DELETE /api/cajeros/5
Respuesta Exitosa (200 OK)
{
  "success": true,
  "message": "Cajero eliminado correctamente",
  "data": {
    "id": 5,
    "nombre": "Pedro",
    "apellidos": "González",
    "estado": "B",
    "fechaAlta": "2023-01-15T00:00:00",
    "fechaBaja": "2024-11-30T00:00:00",
    "observaciones": "Cajero eliminado del sistema"
  }
}

Ejemplo 2: Eliminar Cajero con Operaciones Activas

Petición
DELETE /api/cajeros/3?force=true
Respuesta Exitosa (200 OK)
{
  "success": true,
  "message": "Cajero eliminado correctamente (eliminación forzada)",
  "data": {
    "id": 3,
    "nombre": "Carlos",
    "apellidos": "Rodríguez",
    "estado": "A",
    "fechaAlta": "2022-06-01T00:00:00",
    "fechaBaja": null,
    "observaciones": "Cajero eliminado con operaciones activas"
  },
  "warnings": [
    "Se eliminaron 15 operaciones asociadas al cajero"
  ]
}

Ejemplo 3: Error - Cajero con Operaciones Activas

Petición
DELETE /api/cajeros/3
Respuesta de Error (409 Conflict)
{
  "success": false,
  "message": "No se puede eliminar el cajero porque tiene operaciones activas",
  "error": "El cajero tiene 15 operaciones asociadas que deben ser procesadas antes de la eliminación",
  "data": {
    "operacionesActivas": 15,
    "sugerencia": "Use el parámetro force=true para forzar la eliminación"
  }
}

ℹ️ Notas Importantes

  • Operación irreversible: Una vez eliminado el cajero, no se puede recuperar.
  • Verificación de operaciones: El sistema verifica si el cajero tiene operaciones activas antes de eliminar.
  • Parámetro force: Si se establece en true, fuerza la eliminación incluso con operaciones activas.
  • Auditoría: Se registra la eliminación para fines de auditoría.
  • Integridad referencial: Se eliminan todas las referencias al cajero en otras tablas.
  • Backup recomendado: Se recomienda hacer backup antes de eliminar cajeros importantes.

🔒 Seguridad

  • Confirmación: Se recomienda confirmar la eliminación en el frontend
  • Permisos: Solo usuarios autorizados pueden eliminar cajeros
  • Auditoría: Se registra quién y cuándo eliminó el cajero
  • Validación: Se valida que el cajero exista antes de eliminar