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