modificado para obtener todas las facturas que tiene el casillero de validación vacío, no más de 30 días
This commit is contained in:
1 parent
22aec163d2
commit
9f2d96e64c
9 files changed
+213
-198
No files matched your search
+14
-15
@@ -7,10 +7,9 @@ import json
|
||||
from typing import Optional, Dict, Any
|
||||
from dotenv import load_dotenv
|
||||
|
||||
from logger_manager import get_logger
|
||||
|
||||
|
||||
# ============================================================================
|
||||
# CONFIGURACIÓN
|
||||
logger = get_logger()
|
||||
# ============================================================================
|
||||
|
||||
urllib3.disable_warnings()
|
||||
@@ -37,7 +36,7 @@ def login() -> dict:
|
||||
"UserName": _sap_credentials["username"],
|
||||
"Password": _sap_credentials["password"],
|
||||
}
|
||||
print("🔐 Iniciando sesión en SAP B1 Service Layer...")
|
||||
logger.info("🔐 Iniciando sesión en SAP B1 Service Layer...")
|
||||
resp = requests.post(
|
||||
f"{SAPB1_URL}/Login",
|
||||
json=payload,
|
||||
@@ -55,7 +54,7 @@ def login() -> dict:
|
||||
|
||||
headers = {"Cookie": f"B1SESSION={b1session}; ROUTEID={routeid}"}
|
||||
_sap_session.update({"headers": headers, "b1session": b1session, "routeid": routeid})
|
||||
print(f"✅ Sesión SAP B1 establecida (B1SESSION: {b1session[:10]}...)")
|
||||
logger.info(f"✅ Sesión SAP B1 establecida (B1SESSION: {b1session[:10]}...)")
|
||||
return headers
|
||||
|
||||
|
||||
@@ -64,9 +63,9 @@ def login() -> dict:
|
||||
# ============================================================================
|
||||
def logout():
|
||||
if not _sap_session["b1session"]:
|
||||
print("⚠️ No hay sesión activa para cerrar.")
|
||||
logger.warning("⚠️ No hay sesión activa para cerrar.")
|
||||
return
|
||||
print("🔓 Cerrando sesión SAP B1...")
|
||||
logger.info("🔓 Cerrando sesión SAP B1...")
|
||||
try:
|
||||
resp = requests.post(
|
||||
f"{SAPB1_URL}/Logout",
|
||||
@@ -75,11 +74,11 @@ def logout():
|
||||
verify=SAPB1_VERIFY_SSL,
|
||||
)
|
||||
if resp.status_code == 200:
|
||||
print("✅ Sesión SAP B1 cerrada correctamente.")
|
||||
logger.info("✅ Sesión SAP B1 cerrada correctamente.")
|
||||
else:
|
||||
print(f"⚠️ Logout respondió HTTP {resp.status_code}")
|
||||
logger.warning(f"⚠️ Logout respondió HTTP {resp.status_code}")
|
||||
except Exception as exc:
|
||||
print(f"❌ Error al cerrar sesión: {exc}")
|
||||
logger.error(f"❌ Error al cerrar sesión: {exc}")
|
||||
finally:
|
||||
_sap_session.update({"headers": None, "b1session": None, "routeid": None})
|
||||
_sap_credentials.clear()
|
||||
@@ -105,9 +104,9 @@ def _log_response(method: str, endpoint: str, response: requests.Response, paylo
|
||||
f" ({len(response.content)} bytes)"
|
||||
)
|
||||
if response.status_code >= 400:
|
||||
print(f" │ ⚠️ {log_line} - {response.text[:300]}")
|
||||
logger.warning(f" │ ⚠️ {log_line} - {response.text[:300]}")
|
||||
else:
|
||||
print(log_line)
|
||||
logger.info(log_line)
|
||||
|
||||
|
||||
# ============================================================================
|
||||
@@ -132,7 +131,7 @@ def forward_to_sapb1(
|
||||
**_sap_session["headers"],
|
||||
}
|
||||
|
||||
print(f" │ 🔄 [{method}] {endpoint_path} | {datetime.now().strftime('%Y-%m-%d %H:%M:%S')}")
|
||||
logger.info(f" │ 🔄 [{method}] {endpoint_path} | {datetime.now().strftime('%Y-%m-%d %H:%M:%S')}")
|
||||
|
||||
try:
|
||||
resp = requests.request(
|
||||
@@ -154,7 +153,7 @@ def forward_to_sapb1(
|
||||
if resp.status_code == 401:
|
||||
if not _sap_credentials:
|
||||
raise ConnectionError("Sesión expirada (401) y no hay credenciales para re-autenticar.")
|
||||
print(" │ ⚠️ Sesión expirada (401). Reautenticando e intentando una vez...")
|
||||
logger.warning(" │ ⚠️ Sesión expirada (401). Reautenticando e intentando una vez...")
|
||||
login()
|
||||
req_headers["Cookie"] = _sap_session["headers"]["Cookie"]
|
||||
resp = requests.request(
|
||||
@@ -181,5 +180,5 @@ def send_message(payload: dict) -> dict:
|
||||
f" │ Error al enviar Mensaje: HTTP {resp.status_code} - {resp.text}"
|
||||
)
|
||||
result = resp.json()
|
||||
print(f" │ ✅ SAP B1 Service Layer - {resp.status_code}")
|
||||
logger.info(f" │ ✅ SAP B1 Service Layer - {resp.status_code}")
|
||||
return result
|
||||
Reference in new issue
Block a user