first commit
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
# Utilidades para generación de reportes - Reutilizado y ajustado de report.py v1
|
||||
import os
|
||||
import pandas as pd
|
||||
import logging
|
||||
from datetime import datetime
|
||||
|
||||
# Configura logging
|
||||
logging.basicConfig(filename='Logs/reports.log', level=logging.ERROR, format='%(asctime)s - %(levelname)s - %(message)s')
|
||||
|
||||
class ReportGenerator:
|
||||
"""Clase para generar y exportar reportes en Excel"""
|
||||
|
||||
def __init__(self, target_date_report, **kwargs ):
|
||||
"""
|
||||
Inicializa generador de reportes
|
||||
Args:
|
||||
name: Nombre del reporte
|
||||
nowTime: Fecha actual (datetime)
|
||||
nowTimeFormat: Formato de fecha (str)
|
||||
project_name: Nombre del proyecto
|
||||
current_time: Tiempo de ejecución (datetime)
|
||||
reportID: ID del reporte (str)
|
||||
"""
|
||||
self.name = kwargs.get('report_name',None)
|
||||
#self.date = kwargs.get('nowTime',None)
|
||||
self.dateFormat = target_date_report.strftime("%Y%m%d")
|
||||
self.project_name = kwargs.get('project_name',None)
|
||||
#self.current_time = kwargs.get('current_time',None)
|
||||
#self.reportID = kwargs.get('reportID',None)
|
||||
self.actual_path = os.path.dirname(os.path.abspath(__file__))
|
||||
#self.download_dir = os.path.join(self.actual_path, '..', '..','Reportes', str(self.project_name), str(self.name), 'download')
|
||||
self.docsend_dir = os.path.join(self.actual_path, '..', '..','Reportes', str(self.project_name), str(self.name))
|
||||
|
||||
#os.makedirs(self.download_dir, exist_ok=True)
|
||||
os.makedirs(self.docsend_dir, exist_ok=True)
|
||||
|
||||
#self.dowload_path = os.path.normpath(self.download_dir)
|
||||
self.docsend_Path = os.path.normpath(os.path.join(self.docsend_dir, f"{self.name} - {self.dateFormat}.xlsx"))
|
||||
self.report_name = f"{self.name} - {self.dateFormat}.xlsx"
|
||||
print(self.report_name)
|
||||
|
||||
|
||||
|
||||
def createReportData(self,data_sql_report):
|
||||
|
||||
self.data_sql_report = data_sql_report
|
||||
|
||||
self.df = pd.DataFrame(self.data_sql_report)
|
||||
|
||||
self.df.to_excel(self.docsend_Path,index=False)
|
||||
|
||||
#return False
|
||||
#print(self.docsend_Path)
|
||||
Reference in New Issue
Block a user