From 1503d6a2ec7bff73de52caa6341afc9b4a73c2c6 Mon Sep 17 00:00:00 2001 From: George Date: Thu, 21 May 2026 09:56:07 -0500 Subject: [PATCH] =?UTF-8?q?se=20agrega=20dias=20de=20consulta=20al=20archi?= =?UTF-8?q?vo=20config.json,=20y=20ahora=20la=20funci=C3=B3n=20obtiene=20l?= =?UTF-8?q?os=20documentos=20de=20n=20d=C3=ADas=20hacia=20atr=C3=A1s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config.json | 3 ++- config_loader.py | 3 ++- config_model.py | 1 + hana_client.py | 2 +- main.py | 12 +++++++++--- 5 files changed, 15 insertions(+), 6 deletions(-) diff --git a/config.json b/config.json index 1963ea1..b8fbcd2 100644 --- a/config.json +++ b/config.json @@ -19,7 +19,8 @@ }, "mail":{ "sender":"cpe@tagumedica.com", - "to":["cpe@tagumedica.com"] + "to":["cpe@tagumedica.com"], + "days":2 } } diff --git a/config_loader.py b/config_loader.py index bf31083..75b1a99 100644 --- a/config_loader.py +++ b/config_loader.py @@ -22,7 +22,8 @@ outlook = OutlookConfig( mail = MailConfig( sender=data['mail']['sender'], - to=data['mail']['to'] + to=data['mail']['to'], + days=data['mail']['days'] ) CONFIG = Config( diff --git a/config_model.py b/config_model.py index 23b9e2b..b90d0e3 100644 --- a/config_model.py +++ b/config_model.py @@ -32,6 +32,7 @@ class OutlookConfig: class MailConfig: sender: str = "" to: List[str] = field(default_factory=list) + days: int = 2 @dataclass class Config: diff --git a/hana_client.py b/hana_client.py index 686dace..e8b134d 100644 --- a/hana_client.py +++ b/hana_client.py @@ -31,7 +31,7 @@ def obtener_registros(days=30): schema = CONFIG.hana.schema query = f""" - SELECT TOP 50 T0."DocNum", T0."DocEntry", TO_VARCHAR(T0."DocDate",'YYYY-MM-DD') "DocDate" + SELECT T0."DocNum", T0."DocEntry", TO_VARCHAR(T0."DocDate",'YYYY-MM-DD') "DocDate" , TO_VARCHAR(T0."TaxDate",'YYYY-MM-DD') "TaxDate", T0."CardName", T0."FolioPref", T0."FolioNum", T0."Indicator", T0."DocCur" , CASE T0."DocCur" WHEN 'SOL' THEN T0."DocTotal" ELSE T0."DocTotalFC" END "DocTotal" , T0."U_PGX_PDF" "PDF", T0."U_PGX_XML" "XML", T0."LicTradNum" diff --git a/main.py b/main.py index bf9b190..746d52a 100644 --- a/main.py +++ b/main.py @@ -139,7 +139,8 @@ def descargar_comprobante(driver, wait, ruc, tipo, correlativo, monto, fecha, do ######################################################## def main(): - registros = hana_client.obtener_registros(days=150) + dias_consulta = CONFIG.mail.days + registros = hana_client.obtener_registros(days=dias_consulta) download_dir = CONFIG.files.path os.makedirs(download_dir, exist_ok=True) @@ -149,6 +150,10 @@ def main(): print(f"📁 Directorio Destino: {download_dir}") print(f"📊 Total comprobantes a procesar: {len(registros)}") print("=" * 60) + + if not registros or len(registros) == 0: + print("\n⚠️ No se encontraron registros en SAP HANA para los últimos", dias_consulta, "días.") + return # Configurar opciones de Chrome chrome_options = Options() @@ -189,7 +194,9 @@ def main(): ind = registro.get('Indicator') f_pref = registro.get('FolioPref') f_num = registro.get('FolioNum') - print(f"\n🔍 PROCESANDO REGISTRO EN HANA: {doc_num} | Tipo: {ind} | Folio: {f_pref}-{f_num}") + tax_date = registro.get('TaxDate') + total = registro.get('DocTotal') + print(f"\n🔍 PROCESANDO REGISTRO EN HANA: {doc_num} | Tipo: {ind} | Folio: {f_pref}-{f_num} | Fecha: {tax_date} | Total: {total}") ruc = registro.get("LicTradNum") tipo = registro.get("Indicator") @@ -248,7 +255,6 @@ if __name__ == "__main__": print(f"📄 Log guardado en: {log_path}") print("="*60) - main() fin_ejecucion = datetime.now()