Mon Nov 17 12:46:20 -05 2025 🚀 INICIANDO PROCESO DE SINCRONIZACIÓN MULTI-CUENTA CON API SIMPLIROUTE 📅 Fecha de consulta: 2025-11-17 🏢 Cuentas configuradas: 10 - qolqas - btl - ct_trujillo - ct_chimbote - ct_ica - ct_chiclayo - ct_piura - ct_arequipa - ct_huancayo - ct_cusco ============================================================ 🏢 PROCESANDO CUENTA: QOLQAS Account ID: 78719 Tabla destino: DataWarehouseGCP.simpliroute.visitas_qolqas ============================================================ Obteniendo datos de vehículos... ✅ 2873 vehículos obtenidos Realizando solicitud a la API de visitas... Datos de visitas obtenidos exitosamente de la API 📄 Respuesta JSON contiene 2494 registros ❌ ID ejemplo 651339739 NO encontrado en la respuesta JSON 🔍 DEBUG - DATOS INICIALES DE LA API Registros: 2494 Columnas: 56 Ejemplo de IDs: [731020088, 731020089, 731020090] IDs únicos: 2494/2494 Columnas disponibles: ['id', 'order', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... Columna 'order' renombrada a 'orden' Columna 'extra_field_values' renombrada a 'llegada' 🔍 DEBUG - DESPUÉS DE RENOMBRAR COLUMNAS Registros: 2494 Columnas: 56 Ejemplo de IDs: [731020088, 731020089, 731020090] IDs únicos: 2494/2494 Columnas disponibles: ['id', 'orden', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... 🔄 Cruzando datos de visitas con vehículos... 🔍 DEBUG - ANTES DEL MERGE CON VEHÍCULOS Registros: 2494 Columnas: 56 Ejemplo de IDs: [731020088, 731020089, 731020090] IDs únicos: 2494/2494 Columnas disponibles: ['id', 'orden', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... 🔍 DEBUG - DESPUÉS DEL MERGE CON VEHÍCULOS Registros: 2494 Columnas: 57 Ejemplo de IDs: [731020088, 731020089, 731020090] IDs únicos: 2494/2494 Columnas disponibles: ['id', 'orden', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... 📊 Resultado del cruce: - Visitas con vehículo asignado: 2494 - Visitas sin vehículo asignado: 0 ➕ 7 columnas faltantes añadidas con valores nulos 🔍 DEBUG - DESPUÉS DE AÑADIR COLUMNAS FALTANTES Registros: 2494 Columnas: 64 Ejemplo de IDs: [731020088, 731020089, 731020090] IDs únicos: 2494/2494 Columnas disponibles: ['id', 'orden', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... 🔄 Convirtiendo tipos de datos... 🕒 Metadatos añadidos (FECHA_CARGA y cuenta) 🔍 DEBUG - ANTES DE VERIFICAR IDs Registros: 2494 Columnas: 64 Ejemplo de IDs: ['731020088', '731020089', '731020090'] IDs únicos: 2494/2494 Columnas disponibles: ['id', 'orden', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... ❌ ID ejemplo 651339739 NO encontrado en el DataFrame procesado Muestra de IDs en DataFrame: ['731020088', '731020089', '731020090', '731020091', '731020092', '731020093', '731020094', '731020095', '731020096', '731020097'] 🏪 Columna 'negocio' creada a partir de 'title' 🔍 DEBUG - DATOS FINALES PARA CARGAR Registros: 2494 Columnas: 62 Ejemplo de IDs: ['731020088', '731020089', '731020090'] IDs únicos: 2494/2494 Columnas disponibles: ['id', 'orden', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... 💾 Iniciando carga a base de datos... Intentando conectar a la base de datos... Conexión establecida correctamente 🔍 DEBUG - ANTES DE CARGAR A SQL SERVER Registros: 2494 Columnas: 62 Ejemplo de IDs: ['731020088', '731020089', '731020090'] IDs únicos: 2494/2494 Columnas disponibles: ['id', 'orden', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... Verificando existencia de tabla: DataWarehouseGCP.simpliroute.visitas_qolqas La tabla [DataWarehouseGCP].[simpliroute].[visitas_qolqas] ya existe. Verificando estructura... Verificación de tabla [DataWarehouseGCP].[simpliroute].[visitas_qolqas] completada. Eliminando registros existentes... IDs válidos para eliminar: 2494 Eliminados 1000/2494 registros... Eliminados 2000/2494 registros... Eliminados 2488/2494 registros... Total eliminados: 2488 registros existentes Insertando registros nuevos... 🔍 DEBUG - DATOS A INSERTAR Registros: 2494 Columnas: 62 Ejemplo de IDs: ['731020088', '731020089', '731020090'] IDs únicos: 2494/2494 Columnas disponibles: ['id', 'orden', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... Query de inserción: INSERT INTO DataWarehouseGCP.simpliroute.visitas_qolqas ([id], [orden], [tracking_id], [status], [title], [address], [latitude], [longitude], [load], [load_2], [load_3], [window_start], [window_end], [window_start_2], [window_end_2], [duration], [contact_name], [contact_phone], [contact_email], [reference], [notes], [skills_required], [skills_optional], [tags], [planned_date], [programmed_date], [route], [route_estimated_time_start], [estimated_time_arrival], [estimated_time_departure], [checkin_time], [checkout_time], [checkout_latitude], [checkout_longitude], [checkout_comment], [checkout_observation], [signature], [pictures], [created], [modified], [eta_predicted], [eta_current], [driver], [vehicle], [vehicle_name], [priority], [has_alert], [priority_level], [llegada], [geocode_alert], [visit_type], [current_eta], [fleet], [on_its_way], [seller], [items], [inicio_carga], [salida], [descarga], [negocio], [FECHA_CARGA], [cuenta]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) Filas procesadas: 2494 Insertados 1000/2494 registros... Insertados 2000/2494 registros... Insertados 2494/2494 registros... ✅ Proceso completado exitosamente en 3.69 segundos 📊 2494 registros insertados en DataWarehouseGCP.simpliroute.visitas_qolqas Conexión cerrada correctamente ✅ CUENTA QOLQAS COMPLETADA Tiempo: 25.77 segundos Registros: 2494 ============================================================ 🏢 PROCESANDO CUENTA: BTL Account ID: 81525 Tabla destino: DataWarehouseGCP.simpliroute.visitas_qolqas ============================================================ Obteniendo datos de vehículos... ✅ 985 vehículos obtenidos Realizando solicitud a la API de visitas... Datos de visitas obtenidos exitosamente de la API 📄 Respuesta JSON contiene 744 registros ❌ ID ejemplo 651339739 NO encontrado en la respuesta JSON 🔍 DEBUG - DATOS INICIALES DE LA API Registros: 744 Columnas: 56 Ejemplo de IDs: [730940221, 730940222, 730940223] IDs únicos: 744/744 Columnas disponibles: ['id', 'order', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... Columna 'order' renombrada a 'orden' Columna 'extra_field_values' renombrada a 'llegada' 🔍 DEBUG - DESPUÉS DE RENOMBRAR COLUMNAS Registros: 744 Columnas: 56 Ejemplo de IDs: [730940221, 730940222, 730940223] IDs únicos: 744/744 Columnas disponibles: ['id', 'orden', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... 🔄 Cruzando datos de visitas con vehículos... 🔍 DEBUG - ANTES DEL MERGE CON VEHÍCULOS Registros: 744 Columnas: 56 Ejemplo de IDs: [730940221, 730940222, 730940223] IDs únicos: 744/744 Columnas disponibles: ['id', 'orden', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... 🔍 DEBUG - DESPUÉS DEL MERGE CON VEHÍCULOS Registros: 744 Columnas: 57 Ejemplo de IDs: [730940221, 730940222, 730940223] IDs únicos: 744/744 Columnas disponibles: ['id', 'orden', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... 📊 Resultado del cruce: - Visitas con vehículo asignado: 743 - Visitas sin vehículo asignado: 1 ➕ 7 columnas faltantes añadidas con valores nulos 🔍 DEBUG - DESPUÉS DE AÑADIR COLUMNAS FALTANTES Registros: 744 Columnas: 64 Ejemplo de IDs: [730940221, 730940222, 730940223] IDs únicos: 744/744 Columnas disponibles: ['id', 'orden', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... 🔄 Convirtiendo tipos de datos... 🕒 Metadatos añadidos (FECHA_CARGA y cuenta) 🔍 DEBUG - ANTES DE VERIFICAR IDs Registros: 744 Columnas: 64 Ejemplo de IDs: ['730940221', '730940222', '730940223'] IDs únicos: 744/744 Columnas disponibles: ['id', 'orden', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... ❌ ID ejemplo 651339739 NO encontrado en el DataFrame procesado Muestra de IDs en DataFrame: ['730940221', '730940222', '730940223', '730940224', '730940225', '730940226', '730940227', '730940228', '730940229', '730940230'] 🏪 Columna 'negocio' creada a partir de 'title' 🔍 DEBUG - DATOS FINALES PARA CARGAR Registros: 744 Columnas: 62 Ejemplo de IDs: ['730940221', '730940222', '730940223'] IDs únicos: 744/744 Columnas disponibles: ['id', 'orden', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... 💾 Iniciando carga a base de datos... Intentando conectar a la base de datos... Conexión establecida correctamente 🔍 DEBUG - ANTES DE CARGAR A SQL SERVER Registros: 744 Columnas: 62 Ejemplo de IDs: ['730940221', '730940222', '730940223'] IDs únicos: 744/744 Columnas disponibles: ['id', 'orden', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... Verificando existencia de tabla: DataWarehouseGCP.simpliroute.visitas_qolqas La tabla [DataWarehouseGCP].[simpliroute].[visitas_qolqas] ya existe. Verificando estructura... Verificación de tabla [DataWarehouseGCP].[simpliroute].[visitas_qolqas] completada. Eliminando registros existentes... IDs válidos para eliminar: 744 Eliminados 744/744 registros... Total eliminados: 744 registros existentes Insertando registros nuevos... 🔍 DEBUG - DATOS A INSERTAR Registros: 744 Columnas: 62 Ejemplo de IDs: ['730940221', '730940222', '730940223'] IDs únicos: 744/744 Columnas disponibles: ['id', 'orden', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... Query de inserción: INSERT INTO DataWarehouseGCP.simpliroute.visitas_qolqas ([id], [orden], [tracking_id], [status], [title], [address], [latitude], [longitude], [load], [load_2], [load_3], [window_start], [window_end], [window_start_2], [window_end_2], [duration], [contact_name], [contact_phone], [contact_email], [reference], [notes], [skills_required], [skills_optional], [tags], [planned_date], [programmed_date], [route], [route_estimated_time_start], [estimated_time_arrival], [estimated_time_departure], [checkin_time], [checkout_time], [checkout_latitude], [checkout_longitude], [checkout_comment], [checkout_observation], [signature], [pictures], [created], [modified], [eta_predicted], [eta_current], [driver], [vehicle], [vehicle_name], [priority], [has_alert], [priority_level], [llegada], [geocode_alert], [visit_type], [current_eta], [fleet], [on_its_way], [seller], [items], [inicio_carga], [salida], [descarga], [negocio], [FECHA_CARGA], [cuenta]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) Filas procesadas: 744 Insertados 744/744 registros... ✅ Proceso completado exitosamente en 1.14 segundos 📊 744 registros insertados en DataWarehouseGCP.simpliroute.visitas_qolqas Conexión cerrada correctamente ✅ CUENTA BTL COMPLETADA Tiempo: 10.05 segundos Registros: 744 ============================================================ 🏢 PROCESANDO CUENTA: CT_TRUJILLO Account ID: 85353 Tabla destino: DataWarehouseGCP.simpliroute.visitas_qolqas ============================================================ Obteniendo datos de vehículos... ✅ 195 vehículos obtenidos Realizando solicitud a la API de visitas... Datos de visitas obtenidos exitosamente de la API 📄 Respuesta JSON contiene 392 registros ❌ ID ejemplo 651339739 NO encontrado en la respuesta JSON 🔍 DEBUG - DATOS INICIALES DE LA API Registros: 392 Columnas: 56 Ejemplo de IDs: [731093492, 731093493, 731093494] IDs únicos: 392/392 Columnas disponibles: ['id', 'order', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... Columna 'order' renombrada a 'orden' Columna 'extra_field_values' renombrada a 'llegada' 🔍 DEBUG - DESPUÉS DE RENOMBRAR COLUMNAS Registros: 392 Columnas: 56 Ejemplo de IDs: [731093492, 731093493, 731093494] IDs únicos: 392/392 Columnas disponibles: ['id', 'orden', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... 🔄 Cruzando datos de visitas con vehículos... 🔍 DEBUG - ANTES DEL MERGE CON VEHÍCULOS Registros: 392 Columnas: 56 Ejemplo de IDs: [731093492, 731093493, 731093494] IDs únicos: 392/392 Columnas disponibles: ['id', 'orden', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... 🔍 DEBUG - DESPUÉS DEL MERGE CON VEHÍCULOS Registros: 392 Columnas: 57 Ejemplo de IDs: [731093492, 731093493, 731093494] IDs únicos: 392/392 Columnas disponibles: ['id', 'orden', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... 📊 Resultado del cruce: - Visitas con vehículo asignado: 392 - Visitas sin vehículo asignado: 0 ➕ 7 columnas faltantes añadidas con valores nulos 🔍 DEBUG - DESPUÉS DE AÑADIR COLUMNAS FALTANTES Registros: 392 Columnas: 64 Ejemplo de IDs: [731093492, 731093493, 731093494] IDs únicos: 392/392 Columnas disponibles: ['id', 'orden', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... 🔄 Convirtiendo tipos de datos... 🕒 Metadatos añadidos (FECHA_CARGA y cuenta) 🔍 DEBUG - ANTES DE VERIFICAR IDs Registros: 392 Columnas: 64 Ejemplo de IDs: ['731093492', '731093493', '731093494'] IDs únicos: 392/392 Columnas disponibles: ['id', 'orden', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... ❌ ID ejemplo 651339739 NO encontrado en el DataFrame procesado Muestra de IDs en DataFrame: ['731093492', '731093493', '731093494', '731093495', '731093496', '731093497', '731093498', '731093499', '731093500', '731095071'] 🏪 Columna 'negocio' creada a partir de 'title' 🔍 DEBUG - DATOS FINALES PARA CARGAR Registros: 392 Columnas: 62 Ejemplo de IDs: ['731093492', '731093493', '731093494'] IDs únicos: 392/392 Columnas disponibles: ['id', 'orden', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... 💾 Iniciando carga a base de datos... Intentando conectar a la base de datos... Conexión establecida correctamente 🔍 DEBUG - ANTES DE CARGAR A SQL SERVER Registros: 392 Columnas: 62 Ejemplo de IDs: ['731093492', '731093493', '731093494'] IDs únicos: 392/392 Columnas disponibles: ['id', 'orden', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... Verificando existencia de tabla: DataWarehouseGCP.simpliroute.visitas_qolqas La tabla [DataWarehouseGCP].[simpliroute].[visitas_qolqas] ya existe. Verificando estructura... Verificación de tabla [DataWarehouseGCP].[simpliroute].[visitas_qolqas] completada. Eliminando registros existentes... IDs válidos para eliminar: 392 Eliminados 285/392 registros... Total eliminados: 285 registros existentes Insertando registros nuevos... 🔍 DEBUG - DATOS A INSERTAR Registros: 392 Columnas: 62 Ejemplo de IDs: ['731093492', '731093493', '731093494'] IDs únicos: 392/392 Columnas disponibles: ['id', 'orden', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... Query de inserción: INSERT INTO DataWarehouseGCP.simpliroute.visitas_qolqas ([id], [orden], [tracking_id], [status], [title], [address], [latitude], [longitude], [load], [load_2], [load_3], [window_start], [window_end], [window_start_2], [window_end_2], [duration], [contact_name], [contact_phone], [contact_email], [reference], [notes], [skills_required], [skills_optional], [tags], [planned_date], [programmed_date], [route], [route_estimated_time_start], [estimated_time_arrival], [estimated_time_departure], [checkin_time], [checkout_time], [checkout_latitude], [checkout_longitude], [checkout_comment], [checkout_observation], [signature], [pictures], [created], [modified], [eta_predicted], [eta_current], [driver], [vehicle], [vehicle_name], [priority], [has_alert], [priority_level], [llegada], [geocode_alert], [visit_type], [current_eta], [fleet], [on_its_way], [seller], [items], [inicio_carga], [salida], [descarga], [negocio], [FECHA_CARGA], [cuenta]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) Filas procesadas: 392 Insertados 392/392 registros... ✅ Proceso completado exitosamente en 0.87 segundos 📊 392 registros insertados en DataWarehouseGCP.simpliroute.visitas_qolqas Conexión cerrada correctamente ✅ CUENTA CT_TRUJILLO COMPLETADA Tiempo: 5.22 segundos Registros: 392 ============================================================ 🏢 PROCESANDO CUENTA: CT_CHIMBOTE Account ID: 83709 Tabla destino: DataWarehouseGCP.simpliroute.visitas_qolqas ============================================================ Obteniendo datos de vehículos... ✅ 31 vehículos obtenidos Realizando solicitud a la API de visitas... Datos de visitas obtenidos exitosamente de la API 📄 Respuesta JSON contiene 141 registros ❌ ID ejemplo 651339739 NO encontrado en la respuesta JSON 🔍 DEBUG - DATOS INICIALES DE LA API Registros: 141 Columnas: 56 Ejemplo de IDs: [731093506, 731093507, 731093508] IDs únicos: 141/141 Columnas disponibles: ['id', 'order', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... Columna 'order' renombrada a 'orden' Columna 'extra_field_values' renombrada a 'llegada' 🔍 DEBUG - DESPUÉS DE RENOMBRAR COLUMNAS Registros: 141 Columnas: 56 Ejemplo de IDs: [731093506, 731093507, 731093508] IDs únicos: 141/141 Columnas disponibles: ['id', 'orden', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... 🔄 Cruzando datos de visitas con vehículos... 🔍 DEBUG - ANTES DEL MERGE CON VEHÍCULOS Registros: 141 Columnas: 56 Ejemplo de IDs: [731093506, 731093507, 731093508] IDs únicos: 141/141 Columnas disponibles: ['id', 'orden', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... 🔍 DEBUG - DESPUÉS DEL MERGE CON VEHÍCULOS Registros: 141 Columnas: 57 Ejemplo de IDs: [731093506, 731093507, 731093508] IDs únicos: 141/141 Columnas disponibles: ['id', 'orden', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... 📊 Resultado del cruce: - Visitas con vehículo asignado: 141 - Visitas sin vehículo asignado: 0 ➕ 7 columnas faltantes añadidas con valores nulos 🔍 DEBUG - DESPUÉS DE AÑADIR COLUMNAS FALTANTES Registros: 141 Columnas: 64 Ejemplo de IDs: [731093506, 731093507, 731093508] IDs únicos: 141/141 Columnas disponibles: ['id', 'orden', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... 🔄 Convirtiendo tipos de datos... 🕒 Metadatos añadidos (FECHA_CARGA y cuenta) 🔍 DEBUG - ANTES DE VERIFICAR IDs Registros: 141 Columnas: 64 Ejemplo de IDs: ['731093506', '731093507', '731093508'] IDs únicos: 141/141 Columnas disponibles: ['id', 'orden', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... ❌ ID ejemplo 651339739 NO encontrado en el DataFrame procesado Muestra de IDs en DataFrame: ['731093506', '731093507', '731093508', '731093509', '731093510', '731093511', '731093512', '731093513', '731093514', '731093515'] 🏪 Columna 'negocio' creada a partir de 'title' 🔍 DEBUG - DATOS FINALES PARA CARGAR Registros: 141 Columnas: 62 Ejemplo de IDs: ['731093506', '731093507', '731093508'] IDs únicos: 141/141 Columnas disponibles: ['id', 'orden', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... 💾 Iniciando carga a base de datos... Intentando conectar a la base de datos... Conexión establecida correctamente 🔍 DEBUG - ANTES DE CARGAR A SQL SERVER Registros: 141 Columnas: 62 Ejemplo de IDs: ['731093506', '731093507', '731093508'] IDs únicos: 141/141 Columnas disponibles: ['id', 'orden', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... Verificando existencia de tabla: DataWarehouseGCP.simpliroute.visitas_qolqas La tabla [DataWarehouseGCP].[simpliroute].[visitas_qolqas] ya existe. Verificando estructura... Verificación de tabla [DataWarehouseGCP].[simpliroute].[visitas_qolqas] completada. Eliminando registros existentes... IDs válidos para eliminar: 141 Eliminados 141/141 registros... Total eliminados: 141 registros existentes Insertando registros nuevos... 🔍 DEBUG - DATOS A INSERTAR Registros: 141 Columnas: 62 Ejemplo de IDs: ['731093506', '731093507', '731093508'] IDs únicos: 141/141 Columnas disponibles: ['id', 'orden', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... Query de inserción: INSERT INTO DataWarehouseGCP.simpliroute.visitas_qolqas ([id], [orden], [tracking_id], [status], [title], [address], [latitude], [longitude], [load], [load_2], [load_3], [window_start], [window_end], [window_start_2], [window_end_2], [duration], [contact_name], [contact_phone], [contact_email], [reference], [notes], [skills_required], [skills_optional], [tags], [planned_date], [programmed_date], [route], [route_estimated_time_start], [estimated_time_arrival], [estimated_time_departure], [checkin_time], [checkout_time], [checkout_latitude], [checkout_longitude], [checkout_comment], [checkout_observation], [signature], [pictures], [created], [modified], [eta_predicted], [eta_current], [driver], [vehicle], [vehicle_name], [priority], [has_alert], [priority_level], [llegada], [geocode_alert], [visit_type], [current_eta], [fleet], [on_its_way], [seller], [items], [inicio_carga], [salida], [descarga], [negocio], [FECHA_CARGA], [cuenta]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) Filas procesadas: 141 Insertados 141/141 registros... ✅ Proceso completado exitosamente en 0.35 segundos 📊 141 registros insertados en DataWarehouseGCP.simpliroute.visitas_qolqas Conexión cerrada correctamente ✅ CUENTA CT_CHIMBOTE COMPLETADA Tiempo: 2.59 segundos Registros: 141 ============================================================ 🏢 PROCESANDO CUENTA: CT_ICA Account ID: 85350 Tabla destino: DataWarehouseGCP.simpliroute.visitas_qolqas ============================================================ Obteniendo datos de vehículos... ✅ 58 vehículos obtenidos Realizando solicitud a la API de visitas... Datos de visitas obtenidos exitosamente de la API 📄 Respuesta JSON contiene 125 registros ❌ ID ejemplo 651339739 NO encontrado en la respuesta JSON 🔍 DEBUG - DATOS INICIALES DE LA API Registros: 125 Columnas: 56 Ejemplo de IDs: [731113798, 731113799, 731113800] IDs únicos: 125/125 Columnas disponibles: ['id', 'order', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... Columna 'order' renombrada a 'orden' Columna 'extra_field_values' renombrada a 'llegada' 🔍 DEBUG - DESPUÉS DE RENOMBRAR COLUMNAS Registros: 125 Columnas: 56 Ejemplo de IDs: [731113798, 731113799, 731113800] IDs únicos: 125/125 Columnas disponibles: ['id', 'orden', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... 🔄 Cruzando datos de visitas con vehículos... 🔍 DEBUG - ANTES DEL MERGE CON VEHÍCULOS Registros: 125 Columnas: 56 Ejemplo de IDs: [731113798, 731113799, 731113800] IDs únicos: 125/125 Columnas disponibles: ['id', 'orden', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... 🔍 DEBUG - DESPUÉS DEL MERGE CON VEHÍCULOS Registros: 125 Columnas: 57 Ejemplo de IDs: [731113798, 731113799, 731113800] IDs únicos: 125/125 Columnas disponibles: ['id', 'orden', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... 📊 Resultado del cruce: - Visitas con vehículo asignado: 125 - Visitas sin vehículo asignado: 0 ➕ 7 columnas faltantes añadidas con valores nulos 🔍 DEBUG - DESPUÉS DE AÑADIR COLUMNAS FALTANTES Registros: 125 Columnas: 64 Ejemplo de IDs: [731113798, 731113799, 731113800] IDs únicos: 125/125 Columnas disponibles: ['id', 'orden', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... 🔄 Convirtiendo tipos de datos... 🕒 Metadatos añadidos (FECHA_CARGA y cuenta) 🔍 DEBUG - ANTES DE VERIFICAR IDs Registros: 125 Columnas: 64 Ejemplo de IDs: ['731113798', '731113799', '731113800'] IDs únicos: 125/125 Columnas disponibles: ['id', 'orden', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... ❌ ID ejemplo 651339739 NO encontrado en el DataFrame procesado Muestra de IDs en DataFrame: ['731113798', '731113799', '731113800', '731113801', '731113802', '731113803', '731113804', '731113805', '731113806', '731113807'] 🏪 Columna 'negocio' creada a partir de 'title' 🔍 DEBUG - DATOS FINALES PARA CARGAR Registros: 125 Columnas: 62 Ejemplo de IDs: ['731113798', '731113799', '731113800'] IDs únicos: 125/125 Columnas disponibles: ['id', 'orden', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... 💾 Iniciando carga a base de datos... Intentando conectar a la base de datos... Conexión establecida correctamente 🔍 DEBUG - ANTES DE CARGAR A SQL SERVER Registros: 125 Columnas: 62 Ejemplo de IDs: ['731113798', '731113799', '731113800'] IDs únicos: 125/125 Columnas disponibles: ['id', 'orden', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... Verificando existencia de tabla: DataWarehouseGCP.simpliroute.visitas_qolqas La tabla [DataWarehouseGCP].[simpliroute].[visitas_qolqas] ya existe. Verificando estructura... Verificación de tabla [DataWarehouseGCP].[simpliroute].[visitas_qolqas] completada. Eliminando registros existentes... IDs válidos para eliminar: 125 Eliminados 125/125 registros... Total eliminados: 125 registros existentes Insertando registros nuevos... 🔍 DEBUG - DATOS A INSERTAR Registros: 125 Columnas: 62 Ejemplo de IDs: ['731113798', '731113799', '731113800'] IDs únicos: 125/125 Columnas disponibles: ['id', 'orden', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... Query de inserción: INSERT INTO DataWarehouseGCP.simpliroute.visitas_qolqas ([id], [orden], [tracking_id], [status], [title], [address], [latitude], [longitude], [load], [load_2], [load_3], [window_start], [window_end], [window_start_2], [window_end_2], [duration], [contact_name], [contact_phone], [contact_email], [reference], [notes], [skills_required], [skills_optional], [tags], [planned_date], [programmed_date], [route], [route_estimated_time_start], [estimated_time_arrival], [estimated_time_departure], [checkin_time], [checkout_time], [checkout_latitude], [checkout_longitude], [checkout_comment], [checkout_observation], [signature], [pictures], [created], [modified], [eta_predicted], [eta_current], [driver], [vehicle], [vehicle_name], [priority], [has_alert], [priority_level], [llegada], [geocode_alert], [visit_type], [current_eta], [fleet], [on_its_way], [seller], [items], [inicio_carga], [salida], [descarga], [negocio], [FECHA_CARGA], [cuenta]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) Filas procesadas: 125 Insertados 125/125 registros... ✅ Proceso completado exitosamente en 0.34 segundos 📊 125 registros insertados en DataWarehouseGCP.simpliroute.visitas_qolqas Conexión cerrada correctamente ✅ CUENTA CT_ICA COMPLETADA Tiempo: 2.08 segundos Registros: 125 ============================================================ 🏢 PROCESANDO CUENTA: CT_CHICLAYO Account ID: 85352 Tabla destino: DataWarehouseGCP.simpliroute.visitas_qolqas ============================================================ Obteniendo datos de vehículos... ✅ 75 vehículos obtenidos Realizando solicitud a la API de visitas... Datos de visitas obtenidos exitosamente de la API 📄 Respuesta JSON contiene 168 registros ❌ ID ejemplo 651339739 NO encontrado en la respuesta JSON 🔍 DEBUG - DATOS INICIALES DE LA API Registros: 168 Columnas: 56 Ejemplo de IDs: [731019303, 731019304, 731019305] IDs únicos: 168/168 Columnas disponibles: ['id', 'order', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... Columna 'order' renombrada a 'orden' Columna 'extra_field_values' renombrada a 'llegada' 🔍 DEBUG - DESPUÉS DE RENOMBRAR COLUMNAS Registros: 168 Columnas: 56 Ejemplo de IDs: [731019303, 731019304, 731019305] IDs únicos: 168/168 Columnas disponibles: ['id', 'orden', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... 🔄 Cruzando datos de visitas con vehículos... 🔍 DEBUG - ANTES DEL MERGE CON VEHÍCULOS Registros: 168 Columnas: 56 Ejemplo de IDs: [731019303, 731019304, 731019305] IDs únicos: 168/168 Columnas disponibles: ['id', 'orden', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... 🔍 DEBUG - DESPUÉS DEL MERGE CON VEHÍCULOS Registros: 168 Columnas: 57 Ejemplo de IDs: [731019303, 731019304, 731019305] IDs únicos: 168/168 Columnas disponibles: ['id', 'orden', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... 📊 Resultado del cruce: - Visitas con vehículo asignado: 168 - Visitas sin vehículo asignado: 0 ➕ 7 columnas faltantes añadidas con valores nulos 🔍 DEBUG - DESPUÉS DE AÑADIR COLUMNAS FALTANTES Registros: 168 Columnas: 64 Ejemplo de IDs: [731019303, 731019304, 731019305] IDs únicos: 168/168 Columnas disponibles: ['id', 'orden', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... 🔄 Convirtiendo tipos de datos... 🕒 Metadatos añadidos (FECHA_CARGA y cuenta) 🔍 DEBUG - ANTES DE VERIFICAR IDs Registros: 168 Columnas: 64 Ejemplo de IDs: ['731019303', '731019304', '731019305'] IDs únicos: 168/168 Columnas disponibles: ['id', 'orden', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... ❌ ID ejemplo 651339739 NO encontrado en el DataFrame procesado Muestra de IDs en DataFrame: ['731019303', '731019304', '731019305', '731019306', '731019307', '731019308', '731019869', '731019870', '731019871', '731019872'] 🏪 Columna 'negocio' creada a partir de 'title' 🔍 DEBUG - DATOS FINALES PARA CARGAR Registros: 168 Columnas: 62 Ejemplo de IDs: ['731019303', '731019304', '731019305'] IDs únicos: 168/168 Columnas disponibles: ['id', 'orden', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... 💾 Iniciando carga a base de datos... Intentando conectar a la base de datos... Conexión establecida correctamente 🔍 DEBUG - ANTES DE CARGAR A SQL SERVER Registros: 168 Columnas: 62 Ejemplo de IDs: ['731019303', '731019304', '731019305'] IDs únicos: 168/168 Columnas disponibles: ['id', 'orden', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... Verificando existencia de tabla: DataWarehouseGCP.simpliroute.visitas_qolqas La tabla [DataWarehouseGCP].[simpliroute].[visitas_qolqas] ya existe. Verificando estructura... Verificación de tabla [DataWarehouseGCP].[simpliroute].[visitas_qolqas] completada. Eliminando registros existentes... IDs válidos para eliminar: 168 Eliminados 150/168 registros... Total eliminados: 150 registros existentes Insertando registros nuevos... 🔍 DEBUG - DATOS A INSERTAR Registros: 168 Columnas: 62 Ejemplo de IDs: ['731019303', '731019304', '731019305'] IDs únicos: 168/168 Columnas disponibles: ['id', 'orden', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... Query de inserción: INSERT INTO DataWarehouseGCP.simpliroute.visitas_qolqas ([id], [orden], [tracking_id], [status], [title], [address], [latitude], [longitude], [load], [load_2], [load_3], [window_start], [window_end], [window_start_2], [window_end_2], [duration], [contact_name], [contact_phone], [contact_email], [reference], [notes], [skills_required], [skills_optional], [tags], [planned_date], [programmed_date], [route], [route_estimated_time_start], [estimated_time_arrival], [estimated_time_departure], [checkin_time], [checkout_time], [checkout_latitude], [checkout_longitude], [checkout_comment], [checkout_observation], [signature], [pictures], [created], [modified], [eta_predicted], [eta_current], [driver], [vehicle], [vehicle_name], [priority], [has_alert], [priority_level], [llegada], [geocode_alert], [visit_type], [current_eta], [fleet], [on_its_way], [seller], [items], [inicio_carga], [salida], [descarga], [negocio], [FECHA_CARGA], [cuenta]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) Filas procesadas: 168 Insertados 168/168 registros... ✅ Proceso completado exitosamente en 0.46 segundos 📊 168 registros insertados en DataWarehouseGCP.simpliroute.visitas_qolqas Conexión cerrada correctamente ✅ CUENTA CT_CHICLAYO COMPLETADA Tiempo: 2.31 segundos Registros: 168 ============================================================ 🏢 PROCESANDO CUENTA: CT_PIURA Account ID: 85354 Tabla destino: DataWarehouseGCP.simpliroute.visitas_qolqas ============================================================ Obteniendo datos de vehículos... ✅ 67 vehículos obtenidos Realizando solicitud a la API de visitas... Datos de visitas obtenidos exitosamente de la API 📄 Respuesta JSON contiene 1248 registros ❌ ID ejemplo 651339739 NO encontrado en la respuesta JSON 🔍 DEBUG - DATOS INICIALES DE LA API Registros: 1248 Columnas: 56 Ejemplo de IDs: [731042419, 731042420, 731042421] IDs únicos: 1248/1248 Columnas disponibles: ['id', 'order', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... Columna 'order' renombrada a 'orden' Columna 'extra_field_values' renombrada a 'llegada' 🔍 DEBUG - DESPUÉS DE RENOMBRAR COLUMNAS Registros: 1248 Columnas: 56 Ejemplo de IDs: [731042419, 731042420, 731042421] IDs únicos: 1248/1248 Columnas disponibles: ['id', 'orden', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... 🔄 Cruzando datos de visitas con vehículos... 🔍 DEBUG - ANTES DEL MERGE CON VEHÍCULOS Registros: 1248 Columnas: 56 Ejemplo de IDs: [731042419, 731042420, 731042421] IDs únicos: 1248/1248 Columnas disponibles: ['id', 'orden', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... 🔍 DEBUG - DESPUÉS DEL MERGE CON VEHÍCULOS Registros: 1248 Columnas: 57 Ejemplo de IDs: [731042419, 731042420, 731042421] IDs únicos: 1248/1248 Columnas disponibles: ['id', 'orden', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... 📊 Resultado del cruce: - Visitas con vehículo asignado: 1248 - Visitas sin vehículo asignado: 0 ➕ 7 columnas faltantes añadidas con valores nulos 🔍 DEBUG - DESPUÉS DE AÑADIR COLUMNAS FALTANTES Registros: 1248 Columnas: 64 Ejemplo de IDs: [731042419, 731042420, 731042421] IDs únicos: 1248/1248 Columnas disponibles: ['id', 'orden', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... 🔄 Convirtiendo tipos de datos... 🕒 Metadatos añadidos (FECHA_CARGA y cuenta) 🔍 DEBUG - ANTES DE VERIFICAR IDs Registros: 1248 Columnas: 64 Ejemplo de IDs: ['731042419', '731042420', '731042421'] IDs únicos: 1248/1248 Columnas disponibles: ['id', 'orden', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... ❌ ID ejemplo 651339739 NO encontrado en el DataFrame procesado Muestra de IDs en DataFrame: ['731042419', '731042420', '731042421', '731042422', '731042423', '731042424', '731042425', '731042426', '731042427', '731042428'] 🏪 Columna 'negocio' creada a partir de 'title' 🔍 DEBUG - DATOS FINALES PARA CARGAR Registros: 1248 Columnas: 62 Ejemplo de IDs: ['731042419', '731042420', '731042421'] IDs únicos: 1248/1248 Columnas disponibles: ['id', 'orden', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... 💾 Iniciando carga a base de datos... Intentando conectar a la base de datos... Conexión establecida correctamente 🔍 DEBUG - ANTES DE CARGAR A SQL SERVER Registros: 1248 Columnas: 62 Ejemplo de IDs: ['731042419', '731042420', '731042421'] IDs únicos: 1248/1248 Columnas disponibles: ['id', 'orden', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... Verificando existencia de tabla: DataWarehouseGCP.simpliroute.visitas_qolqas La tabla [DataWarehouseGCP].[simpliroute].[visitas_qolqas] ya existe. Verificando estructura... Verificación de tabla [DataWarehouseGCP].[simpliroute].[visitas_qolqas] completada. Eliminando registros existentes... IDs válidos para eliminar: 1248 Eliminados 683/1248 registros... Eliminados 683/1248 registros... Total eliminados: 683 registros existentes Insertando registros nuevos... 🔍 DEBUG - DATOS A INSERTAR Registros: 1248 Columnas: 62 Ejemplo de IDs: ['731042419', '731042420', '731042421'] IDs únicos: 1248/1248 Columnas disponibles: ['id', 'orden', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... Query de inserción: INSERT INTO DataWarehouseGCP.simpliroute.visitas_qolqas ([id], [orden], [tracking_id], [status], [title], [address], [latitude], [longitude], [load], [load_2], [load_3], [window_start], [window_end], [window_start_2], [window_end_2], [duration], [contact_name], [contact_phone], [contact_email], [reference], [notes], [skills_required], [skills_optional], [tags], [planned_date], [programmed_date], [route], [route_estimated_time_start], [estimated_time_arrival], [estimated_time_departure], [checkin_time], [checkout_time], [checkout_latitude], [checkout_longitude], [checkout_comment], [checkout_observation], [signature], [pictures], [created], [modified], [eta_predicted], [eta_current], [driver], [vehicle], [vehicle_name], [priority], [has_alert], [priority_level], [llegada], [geocode_alert], [visit_type], [current_eta], [fleet], [on_its_way], [seller], [items], [inicio_carga], [salida], [descarga], [negocio], [FECHA_CARGA], [cuenta]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) Filas procesadas: 1248 Insertados 1000/1248 registros... Insertados 1248/1248 registros... ✅ Proceso completado exitosamente en 1.67 segundos 📊 1248 registros insertados en DataWarehouseGCP.simpliroute.visitas_qolqas Conexión cerrada correctamente ✅ CUENTA CT_PIURA COMPLETADA Tiempo: 16.51 segundos Registros: 1248 ============================================================ 🏢 PROCESANDO CUENTA: CT_AREQUIPA Account ID: 85355 Tabla destino: DataWarehouseGCP.simpliroute.visitas_qolqas ============================================================ Obteniendo datos de vehículos... ✅ 189 vehículos obtenidos Realizando solicitud a la API de visitas... Datos de visitas obtenidos exitosamente de la API 📄 Respuesta JSON contiene 373 registros ❌ ID ejemplo 651339739 NO encontrado en la respuesta JSON 🔍 DEBUG - DATOS INICIALES DE LA API Registros: 373 Columnas: 56 Ejemplo de IDs: [731142660, 731142661, 731142662] IDs únicos: 373/373 Columnas disponibles: ['id', 'order', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... Columna 'order' renombrada a 'orden' Columna 'extra_field_values' renombrada a 'llegada' 🔍 DEBUG - DESPUÉS DE RENOMBRAR COLUMNAS Registros: 373 Columnas: 56 Ejemplo de IDs: [731142660, 731142661, 731142662] IDs únicos: 373/373 Columnas disponibles: ['id', 'orden', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... 🔄 Cruzando datos de visitas con vehículos... 🔍 DEBUG - ANTES DEL MERGE CON VEHÍCULOS Registros: 373 Columnas: 56 Ejemplo de IDs: [731142660, 731142661, 731142662] IDs únicos: 373/373 Columnas disponibles: ['id', 'orden', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... 🔍 DEBUG - DESPUÉS DEL MERGE CON VEHÍCULOS Registros: 373 Columnas: 57 Ejemplo de IDs: [731142660, 731142661, 731142662] IDs únicos: 373/373 Columnas disponibles: ['id', 'orden', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... 📊 Resultado del cruce: - Visitas con vehículo asignado: 373 - Visitas sin vehículo asignado: 0 ➕ 7 columnas faltantes añadidas con valores nulos 🔍 DEBUG - DESPUÉS DE AÑADIR COLUMNAS FALTANTES Registros: 373 Columnas: 64 Ejemplo de IDs: [731142660, 731142661, 731142662] IDs únicos: 373/373 Columnas disponibles: ['id', 'orden', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... 🔄 Convirtiendo tipos de datos... 🕒 Metadatos añadidos (FECHA_CARGA y cuenta) 🔍 DEBUG - ANTES DE VERIFICAR IDs Registros: 373 Columnas: 64 Ejemplo de IDs: ['731142660', '731142661', '731142662'] IDs únicos: 373/373 Columnas disponibles: ['id', 'orden', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... ❌ ID ejemplo 651339739 NO encontrado en el DataFrame procesado Muestra de IDs en DataFrame: ['731142660', '731142661', '731142662', '731142663', '731142664', '731142665', '731142666', '731142667', '731142668', '731142669'] 🏪 Columna 'negocio' creada a partir de 'title' 🔍 DEBUG - DATOS FINALES PARA CARGAR Registros: 373 Columnas: 62 Ejemplo de IDs: ['731142660', '731142661', '731142662'] IDs únicos: 373/373 Columnas disponibles: ['id', 'orden', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... 💾 Iniciando carga a base de datos... Intentando conectar a la base de datos... Conexión establecida correctamente 🔍 DEBUG - ANTES DE CARGAR A SQL SERVER Registros: 373 Columnas: 62 Ejemplo de IDs: ['731142660', '731142661', '731142662'] IDs únicos: 373/373 Columnas disponibles: ['id', 'orden', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... Verificando existencia de tabla: DataWarehouseGCP.simpliroute.visitas_qolqas La tabla [DataWarehouseGCP].[simpliroute].[visitas_qolqas] ya existe. Verificando estructura... Verificación de tabla [DataWarehouseGCP].[simpliroute].[visitas_qolqas] completada. Eliminando registros existentes... IDs válidos para eliminar: 373 Eliminados 364/373 registros... Total eliminados: 364 registros existentes Insertando registros nuevos... 🔍 DEBUG - DATOS A INSERTAR Registros: 373 Columnas: 62 Ejemplo de IDs: ['731142660', '731142661', '731142662'] IDs únicos: 373/373 Columnas disponibles: ['id', 'orden', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... Query de inserción: INSERT INTO DataWarehouseGCP.simpliroute.visitas_qolqas ([id], [orden], [tracking_id], [status], [title], [address], [latitude], [longitude], [load], [load_2], [load_3], [window_start], [window_end], [window_start_2], [window_end_2], [duration], [contact_name], [contact_phone], [contact_email], [reference], [notes], [skills_required], [skills_optional], [tags], [planned_date], [programmed_date], [route], [route_estimated_time_start], [estimated_time_arrival], [estimated_time_departure], [checkin_time], [checkout_time], [checkout_latitude], [checkout_longitude], [checkout_comment], [checkout_observation], [signature], [pictures], [created], [modified], [eta_predicted], [eta_current], [driver], [vehicle], [vehicle_name], [priority], [has_alert], [priority_level], [llegada], [geocode_alert], [visit_type], [current_eta], [fleet], [on_its_way], [seller], [items], [inicio_carga], [salida], [descarga], [negocio], [FECHA_CARGA], [cuenta]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) Filas procesadas: 373 Insertados 373/373 registros... ✅ Proceso completado exitosamente en 0.65 segundos 📊 373 registros insertados en DataWarehouseGCP.simpliroute.visitas_qolqas Conexión cerrada correctamente ✅ CUENTA CT_AREQUIPA COMPLETADA Tiempo: 7.41 segundos Registros: 373 ============================================================ 🏢 PROCESANDO CUENTA: CT_HUANCAYO Account ID: 85356 Tabla destino: DataWarehouseGCP.simpliroute.visitas_qolqas ============================================================ Obteniendo datos de vehículos... ✅ 54 vehículos obtenidos Realizando solicitud a la API de visitas... Datos de visitas obtenidos exitosamente de la API 📄 Respuesta JSON contiene 245 registros ❌ ID ejemplo 651339739 NO encontrado en la respuesta JSON 🔍 DEBUG - DATOS INICIALES DE LA API Registros: 245 Columnas: 56 Ejemplo de IDs: [731038683, 731038684, 731038685] IDs únicos: 245/245 Columnas disponibles: ['id', 'order', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... Columna 'order' renombrada a 'orden' Columna 'extra_field_values' renombrada a 'llegada' 🔍 DEBUG - DESPUÉS DE RENOMBRAR COLUMNAS Registros: 245 Columnas: 56 Ejemplo de IDs: [731038683, 731038684, 731038685] IDs únicos: 245/245 Columnas disponibles: ['id', 'orden', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... 🔄 Cruzando datos de visitas con vehículos... 🔍 DEBUG - ANTES DEL MERGE CON VEHÍCULOS Registros: 245 Columnas: 56 Ejemplo de IDs: [731038683, 731038684, 731038685] IDs únicos: 245/245 Columnas disponibles: ['id', 'orden', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... 🔍 DEBUG - DESPUÉS DEL MERGE CON VEHÍCULOS Registros: 245 Columnas: 57 Ejemplo de IDs: [731038683, 731038684, 731038685] IDs únicos: 245/245 Columnas disponibles: ['id', 'orden', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... 📊 Resultado del cruce: - Visitas con vehículo asignado: 245 - Visitas sin vehículo asignado: 0 ➕ 7 columnas faltantes añadidas con valores nulos 🔍 DEBUG - DESPUÉS DE AÑADIR COLUMNAS FALTANTES Registros: 245 Columnas: 64 Ejemplo de IDs: [731038683, 731038684, 731038685] IDs únicos: 245/245 Columnas disponibles: ['id', 'orden', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... 🔄 Convirtiendo tipos de datos... 🕒 Metadatos añadidos (FECHA_CARGA y cuenta) 🔍 DEBUG - ANTES DE VERIFICAR IDs Registros: 245 Columnas: 64 Ejemplo de IDs: ['731038683', '731038684', '731038685'] IDs únicos: 245/245 Columnas disponibles: ['id', 'orden', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... ❌ ID ejemplo 651339739 NO encontrado en el DataFrame procesado Muestra de IDs en DataFrame: ['731038683', '731038684', '731038685', '731054820', '731054834', '731054842', '731054852', '731097734', '731097735', '731118144'] 🏪 Columna 'negocio' creada a partir de 'title' 🔍 DEBUG - DATOS FINALES PARA CARGAR Registros: 245 Columnas: 62 Ejemplo de IDs: ['731038683', '731038684', '731038685'] IDs únicos: 245/245 Columnas disponibles: ['id', 'orden', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... 💾 Iniciando carga a base de datos... Intentando conectar a la base de datos... Conexión establecida correctamente 🔍 DEBUG - ANTES DE CARGAR A SQL SERVER Registros: 245 Columnas: 62 Ejemplo de IDs: ['731038683', '731038684', '731038685'] IDs únicos: 245/245 Columnas disponibles: ['id', 'orden', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... Verificando existencia de tabla: DataWarehouseGCP.simpliroute.visitas_qolqas La tabla [DataWarehouseGCP].[simpliroute].[visitas_qolqas] ya existe. Verificando estructura... Verificación de tabla [DataWarehouseGCP].[simpliroute].[visitas_qolqas] completada. Eliminando registros existentes... IDs válidos para eliminar: 245 Eliminados 215/245 registros... Total eliminados: 215 registros existentes Insertando registros nuevos... 🔍 DEBUG - DATOS A INSERTAR Registros: 245 Columnas: 62 Ejemplo de IDs: ['731038683', '731038684', '731038685'] IDs únicos: 245/245 Columnas disponibles: ['id', 'orden', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... Query de inserción: INSERT INTO DataWarehouseGCP.simpliroute.visitas_qolqas ([id], [orden], [tracking_id], [status], [title], [address], [latitude], [longitude], [load], [load_2], [load_3], [window_start], [window_end], [window_start_2], [window_end_2], [duration], [contact_name], [contact_phone], [contact_email], [reference], [notes], [skills_required], [skills_optional], [tags], [planned_date], [programmed_date], [route], [route_estimated_time_start], [estimated_time_arrival], [estimated_time_departure], [checkin_time], [checkout_time], [checkout_latitude], [checkout_longitude], [checkout_comment], [checkout_observation], [signature], [pictures], [created], [modified], [eta_predicted], [eta_current], [driver], [vehicle], [vehicle_name], [priority], [has_alert], [priority_level], [llegada], [geocode_alert], [visit_type], [current_eta], [fleet], [on_its_way], [seller], [items], [inicio_carga], [salida], [descarga], [negocio], [FECHA_CARGA], [cuenta]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) Filas procesadas: 245 Insertados 245/245 registros... ✅ Proceso completado exitosamente en 0.60 segundos 📊 245 registros insertados en DataWarehouseGCP.simpliroute.visitas_qolqas Conexión cerrada correctamente ✅ CUENTA CT_HUANCAYO COMPLETADA Tiempo: 3.46 segundos Registros: 245 ============================================================ 🏢 PROCESANDO CUENTA: CT_CUSCO Account ID: 88204 Tabla destino: DataWarehouseGCP.simpliroute.visitas_qolqas ============================================================ Obteniendo datos de vehículos... ✅ 27 vehículos obtenidos Realizando solicitud a la API de visitas... Datos de visitas obtenidos exitosamente de la API 📄 Respuesta JSON contiene 71 registros ❌ ID ejemplo 651339739 NO encontrado en la respuesta JSON 🔍 DEBUG - DATOS INICIALES DE LA API Registros: 71 Columnas: 56 Ejemplo de IDs: [731140172, 731140173, 731140174] IDs únicos: 71/71 Columnas disponibles: ['id', 'order', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... Columna 'order' renombrada a 'orden' Columna 'extra_field_values' renombrada a 'llegada' 🔍 DEBUG - DESPUÉS DE RENOMBRAR COLUMNAS Registros: 71 Columnas: 56 Ejemplo de IDs: [731140172, 731140173, 731140174] IDs únicos: 71/71 Columnas disponibles: ['id', 'orden', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... 🔄 Cruzando datos de visitas con vehículos... 🔍 DEBUG - ANTES DEL MERGE CON VEHÍCULOS Registros: 71 Columnas: 56 Ejemplo de IDs: [731140172, 731140173, 731140174] IDs únicos: 71/71 Columnas disponibles: ['id', 'orden', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... 🔍 DEBUG - DESPUÉS DEL MERGE CON VEHÍCULOS Registros: 71 Columnas: 57 Ejemplo de IDs: [731140172, 731140173, 731140174] IDs únicos: 71/71 Columnas disponibles: ['id', 'orden', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... 📊 Resultado del cruce: - Visitas con vehículo asignado: 71 - Visitas sin vehículo asignado: 0 ➕ 7 columnas faltantes añadidas con valores nulos 🔍 DEBUG - DESPUÉS DE AÑADIR COLUMNAS FALTANTES Registros: 71 Columnas: 64 Ejemplo de IDs: [731140172, 731140173, 731140174] IDs únicos: 71/71 Columnas disponibles: ['id', 'orden', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... 🔄 Convirtiendo tipos de datos... 🕒 Metadatos añadidos (FECHA_CARGA y cuenta) 🔍 DEBUG - ANTES DE VERIFICAR IDs Registros: 71 Columnas: 64 Ejemplo de IDs: ['731140172', '731140173', '731140174'] IDs únicos: 71/71 Columnas disponibles: ['id', 'orden', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... ❌ ID ejemplo 651339739 NO encontrado en el DataFrame procesado Muestra de IDs en DataFrame: ['731140172', '731140173', '731140174', '731140175', '731140176', '731140177', '731140178', '731140179', '731140180', '731140181'] 🏪 Columna 'negocio' creada a partir de 'title' 🔍 DEBUG - DATOS FINALES PARA CARGAR Registros: 71 Columnas: 62 Ejemplo de IDs: ['731140172', '731140173', '731140174'] IDs únicos: 71/71 Columnas disponibles: ['id', 'orden', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... 💾 Iniciando carga a base de datos... Intentando conectar a la base de datos... Conexión establecida correctamente 🔍 DEBUG - ANTES DE CARGAR A SQL SERVER Registros: 71 Columnas: 62 Ejemplo de IDs: ['731140172', '731140173', '731140174'] IDs únicos: 71/71 Columnas disponibles: ['id', 'orden', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... Verificando existencia de tabla: DataWarehouseGCP.simpliroute.visitas_qolqas La tabla [DataWarehouseGCP].[simpliroute].[visitas_qolqas] ya existe. Verificando estructura... Verificación de tabla [DataWarehouseGCP].[simpliroute].[visitas_qolqas] completada. Eliminando registros existentes... IDs válidos para eliminar: 71 Eliminados 71/71 registros... Total eliminados: 71 registros existentes Insertando registros nuevos... 🔍 DEBUG - DATOS A INSERTAR Registros: 71 Columnas: 62 Ejemplo de IDs: ['731140172', '731140173', '731140174'] IDs únicos: 71/71 Columnas disponibles: ['id', 'orden', 'tracking_id', 'status', 'title', 'address', 'latitude', 'longitude', 'load', 'load_2']... Query de inserción: INSERT INTO DataWarehouseGCP.simpliroute.visitas_qolqas ([id], [orden], [tracking_id], [status], [title], [address], [latitude], [longitude], [load], [load_2], [load_3], [window_start], [window_end], [window_start_2], [window_end_2], [duration], [contact_name], [contact_phone], [contact_email], [reference], [notes], [skills_required], [skills_optional], [tags], [planned_date], [programmed_date], [route], [route_estimated_time_start], [estimated_time_arrival], [estimated_time_departure], [checkin_time], [checkout_time], [checkout_latitude], [checkout_longitude], [checkout_comment], [checkout_observation], [signature], [pictures], [created], [modified], [eta_predicted], [eta_current], [driver], [vehicle], [vehicle_name], [priority], [has_alert], [priority_level], [llegada], [geocode_alert], [visit_type], [current_eta], [fleet], [on_its_way], [seller], [items], [inicio_carga], [salida], [descarga], [negocio], [FECHA_CARGA], [cuenta]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) Filas procesadas: 71 Insertados 71/71 registros... ✅ Proceso completado exitosamente en 0.29 segundos 📊 71 registros insertados en DataWarehouseGCP.simpliroute.visitas_qolqas Conexión cerrada correctamente ✅ CUENTA CT_CUSCO COMPLETADA Tiempo: 1.59 segundos Registros: 71 ============================================================ 📊 RESUMEN FINAL ============================================================ ⏱️ Tiempo total de ejecución: 77.01 segundos ✅ Cuentas procesadas exitosamente: 10 ❌ Cuentas con errores: 0 🏢 Total de cuentas: 10 🎉 ¡PROCESO COMPLETADO EXITOSAMENTE!