Cargando reporte

main
dstevz 3 years ago
parent 6f7314bd5a
commit c100fcc6e6
  1. 0
      logs/proceso.lo
  2. 7
      logs/proceso.log
  3. 64
      reportes.py
  4. 200289
      reportes/ExportData_20230125_150516.csv
  5. BIN
      reportes/ExportData_20230125_150516.zip
  6. 1
      sql/reporte.sql

@ -0,0 +1,7 @@
15:05:16 reportes Iniciamos reportes
15:05:16 reportes Ejecutamos extraccion de data
15:05:16 reportes Obtenemos Qry base
15:05:16 reportes Inicio ejecucion de consulta
15:05:21 reportes Fin ejecucion de consulta
15:05:21 reportes Inicio exportacion de DATA /home/met02391/reportes/reportes/ExportData_20230125_150516.csv
15:05:22 reportes Reporte generado correctamente, ubicacion: /home/met02391/reportes/reportes/ExportData_20230125_150516.csv

@ -0,0 +1,64 @@
import os
import logging.handlers
import csv
from datetime import datetime
from pyutl.oracle import OraConn, cur_as_dict
import os.path as path
HOME_DIR = os.path.dirname(os.path.abspath(__file__))
SQL_DIR = os.path.join(HOME_DIR, 'sql')
LOG_DIR = path.abspath(path.join(__file__, "../logs/"))
REP_DIR = path.abspath(path.join(__file__, "../reportes/"))
DBLOG_FILE = os.path.join(LOG_DIR, 'proceso.log')
def generar():
with open(os.path.join(SQL_DIR, f'reporte.sql')) as vv:
queryvv = vv.read()
logger.info('Obtenemos Qry base')
with OraConn('swbapps/qtip@telcasv0', ret="cursor") as con:
logger.info('Inicio ejecucion de consulta')
resvv = cur_as_dict(con.execute(queryvv))
logger.info('Fin ejecucion de consulta')
return resvv
def exportarCSV(datos, nombreReporte):
csv_file = f'{nombreReporte}'".csv"
ruta = REP_DIR + "/" + csv_file
quote = "'"
columnas = []
for key in datos[0]:
columnas.append(key)
logger.info('Inicio exportacion de DATA {0}'.format(ruta))
try:
with open(ruta, 'w') as csvfile:
writer = csv.DictWriter(csvfile,
fieldnames=columnas,
quoting=csv.QUOTE_NONE,
escapechar='\\')
writer.writeheader()
writer.writerows(datos)
logging.info("Reporte generado correctamente, ubicacion: %s", ruta)
except IOError:
logger.info('Error exportacion de DATA')
print("I/O error")
def run():
logger.info('Ejecutamos extraccion de data')
LOG_FILENAME = datetime.now().strftime("%Y%m%d_%H%M%S")
data = generar()
exportarCSV(data,'ExportData_'+LOG_FILENAME)
if __name__ == '__main__':
format = '%(asctime)s %(module)s %(message)s'
logging.basicConfig(filename=DBLOG_FILE, filemode='w', format=format, level=logging.INFO,
datefmt="%H:%M:%S")
logger = logging.getLogger(__name__)
logger.info('Iniciamos reportes ')
run()

File diff suppressed because it is too large Load Diff

@ -0,0 +1 @@
select * from rep_duis_sv where ESTADO_DUI = 'DUI INCORRECTO'
Loading…
Cancel
Save