Archivo:
etl_20251202_120002.log
Modificado:
02/12/2025 12:00:11
Tamaño:
6.4 KB
Líneas:
57 líneas
2025-12-02 12:00:02,261 [INFO] Iniciando proceso ETL...
2025-12-02 12:00:02,261 [INFO] === INICIO ETL ===
2025-12-02 12:00:02,261 [INFO] Paso 1: Extracción de datos
2025-12-02 12:00:02,262 [INFO] Iniciando extracción de cabeceras
2025-12-02 12:00:02,262 [INFO] Extrayendo órdenes desde linux_ordenes...
2025-12-02 12:00:02,262 [INFO] Intentando conectar a SQL Server...
2025-12-02 12:00:03,245 [INFO] Conexión SQL Server exitosa
2025-12-02 12:00:03,245 [INFO] Ejecutando consulta (últimos 30 días desde 2025-11-02): SELECT numero, cliente, vendedor, fecha_entrega, dias_restantes, estatus FROM dbo.linux_ordenes WHERE fecha_entrega >= ?
2025-12-02 12:00:04,944 [INFO] Extraídas 135 órdenes
2025-12-02 12:00:04,945 [INFO] [DEBUG] Columnas ordenes: ['numero', 'cliente', 'vendedor', 'fecha_entrega', 'dias_restantes', 'estatus']
2025-12-02 12:00:04,945 [INFO] [DEBUG] dtypes ordenes: {'numero': dtype('O'), 'cliente': dtype('O'), 'vendedor': dtype('O'), 'fecha_entrega': dtype('O'), 'dias_restantes': dtype('int64'), 'estatus': dtype('O')}
2025-12-02 12:00:04,952 [INFO] [DEBUG] Nulos en fecha_entrega (ordenes) tras limpiar: 0
2025-12-02 12:00:05,048 [INFO] Iniciando extracción de líneas
2025-12-02 12:00:05,048 [INFO] Extrayendo pedidos desde linux_pedidos...
2025-12-02 12:00:05,049 [INFO] Intentando conectar a SQL Server...
2025-12-02 12:00:05,652 [INFO] Conexión SQL Server exitosa
2025-12-02 12:00:05,652 [INFO] Ejecutando consulta (últimos 30 días desde 2025-11-02): SELECT id, orden_id, clave, producto, unidad, cantidad, surtido, liq, saldo, fecha_entrega FROM dbo.linux_pedidos WHERE fecha_entrega >= ?
2025-12-02 12:00:09,128 [INFO] Extraídos 293 pedidos
2025-12-02 12:00:09,129 [INFO] [DEBUG] Columnas pedidos: ['id', 'orden_id', 'clave', 'producto', 'unidad', 'cantidad', 'surtido', 'liq', 'saldo', 'fecha_entrega']
2025-12-02 12:00:09,129 [INFO] [DEBUG] dtypes pedidos: {'id': dtype('O'), 'orden_id': dtype('float64'), 'clave': dtype('O'), 'producto': dtype('O'), 'unidad': dtype('O'), 'cantidad': dtype('int64'), 'surtido': dtype('int64'), 'liq': dtype('int64'), 'saldo': dtype('int64'), 'fecha_entrega': dtype('O')}
2025-12-02 12:00:09,136 [INFO] [DEBUG] Nulos en fecha_entrega (pedidos) tras limpiar: 0
2025-12-02 12:00:09,233 [INFO] Extraídas 293 líneas
2025-12-02 12:00:09,233 [INFO] Extracción completada en 6.97s
2025-12-02 12:00:09,233 [INFO] Paso 2: Transformación de datos
2025-12-02 12:00:09,233 [INFO] Transformando datos de cabeceras
2025-12-02 12:00:09,234 [INFO] [DEBUG] Nulos por columna (cabeceras): {'numero': 0, 'cliente': 0, 'vendedor': 0, 'fecha_entrega': 0, 'dias_restantes': 0, 'estatus': 0}
2025-12-02 12:00:09,241 [INFO] Transformadas 135 cabeceras
2025-12-02 12:00:09,242 [INFO] [DEBUG] Ejemplo cabeceras transformadas (3): [{'id': '7552', 'numero': '7552', 'cliente': 'VENTA AL PUBLICO ( MERCADO LIBRE )', 'vendedor': 'TIENDA EN LINEA', 'fecha_entrega': '2025-11-03', 'estatus': 'completado', 'dias_restantes': -29, 'prioridad': 'URGENTE'}, {'id': '7585', 'numero': '7585', 'cliente': 'HUSSMANN CORPORATION', 'vendedor': 'LF', 'fecha_entrega': '2025-11-21', 'estatus': 'completado', 'dias_restantes': -11, 'prioridad': 'URGENTE'}, {'id': '7568', 'numero': '7568', 'cliente': 'POLOMEX', 'vendedor': 'ANTONIO GARZA', 'fecha_entrega': '2025-11-21', 'estatus': 'completado', 'dias_restantes': -11, 'prioridad': 'URGENTE'}]
2025-12-02 12:00:09,242 [INFO] Transformando datos de líneas
2025-12-02 12:00:09,243 [INFO] [DEBUG] Nulos por columna (lineas): {'id': 0, 'orden_id': 0, 'clave': 0, 'producto': 0, 'unidad': 0, 'cantidad': 0, 'surtido': 0, 'liq': 0, 'saldo': 0, 'fecha_entrega': 0}
2025-12-02 12:00:09,254 [INFO] Transformadas 293 líneas
2025-12-02 12:00:09,255 [INFO] [DEBUG] Ejemplo líneas transformadas (3): [{'id': '6328_8936', 'ID_UNICO': '6328_8936', 'orden_id': '6328.0', 'clave': '3180360', 'producto': 'TH318 SELLADOR PARABRISAS NEGRO 600 ML', 'unidad': 'PIEZA', 'cantidad': 100, 'surtido': 100, 'liq': 100, 'saldo': 0, 'fecha_entrega': '2025-12-31', 'dias_restantes': 29, 'entregado': 1, 'estatus': 'completado', 'fecha_completado': None, 'F_Alta': None, 'remision_producto': None}, {'id': '6373_8992', 'ID_UNICO': '6373_8992', 'orden_id': '6373.0', 'clave': '361602', 'producto': 'SELF SEALER 616, WHITE 2 LT', 'unidad': 'LITRO', 'cantidad': 1762, 'surtido': 0, 'liq': 1762, 'saldo': 1762, 'fecha_entrega': '2025-12-31', 'dias_restantes': 29, 'entregado': 0, 'estatus': 'pendiente', 'fecha_completado': None, 'F_Alta': None, 'remision_producto': None}, {'id': '6931_9858', 'ID_UNICO': '6931_9858', 'orden_id': '6931.0', 'clave': '1100019', 'producto': 'TAPE AVERY ADHESIVE TRANSFER 1 1/2', 'unidad': 'PIEZA', 'cantidad': 25, 'surtido': 25, 'liq': 25, 'saldo': 0, 'fecha_entrega': '2026-02-13', 'dias_restantes': 73, 'entregado': 1, 'estatus': 'completado', 'fecha_completado': None, 'F_Alta': None, 'remision_producto': None}]
2025-12-02 12:00:09,255 [INFO] Transformación completada en 0.02s
2025-12-02 12:00:09,255 [INFO] Paso 3: Carga de datos
2025-12-02 12:00:09,321 [ERROR] Fallo en carga: name 'ver_completar_pedido_movil' is not defined
2025-12-02 12:00:10,439 [INFO] Notificación enviada correctamente
2025-12-02 12:00:10,440 [ERROR] === ERROR GENERAL EN PROCESO ETL ===
2025-12-02 12:00:10,440 [ERROR] name 'ver_completar_pedido_movil' is not defined
Traceback (most recent call last):
File "/var/www/otd-app/etl.py", line 824, in <module>
run_etl()
File "/var/www/otd-app/etl.py", line 773, in run_etl
from utilidades.etl_simple_merge import load_ordenes_with_merge, load_pedidos_with_merge
File "/var/www/otd-app/utilidades/etl_simple_merge.py", line 8, in <module>
from app import app
File "/var/www/otd-app/app.py", line 19, in <module>
from rutas.principal_nuevo import register_blueprints
File "/var/www/otd-app/rutas/principal_nuevo.py", line 9, in <module>
from rutas.blueprints import index, completados, kpis_otd, kpis_manual, pedidos, api, problemas
File "/var/www/otd-app/rutas/blueprints.py", line 30, in <module>
register_pedidos_routes(pedidos)
File "/var/www/otd-app/rutas/pedidos.py", line 125, in register_routes
blueprint.add_url_rule('/pedido/<string:pedido_id>/completar', view_func=ver_completar_pedido_movil, methods=['GET'])
^^^^^^^^^^^^^^^^^^^^^^^^^^
NameError: name 'ver_completar_pedido_movil' is not defined
2025-12-02 12:00:11,737 [INFO] Notificación enviada correctamente
Tip: Usa Ctrl+F para buscar texto específico en el log