parent
a64b378e1a
commit
78b37a6f83
@ -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.") |
||||||
|
|
Loading…
Reference in new issue