Files
backend/docs/commands/ELIMINAR_PEDIMENTOS_DUPLICADOS.md

3.6 KiB
Raw Blame History

Guía del Comando eliminar_pedimentos_duplicados

📝 Descripción

El comando eliminar_pedimentos_duplicados es una herramienta de mantenimiento que identifica y elimina pedimentos duplicados dentro de una organización, conservando automáticamente el pedimento que tenga más documentos y relaciones asociadas.

⚙️ Funcionalidad

Criterios de Duplicación

  • Pedimentos con el mismo número dentro de una organización
  • Solo se consideran duplicados dentro de la misma organización
  • Se mantiene el pedimento con más:
    • Documentos (Documents)
    • COVEs
    • E-documents
    • Partidas

💻 Uso

Comando Básico

python manage.py eliminar_pedimentos_duplicados

Con Argumentos Opcionales

# Procesar organización específica
python manage.py eliminar_pedimentos_duplicados --organizacion="uuid-organizacion"

# Ajustar tamaño del lote
python manage.py eliminar_pedimentos_duplicados --batch-size=50

# Combinar opciones
python manage.py eliminar_pedimentos_duplicados --organizacion="uuid" --batch-size=50

🔧 Argumentos Disponibles

Argumento Descripción Tipo Default
--organizacion UUID de la organización a procesar string None
--batch-size Número de pedimentos por lote integer 100

📊 Proceso de Ejecución

  1. Inicio

    • Validación de argumentos
    • Conexión a base de datos
    • Cálculo de duplicados totales
  2. Procesamiento por Lotes

    • Identificación de duplicados
    • Análisis de documentos asociados
    • Selección de pedimento a mantener
  3. Eliminación

    • Eliminación de COVEs asociados
    • Eliminación de E-documents
    • Eliminación de Partidas
    • Eliminación de Documents
    • Eliminación del pedimento duplicado
  4. Reporte

    • Total de grupos procesados
    • Tiempo de ejecución
    • Detalles de errores (si existen)

⚠️ Precauciones

Antes de Ejecutar

  • Realizar respaldo de la base de datos
  • Verificar espacio en disco
  • Revisar carga del servidor
  • Confirmar permisos de usuario

Durante la Ejecución

  • No interrumpir el proceso
  • Monitorear uso de recursos
  • Revisar logs en tiempo real

Después de la Ejecución

  • Verificar integridad de datos
  • Revisar logs de errores
  • Documentar cambios realizados

🔍 Monitoreo

Logs y Salidas

  • Progreso por lote
  • Errores encontrados
  • Resumen de operaciones
  • Tiempo total de ejecución

Mensajes de Estado

  • ✓ Operación exitosa
  • ✗ Error en la operación
  • Información de progreso

🚨 Solución de Problemas

Errores Comunes

  1. Timeout de Base de Datos

    • Reducir tamaño del lote
    • Verificar conexión a BD
    • Revisar índices de la tabla
  2. Memoria Insuficiente

    • Ajustar batch-size
    • Verificar recursos del servidor
    • Liberar memoria cache
  3. Errores de Permisos

    • Verificar permisos de usuario
    • Confirmar acceso a tablas
    • Revisar configuración de BD

📌 Notas Importantes

  • La eliminación es permanente
  • El proceso es transaccional por lote
  • Se puede reanudar si se interrumpe
  • Los cambios afectan a relaciones en cascada

🔄 Mantenimiento

Recomendaciones

  1. Ejecutar periódicamente
  2. Mantener respaldos actualizados
  3. Revisar logs regularmente
  4. Ajustar parámetros según necesidad

Mejor Momento para Ejecutar

  • Durante horas de bajo tráfico
  • Después de respaldos programados
  • Cuando el sistema está menos cargado

📚 Referencias

  • Documentación de Django Management Commands
  • Logs del sistema
  • Documentación de la base de datos