--- /data/files/bmw/stocklab-finalization-20260910-211846/app_workers_recompute.py.before +++ /data/files/bmw/stocklab-release-candidate-sl003-final-20260910-111453/app/workers/recompute.py @@ -8,7 +8,7 @@ from datetime import date -from sqlalchemy import select +from sqlalchemy import or_, select from sqlalchemy.orm import Session from app.core.config import get_settings @@ -96,6 +96,10 @@ FinancialPeriod.security_id == security.id, FinancialPeriod.period_type.in_(("Q1", "Q2", "Q3", "Q4")), FinancialPeriod.period_end <= as_of, + or_( + FinancialPeriod.filing_date.is_(None), + FinancialPeriod.filing_date <= as_of, + ), ) .order_by(FinancialPeriod.period_end.desc()) .limit(8) @@ -344,7 +348,12 @@ select(Source.provider_tier) .select_from(FinancialPeriod) .join(Source, FinancialPeriod.source_id == Source.id) - .where(FinancialPeriod.security_id == security_id, FinancialPeriod.period_end <= as_of) + .where(FinancialPeriod.security_id == security_id, + FinancialPeriod.period_end <= as_of, + or_( + FinancialPeriod.filing_date.is_(None), + FinancialPeriod.filing_date <= as_of, + )) .order_by(FinancialPeriod.period_end.desc()) .limit(limit) ).all()