Saltar al contenido principal

Sistema de Importación de Pozos desde CSV

Descripción General

El Sistema de Importación de Pozos permite cargar masivamente datos de pozos petroleros desde archivos CSV de PDVSA/MENPET al sistema ERP. Este sistema automatiza la carga de información de pozos, incluyendo datos técnicos, geológicos, de completación y producción, eliminando la necesidad de registro manual pozo por pozo.

Objetivo del Sistema

El sistema de importación tiene como propósito:

  1. Carga Masiva: Importar cientos de pozos en minutos
  2. Validación Automática: Verificar integridad y consistencia de datos
  3. Conversión de Datos: Transformar formatos PDVSA a estándares del ERP
  4. Creación de Entidades: Generar automáticamente yacimientos, zonas, sectores
  5. Trazabilidad: Mantener registro completo de importaciones
  6. Reportes Detallados: Generar informes de éxitos, errores y warnings

Formatos CSV Soportados

El sistema soporta tres formatos de archivos CSV de PDVSA:

MODELO (Formato Estándar)

  • Qué es: Formato estándar de PDVSA con campos básicos
  • Campos principales: POZO, CAMPO, UWI, ESTADO, TIPO
  • Uso: Importación básica de pozos
  • Ejemplo: Archivo con 30+ columnas de datos básicos

MODELO_2 (Formato Extendido)

  • Qué es: Formato extendido con datos de completación y unidades
  • Campos adicionales: U.E, COMPLETACION, METODO, SUBMETODO
  • Uso: Importación completa con datos operativos
  • Ejemplo: Archivo con 40+ columnas incluyendo datos técnicos

MODELO_3 (Formato Simplificado)

  • Qué es: Formato simplificado con campos esenciales
  • Campos principales: POZO, CAMPO, ARN YAC, ESTADO
  • Uso: Importación rápida de datos básicos
  • Ejemplo: Archivo con 20+ columnas de datos esenciales

Características del Sistema

Detección Automática de Formato

  • El sistema detecta automáticamente el formato del CSV
  • Analiza los encabezados del archivo
  • Selecciona el mapeo de campos apropiado
  • No requiere especificar el formato manualmente

Validación Completa de Datos

El sistema valida:

  • Códigos de pozo: Formato y unicidad
  • Gravedad API: Rango válido (5-60°)
  • Profundidades: Valores positivos y consistentes
  • Coordenadas: Dentro de rangos de Venezuela
  • Fechas: Formato correcto y secuencia lógica
  • Datos de producción: Valores numéricos válidos

Conversión de Coordenadas

  • Convierte coordenadas UTM a Latitud/Longitud
  • Soporta zonas UTM 19N y 20N (Venezuela)
  • Validación de rangos geográficos
  • Cálculo automático de zona UTM

Parsing de Fechas

Soporta múltiples formatos de fecha:

  • Formato español: "9-ene-02", "15-dic-2023"
  • Formato ISO: "2023-01-09", "2023-12-15"
  • Formato slash: "8/10/2023", "15/12/2023"
  • Inferencia de siglo: 00-30 = 2000s, 31-99 = 1900s

Mapeo de Estados PDVSA

El sistema mapea automáticamente estados PDVSA a estados del ERP:

Estado PDVSAEstado ERPDescripción
AEABANDONEDAbandonado
AIABANDONEDAbandonado Inyector
APABANDONEDAbandonado Productor
CACLOSEDCerrado
CICLOSEDCerrado Inyector
CPCLOSEDCerrado Productor
PAACTIVEProductor Activo
PIACTIVEInyector Activo
TATEMPORARILY_DEFERREDTemporalmente Diferido

Creación Automática de Entidades

El sistema crea automáticamente:

  • Campos: Si no existen, se crean con datos del CSV
  • Yacimientos: Generados desde códigos de yacimiento
  • Zonas de Supervisión: Extraídas de códigos de zona
  • Sectores Operacionales: Creados desde códigos de sector
  • Macollas: Generadas desde códigos de cluster

Modos de Importación

CREATE (Solo Crear)

  • Qué hace: Solo crea pozos nuevos
  • Cuándo usar: Primera importación de datos
  • Comportamiento: Ignora pozos que ya existen
  • Resultado: Solo pozos nuevos en la base de datos

UPDATE (Solo Actualizar)

  • Qué hace: Solo actualiza pozos existentes
  • Cuándo usar: Actualización de datos de pozos conocidos
  • Comportamiento: Ignora pozos que no existen
  • Resultado: Pozos existentes actualizados

UPSERT (Crear o Actualizar)

  • Qué hace: Crea nuevos y actualiza existentes
  • Cuándo usar: Importación general (recomendado)
  • Comportamiento: Detecta duplicados por UWI o código
  • Resultado: Base de datos completamente sincronizada

Importar Pozos desde CSV

Paso 1: Preparar el Archivo CSV

Requisitos del Archivo

  • Formato: Archivo .csv
  • Encoding: UTF-8 (recomendado) o Latin1
  • Delimitador: Coma (,) o punto y coma (;)
  • Tamaño máximo: 10 MB
  • Encabezados: Primera fila debe contener nombres de columnas

Verificar Calidad de Datos

Antes de importar, verifique:

  • ✅ Códigos de pozo únicos
  • ✅ Campos existen en el sistema
  • ✅ Coordenadas en formato correcto
  • ✅ Fechas en formato válido
  • ✅ Valores numéricos sin caracteres especiales
  • ✅ Sin filas vacías o duplicadas

Paso 2: Acceder a la Interfaz de Importación

  1. Vaya a Producción > Importar Pozos
  2. Verá la interfaz de importación

Paso 3: Seleccionar Archivo

  1. Haga clic en "Seleccionar Archivo" o arrastre el archivo
  2. El sistema validará el formato
  3. Mostrará información del archivo:
    • Nombre del archivo
    • Tamaño
    • Número de filas detectadas
    • Formato detectado

Paso 4: Configurar Opciones de Importación

Modo de Importación (Requerido)

  • CREATE: Solo crear pozos nuevos
  • UPDATE: Solo actualizar existentes
  • UPSERT: Crear o actualizar (recomendado)

Tamaño de Lote (Opcional)

  • Qué es: Cantidad de pozos procesados por lote
  • Valor por defecto: 50
  • Rango: 10-100
  • Recomendación: Use 50 para balance entre velocidad y memoria

Modo de Prueba (Dry Run) (Opcional)

  • Qué es: Valida sin importar datos
  • Cuándo usar: Primera vez con un archivo nuevo
  • Resultado: Reporte de validación sin cambios en BD
  • Recomendación: Active para archivos grandes o nuevos

Paso 5: Iniciar Importación

  1. Haga clic en "Importar Pozos"
  2. El sistema procesará el archivo
  3. Mostrará barra de progreso
  4. Al finalizar, mostrará resumen de resultados

Paso 6: Revisar Resultados

El sistema mostrará:

Estadísticas Generales

  • Total de registros: Filas procesadas
  • Creados: Pozos nuevos agregados
  • Actualizados: Pozos existentes modificados
  • Omitidos: Registros no procesados
  • Errores: Registros con errores críticos
  • Warnings: Registros con advertencias

Lista de Errores

  • Fila del CSV con error
  • Código del pozo
  • Descripción del error
  • Acción recomendada

Lista de Warnings

  • Fila del CSV con warning
  • Código del pozo
  • Descripción del warning
  • Datos afectados

Resumen de Entidades Creadas

  • Campos nuevos
  • Yacimientos nuevos
  • Zonas nuevas
  • Sectores nuevos
  • Macollas nuevas

Validar CSV sin Importar

Usar Modo Dry Run

  1. Vaya a Producción > Importar Pozos
  2. Seleccione el archivo CSV
  3. Active la opción "Modo de Prueba (Dry Run)"
  4. Configure modo de importación
  5. Haga clic en "Validar"

Resultado de Validación

El sistema generará un reporte completo con:

  • Validación de estructura del archivo
  • Detección de formato
  • Validación de cada registro
  • Lista de errores y warnings
  • Estadísticas de validación
  • Sin cambios en la base de datos

Beneficios del Dry Run

  • ✅ Identificar problemas antes de importar
  • ✅ Verificar calidad de datos
  • ✅ Estimar tiempo de importación
  • ✅ Revisar entidades que se crearán
  • ✅ Ajustar datos en CSV si es necesario

Ejemplos de Importación

Ejemplo 1: Primera Importación de Pozos

Archivo: pozos_campo_morichal.csv
Formato detectado: MODELO
Registros: 25 pozos
Modo: CREATE
Dry Run: No

Resultado:
✅ Total procesados: 25
✅ Creados: 25
✅ Actualizados: 0
✅ Errores: 0
✅ Warnings: 3

Warnings:
- Pozo MOR-012: API gravity fuera de rango típico (5.2°)
- Pozo MOR-018: Coordenadas UTM no proporcionadas
- Pozo MOR-023: Fecha de completación no especificada

Entidades creadas:
- Campos: 1 (Campo Morichal)
- Yacimientos: 3 (Oficina U1S2, Oficina U2S1, Merecure)
- Zonas: 1 (NORTE-GUARA)
- Sectores: 2 (GUARA NORTE, GUARA CENTRAL)
- Macollas: 0

Tiempo de procesamiento: 12 segundos

Ejemplo 2: Actualización de Datos Existentes

Archivo: actualizacion_produccion.csv
Formato detectado: MODELO_2
Registros: 50 pozos
Modo: UPDATE
Dry Run: No

Resultado:
✅ Total procesados: 50
✅ Creados: 0
✅ Actualizados: 47
✅ Omitidos: 3
✅ Errores: 0
✅ Warnings: 5

Omitidos:
- Pozo NEW-001: No existe en BD (modo UPDATE)
- Pozo NEW-002: No existe en BD (modo UPDATE)
- Pozo NEW-003: No existe en BD (modo UPDATE)

Warnings:
- Pozo MOR-005: Cambio significativo en producción (+150%)
- Pozo MOR-012: Estado cambió de ACTIVE a CLOSED
- Pozo MOR-018: Profundidad actualizada (diferencia >100 ft)
- Pozo MOR-025: Nuevo método de levantamiento (ESP)
- Pozo MOR-030: Coordenadas actualizadas

Tiempo de procesamiento: 18 segundos

Ejemplo 3: Importación con Errores

Archivo: pozos_con_errores.csv
Formato detectado: MODELO
Registros: 30 pozos
Modo: UPSERT
Dry Run: No

Resultado:
⚠️ Total procesados: 30
✅ Creados: 20
✅ Actualizados: 5
❌ Errores: 5
⚠️ Warnings: 8

Errores:
- Fila 5 (Pozo XYZ-001): Código de pozo requerido
- Fila 12 (Pozo ABC-): Código de campo requerido
- Fila 18 (Pozo DEF-003): Gravedad API inválida (150°)
- Fila 23 (Pozo GHI-007): Coordenadas fuera de rango
- Fila 28 (Pozo JKL-009): Fecha de perforación inválida

Warnings:
- Pozo MOR-001: Campo no encontrado, creado automáticamente
- Pozo MOR-005: Yacimiento no encontrado, creado automáticamente
- Pozo MOR-008: Zona no encontrada, creada automáticamente
- Pozo MOR-012: Sector no encontrado, creado automáticamente
- Pozo MOR-015: API gravity fuera de rango típico (4.8°)
- Pozo MOR-020: Profundidad muy alta (>15,000 ft)
- Pozo MOR-022: Producción muy alta (>5,000 BOPD)
- Pozo MOR-025: Coordenadas UTM no proporcionadas

Tiempo de procesamiento: 15 segundos

Campos Importados del CSV

Identificación

  • POZO: Código del pozo (requerido)
  • UWI: Unique Well Identifier
  • UBICACION RETICULA: Grid location
  • N° DE HUECO: Well number

Clasificación

  • CAMPO: Campo petrolero (requerido)
  • ARN YAC: Código de yacimiento
  • MACOLLA: Código de cluster
  • ZONA: Zona de supervisión
  • SECTOR: Sector operacional

Estado y Tipo

  • ESTADO PDVSA: Estado PDVSA
  • ESTADO MENPET: Estado MENPET
  • TIPO: Tipo de pozo (Productor/Inyector)
  • CLASIFICACION: Oil/Gas/Water

Completación

  • N° COMPLETACION: Número de completaciones
  • ULTIMA COMPLETACION: Última completación
  • FECHA ULT COMP: Fecha última completación

Geometría

  • GEOMETRIA: Tipo de geometría (OV, OD, OH, OI)
  • DIRECCION HUECO: Dirección del hueco

Método de Levantamiento

  • METODO: Método principal (G, E, R, N, etc.)
  • SUBMETODO: Submétodo específico

Códigos Operacionales

  • ESTADO DE FLUJO: Código estado de flujo
  • SEPARADOR: Código de separador
  • PUNTO FISCAL: Código punto fiscal

Tipo de Crudo

  • TIPO CRUDO: L, M, P, E (Ligero, Medio, Pesado, Extra pesado)

Coordenadas

  • ESTE: Coordenada UTM Este
  • NORTE: Coordenada UTM Norte
  • ZONA UTM: 19N o 20N

Elevación

  • ELEV MESA: Elevación de mesa (ft)

Fechas

  • FECHA PERFORACION: Fecha de perforación
  • FECHA COMPLETACION: Fecha de completación
  • FECHA 1RA PRODUCCION: Primera producción

Producción

  • BBPD: Barriles de petróleo por día
  • BNPD: Barriles netos por día
  • AYS: Agua y sedimentos

Datos Técnicos

  • PROFUNDIDAD: Profundidad total (ft)
  • API GRAVITY: Gravedad API del crudo

Errores Comunes y Soluciones

Error: "Código de pozo requerido"

  • Causa: Columna POZO vacía
  • Solución: Asegúrese de que todos los pozos tengan código

Error: "Código de campo requerido"

  • Causa: Columna CAMPO vacía
  • Solución: Todos los pozos deben tener campo asignado

Error: "Gravedad API inválida"

  • Causa: Valor fuera del rango 5-60°
  • Solución: Verifique y corrija valores de API gravity

