se agrega dias de consulta al archivo config.json, y ahora la función obtiene los documentos de n días hacia atrás

This commit is contained in:
George committed 2026-05-21 09:56:07 -05:00
1 parent cf8d9fbbb2
commit 1503d6a2ec
5 files changed
+15 -6

No files matched your search

+2 -1
View File
@@ -19,7 +19,8 @@
},
"mail":{
"sender":"cpe@tagumedica.com",
"to":["cpe@tagumedica.com"]
"to":["cpe@tagumedica.com"],
"days":2
}
}
+2 -1
View File
@@ -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(
+1
View File
@@ -32,6 +32,7 @@ class OutlookConfig:
class MailConfig:
sender: str = ""
to: List[str] = field(default_factory=list)
days: int = 2
@dataclass
class Config:
+1 -1
View File
@@ -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"
+9 -3
View File
@@ -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)
@@ -150,6 +151,10 @@ def main():
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()
chrome_options.add_argument("--headless")
@@ -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()