diff --git a/Nscripts/Scripts.py b/Nscripts/Scripts.py new file mode 100644 index 0000000..559daf6 --- /dev/null +++ b/Nscripts/Scripts.py @@ -0,0 +1,79 @@ +import os +import pyodbc +import pandas as pd +import datetime +import calendar + +# Establecer la conexión a la base de datos +conn = pyodbc.connect('DRIVER={SQL Server};SERVER=.;DATABASE=GEMCO;') + +# Crear el cursor +cursor = conn.cursor() + +# # Obtener la fecha actual +# fecha_actual = datetime.date.today() +# print(fecha_actual) + +# Obtener la fecha actual ingresada por el usuario +fecha_actual_str = input("Ingresa la fecha actual (YYYY-MM-DD): ") +fecha_actual = datetime.datetime.strptime(fecha_actual_str, "%Y-%m-%d").date() + + +# Calcular el primer día del mes anterior +primer_dia_mes_anterior = datetime.date(fecha_actual.year, fecha_actual.month - 1, 1) +print( primer_dia_mes_anterior) + +# Calcular el último día del mes anterior +ultimo_dia_mes_anterior = primer_dia_mes_anterior.replace(day=calendar.monthrange(primer_dia_mes_anterior.year, primer_dia_mes_anterior.month)[1]) + +print(ultimo_dia_mes_anterior) +# Convertir las fechas a formato de cadena (YYYY-MM-DD) +inicio = primer_dia_mes_anterior.strftime('%Y-%m-%d') + +fin = ultimo_dia_mes_anterior.strftime('%Y-%m-%d') + +tipo_operacion = '2' +cliente = '1725' +print(inicio + " Esta fue el parametro que se envio al inicio ") +print(fin + " Esta es el paremetro que se envio en fin ") + +sql = "{CALL [dbo].[Reportes.Web.Clientes.Facturas.Cruzadas] (?, ?, ?, ?)}" +params = (inicio, fin, tipo_operacion, cliente) + +cursor.execute(sql, params) + +# Obtener los resultados +resultados = cursor.fetchall() + +# Cerrar la conexión +cursor.close() +conn.close() + +# Resto del código... + +# Definir las columnas +columnas = ['Referencia', 'Pedimento', 'Clave', 'FechaFirmaBanco', 'TipoCambio', 'PesoBruto', 'PaisVendedor', 'PaisOrigen', + 'NumFacturas', 'Factura', 'ValorFactura', 'Fraccion', 'Descripcion', 'nClave', 'CantFacturas', 'ValorAduana', + 'Incrementables', 'Advalorem', 'DTA', 'IVA', 'Efectivo', 'Total', 'Destino', 'Cruce', 'Remite', 'Caja', + 'ValorComercial', 'Incoterm'] + +# Modificar la estructura de los datos +datos_modificados = [list(item) for item in resultados] + +# Crear el DataFrame a partir de los datos +df = pd.DataFrame(datos_modificados, columns=columnas) + +# Obtener la ruta de la carpeta de descargas del usuario +carpeta_descargas = os.path.expanduser("~") + "\\Downloads\\" + +# Definir el nombre del archivo +nombre_archivo = 'RptCliente1725InformeMensual.xlsx' + +# Concatenar la ruta de la carpeta de descargas con el nombre del archivo +ruta_archivo = carpeta_descargas + nombre_archivo + +# Guardar el DataFrame en un archivo Excel en la carpeta de descargas +df.to_excel(ruta_archivo, index=False) + +print("El archivo se ha guardado en la carpeta de descargas.") + \ No newline at end of file