Error: "Coordenadas fuera de rango"

  • Causa: Coordenadas no están en Venezuela
  • Solución: Verifique coordenadas UTM o Lat/Lng

Error: "Fecha inválida"

  • Causa: Formato de fecha no reconocido
  • Solución: Use formatos: DD-MMM-YY, YYYY-MM-DD, o DD/MM/YYYY

Warning: "Campo no encontrado, creado automáticamente"

  • Causa: Campo no existe en BD
  • Solución: Normal, el sistema crea el campo automáticamente

Warning: "API gravity fuera de rango típico"

  • Causa: Valor muy bajo (<10°) o muy alto (>50°)
  • Solución: Verifique si el valor es correcto, puede ser crudo extra pesado o condensado

Mejores Prácticas

Antes de Importar

  • ✅ Haga backup de la base de datos
  • ✅ Use modo Dry Run primero
  • ✅ Verifique calidad de datos en Excel
  • ✅ Elimine filas vacías o duplicadas
  • ✅ Valide formato de fechas
  • ✅ Verifique encoding del archivo (UTF-8)

Durante la Importación

  • ✅ Use modo UPSERT para sincronización completa
  • ✅ Procese archivos grandes en lotes
  • ✅ Revise warnings para datos sospechosos
  • ✅ No cierre la ventana durante el proceso
  • ✅ Espere confirmación de finalización

Después de Importar

  • ✅ Revise el reporte de importación
  • ✅ Verifique pozos creados en la lista
  • ✅ Corrija errores reportados
  • ✅ Valide datos críticos manualmente
  • ✅ Guarde el reporte para auditoría
  • ✅ Documente la importación

Reportes de Importación

Descargar Reporte

  1. Al finalizar la importación, haga clic en "Descargar Reporte"
  2. El sistema generará un archivo JSON con todos los detalles
  3. Guarde el archivo para referencia futura

Contenido del Reporte

El reporte incluye:

  • Fecha y hora de importación
  • Usuario que ejecutó la importación
  • Nombre del archivo CSV
  • Modo de importación usado
  • Estadísticas completas
  • Lista detallada de errores
  • Lista detallada de warnings
  • Entidades creadas
  • Tiempo de procesamiento
  • Configuración usada

Historial de Importaciones

Ver Historial

  1. Vaya a Producción > Importar Pozos > Historial
  2. Verá lista de todas las importaciones realizadas

Información del Historial

  • Fecha y hora
  • Usuario
  • Archivo importado
  • Modo usado
  • Resultados (creados/actualizados/errores)
  • Estado (Completado/Fallido)
  • Acción: Descargar reporte

Integración con Otros Módulos

Campos

  • Campos se crean automáticamente si no existen
  • Se vinculan pozos con campos

Yacimientos

  • Yacimientos se generan desde códigos
  • Se asocian pozos con yacimientos

Zonas y Sectores

  • Zonas y sectores se crean automáticamente
  • Organización jerárquica completa

Macollas

  • Macollas se crean desde códigos de cluster
  • Se asignan pozos a macollas

Preguntas Frecuentes

¿Puedo importar el mismo archivo varias veces?

Sí, use modo UPSERT. El sistema actualizará pozos existentes y creará nuevos.

¿Qué pasa si hay errores en el CSV?

Los registros con errores se omiten. Los demás se importan correctamente.

¿Puedo cancelar una importación en proceso?

No es recomendable. Si lo hace, algunos pozos pueden quedar a medio importar.

¿El sistema detecta pozos duplicados?

Sí, usa UWI o código de pozo para detectar duplicados.

¿Puedo importar solo algunos campos?

Sí, el sistema usa los campos disponibles en el CSV. Campos faltantes quedan vacíos.

¿Qué hago si el formato no es detectado?

Verifique que los encabezados coincidan con alguno de los formatos soportados.

¿Puedo modificar el mapeo de campos?

Actualmente no desde la interfaz. Contacte al administrador del sistema.

¿Cuánto tiempo toma importar 1000 pozos?

Aproximadamente 2-5 minutos, dependiendo de la complejidad de los datos.

Consejos Útiles

Para Archivos Grandes

  • ✅ Divida en archivos más pequeños (<500 pozos)
  • ✅ Importe en horarios de baja actividad
  • ✅ Use tamaño de lote de 50
  • ✅ Verifique espacio en disco

Para Datos de Calidad

  • ✅ Limpie datos en Excel antes de importar
  • ✅ Estandarice formatos de fecha
  • ✅ Verifique códigos de pozo únicos
  • ✅ Valide coordenadas geográficas

Para Auditoría

  • ✅ Guarde todos los reportes de importación
  • ✅ Documente cambios significativos
  • ✅ Mantenga archivos CSV originales
  • ✅ Registre fecha y responsable de importación