diff --git a/scripts/papeles_impresion/ERP Safekat 2.0 - Papeles Impresion.xlsx b/scripts/papeles_impresion/ERP Safekat 2.0 - Papeles Impresion.xlsx new file mode 100644 index 00000000..17e62592 Binary files /dev/null and b/scripts/papeles_impresion/ERP Safekat 2.0 - Papeles Impresion.xlsx differ diff --git a/scripts/papeles_impresion/Tramos papel.xlsx b/scripts/papeles_impresion/Tramos papel.xlsx new file mode 100644 index 00000000..29c80111 Binary files /dev/null and b/scripts/papeles_impresion/Tramos papel.xlsx differ diff --git a/scripts/papeles_impresion/loadMargenesPapelImpresion.py b/scripts/papeles_impresion/loadMargenesPapelImpresion.py new file mode 100644 index 00000000..a4ab9f5f --- /dev/null +++ b/scripts/papeles_impresion/loadMargenesPapelImpresion.py @@ -0,0 +1,95 @@ +import pandas as pd +import mysql.connector + +""" +Script para insertar márgenes en la tabla 'papel_impresion_margenes' en base a un archivo Excel. + +- Lee los papeles objetivo desde la hoja 'Papeles'. +- Lee los tramos de márgenes desde la hoja 'Tramos'. +- Elimina márgenes existentes de los papeles especificados. +- Inserta nuevos tramos de márgenes para cada papel. + +Requiere: +- Archivo Excel con hojas 'Papeles' y 'Tramos'. +- Conexión activa a la base de datos MySQL. +- Paquetes: pandas, mysql-connector-python + +Autor: IMN +Fecha: 07/05/2025 +""" + +# === CONFIGURACIÓN === +RUTA_EXCEL = "Tramos papel.xlsx" +DB_CONFIG = { + "host": "82.223.102.252", + "user": "erp-dev", + "password": "Txhn75@10", + "database": "erp-dev" +} + +# === CARGAR DATOS DESDE EXCEL === +df_papeles = pd.read_excel(RUTA_EXCEL, sheet_name="Papeles") +df_tramos = pd.read_excel(RUTA_EXCEL, sheet_name="Tramos") + +ids_papeles = df_papeles['ID'].dropna().astype(int).unique().tolist() +print("IDs de papeles cargados:", ids_papeles) + +# === CONEXIÓN A MYSQL === +conn = mysql.connector.connect(**DB_CONFIG) +cursor = conn.cursor() + +# === ELIMINAR MÁRGENES EXISTENTES === +delete_query = f""" +DELETE FROM papel_impresion_margenes +WHERE papel_impresion_id IN ({', '.join(map(str, ids_papeles))}); +""" +cursor.execute(delete_query) +print(f"Eliminadas entradas antiguas para {len(ids_papeles)} papeles.") + +# === ACTUALIZAR PRECIO TONELADA PARA CADA PAPEL === +update_query = """ +UPDATE lg_papel_impresion +SET precio_tonelada = %s +WHERE id = %s +""" + +# Preparar los valores (precio, id) +updates = [] +for _, row in df_papeles.iterrows(): + papel_id = int(row["ID"]) + precio = float(row["Precio Tonelada"]) + updates.append((precio, papel_id)) + +# Ejecutar actualizaciones +cursor.executemany(update_query, updates) +conn.commit() +print(f"Actualizados {cursor.rowcount} precios en lg_papel_impresion.") + +# === PREPARAR DATOS NUEVOS === +insert_query = """ +INSERT INTO papel_impresion_margenes ( + papel_impresion_id, paginas_min, paginas_max, margen, + user_created_id, user_updated_id, is_deleted, deleted_at, + created_at, updated_at +) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, NOW(), NOW()) +""" + +data = [] +for papel_id in ids_papeles: + for _, row in df_tramos.iterrows(): + data.append(( + papel_id, + int(row["Páginas min"]), + int(row["Páginas máx"]), + float(row["%"]), + 10, 10, 0, None + )) + +# === INSERTAR NUEVOS REGISTROS === +cursor.executemany(insert_query, data) +conn.commit() + +# === FINALIZAR === +print(f"Insertadas {cursor.rowcount} filas.") +cursor.close() +conn.close() diff --git a/scripts/papeles_impresion/updatePrecioTonelada.py b/scripts/papeles_impresion/updatePrecioTonelada.py new file mode 100644 index 00000000..531105dc --- /dev/null +++ b/scripts/papeles_impresion/updatePrecioTonelada.py @@ -0,0 +1,58 @@ +import pandas as pd +import mysql.connector + +""" +Script para actualizar la columna 'precio_tonelada' en la tabla 'lg_papel_impresion' desde un archivo Excel. + +- Lee los valores de ID y Precio desde un archivo Excel con cabecera clara. +- Conecta a la base de datos y actualiza los precios de tonelada para los IDs especificados. + +Requiere: +- Archivo Excel con columnas 'ID' y 'Precio Tonelada'. +- Conexión activa a la base de datos MySQL. +- Paquetes: pandas, mysql-connector-python + +Autor: IMN +Fecha: 07/05/2025 +""" + +# === CONFIGURACIÓN DE LA BASE DE DATOS === +DB_CONFIG = { + "host": "82.223.102.252", + "user": "erp-dev", + "password": "Txhn75@10", + "database": "erp-dev" +} + +# === CARGAR DATOS DESDE EXCEL === +df = pd.read_excel("ERP Safekat 2.0 - Papeles Impresion.xlsx") + +# === CONEXIÓN A MYSQL === +conn = mysql.connector.connect(**DB_CONFIG) +cursor = conn.cursor() + +# === CONSULTA DE ACTUALIZACIÓN === +update_query = """ +UPDATE lg_papel_impresion +SET precio_tonelada = %s +WHERE id = %s +""" + +# === PREPARAR DATOS === +data = [] +for _, row in df.iterrows(): + try: + papel_id = int(row['ID']) + precio = float(row['Precio Tonelada']) + data.append((precio, papel_id)) + except (ValueError, TypeError): + continue # Ignorar datos inválidos + +# === EJECUTAR ACTUALIZACIONES === +cursor.executemany(update_query, data) +conn.commit() +print(f"✅ Actualizados {cursor.rowcount} registros en lg_papel_impresion.") + +# === CERRAR CONEXIÓN === +cursor.close() +conn.close()