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:
- Carga Masiva: Importar cientos de pozos en minutos
- Validación Automática: Verificar integridad y consistencia de datos
- Conversión de Datos: Transformar formatos PDVSA a estándares del ERP
- Creación de Entidades: Generar automáticamente yacimientos, zonas, sectores
- Trazabilidad: Mantener registro completo de importaciones
- 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 PDVSA | Estado ERP | Descripción |
|---|---|---|
| AE | ABANDONED | Abandonado |
| AI | ABANDONED | Abandonado Inyector |
| AP | ABANDONED | Abandonado Productor |
| CA | CLOSED | Cerrado |
| CI | CLOSED | Cerrado Inyector |
| CP | CLOSED | Cerrado Productor |
| PA | ACTIVE | Productor Activo |
| PI | ACTIVE | Inyector Activo |
| TA | TEMPORARILY_DEFERRED | Temporalmente 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
- Vaya a Producción > Importar Pozos
- Verá la interfaz de importación
Paso 3: Seleccionar Archivo
- Haga clic en "Seleccionar Archivo" o arrastre el archivo
- El sistema validará el formato
- 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
- Haga clic en "Importar Pozos"
- El sistema procesará el archivo
- Mostrará barra de progreso
- 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
- Vaya a Producción > Importar Pozos
- Seleccione el archivo CSV
- Active la opción "Modo de Prueba (Dry Run)"
- Configure modo de importación
- 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
- Al finalizar la importación, haga clic en "Descargar Reporte"
- El sistema generará un archivo JSON con todos los detalles
- 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
- Vaya a Producción > Importar Pozos > Historial
- 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