corectie vjv2025

This commit is contained in:
2026-02-17 13:37:55 +02:00
parent c9b43c4e6e
commit 3f410c3fb8

24
main.py
View File

@@ -298,23 +298,6 @@ def compute_data_referinta(end_month_str: str = None) -> datetime:
today = datetime.now()
return datetime(today.year, today.month, 1)
def resolve_dynamic_tables(sql: str, data_referinta: datetime, months: int = 12) -> str:
"""
Replace vjv2025/vjc2025 with correct year (or UNION ALL if spanning years).
"""
end_year = (data_referinta - timedelta(days=1)).year
start_year = (data_referinta - relativedelta(months=months)).year
if start_year == end_year:
sql = sql.replace('vjv2025', f'vjv{end_year}')
sql = sql.replace('vjc2025', f'vjc{end_year}')
else:
sql = sql.replace('vjv2025', f'(SELECT * FROM vjv{start_year} UNION ALL SELECT * FROM vjv{end_year})')
sql = sql.replace('vjc2025', f'(SELECT * FROM vjc{start_year} UNION ALL SELECT * FROM vjc{end_year})')
return sql
class OracleConnection:
"""Context manager for Oracle database connection"""
@@ -351,12 +334,7 @@ def execute_query(connection, query_name: str, query_info: dict) -> pd.DataFrame
try:
sql = query_info['sql']
params = query_info.get('params', {})
# Resolve dynamic table names (vjv/vjc year-specific tables)
if 'data_referinta' in params:
months = params.get('months', 12)
sql = resolve_dynamic_tables(sql, params['data_referinta'], months)
print(f" 📊 Executare: {query_name}...", end=" ")
with connection.cursor() as cursor: