
    bj                    v    d dl mZ d dlmZ d dlmZ d dlmZ d dlm	Z
 d dlmZmZ d dlmZ ddZddZddZdS )    )annotations)Decimal)
Connection)PortfolioSummary)data)decimal_textuser_quality_status)get_cash_summaryconnr   returnr   c                    |                      d                                          }|rt          j        |d                   nt	          d          S )Na  
        SELECT avs.total_value_chf
        FROM account_value_snapshots avs
        JOIN accounts a ON a.account_id = avs.account_id
        JOIN platforms p ON p.platform_id = a.platform_id
        WHERE a.is_active = 1
          AND (lower(p.name || ' ' || a.account_name) LIKE '%true%wealth%' OR lower(a.account_type) IN ('managed_portfolio','robo_portfolio'))
        ORDER BY avs.valuation_date DESC, avs.created_at DESC
        LIMIT 1
        total_value_chf0executefetchonedashboard_datadr   r   rows     /home/agent/.hermes/worktrees/FinanceManager-sprint3-reconciliation-snapshot-foundation/src/jarvis_finance/services/portfolio_service.py_latest_truewealth_valuer      sQ    
,,		  hjj  8;L>C 12333L    c                    |                      d                                          }|rt          j        |d                   nt	          d          S )NaK  
        SELECT COALESCE(SUM(CAST(t.gross_amount_chf AS REAL)), 0) AS value_chf
        FROM transactions t
        JOIN accounts a ON a.account_id = t.account_id
        JOIN platforms p ON p.platform_id = a.platform_id
        JOIN instruments i ON i.instrument_id = t.instrument_id
        WHERE COALESCE(t.is_voided,0)=0
          AND COALESCE(a.is_active,1)=1
          AND lower(i.asset_class) IN ('stock','etf')
          AND lower(p.name || ' ' || a.account_name) NOT LIKE '%true%wealth%'
          AND lower(a.account_type) NOT IN ('managed_portfolio','robo_portfolio')
        	value_chfr   r   r   s     r   _postfinance_equity_valuer      sP    
,,	  hjj  25F>C,---'#,,Fr   r   c                   t          j        |           }t          j        |                    d                    }t          j        |                    d                    }t	          |           }t          |           }|r|n||z   }t          j        |                    d                    }t          j        t          |           j                  }||z   |z   |z   }	t          t          |	d          t          |d          t          |d          t          |d          t          |d          t          |d          t          |                    d          pd          t          |                    d          pd          |                    d          pd t          |                    d	                    

  
        S )Nstock_total_chfetf_total_chfcrypto_total_chf   unvalued_position_countr   critical_alert_countlast_price_update_atdata_quality_status)
r   crypto_value_chfequity_value_chfpostfinance_equity_value_chftruewealth_value_chfcash_value_chfunpriced_positions_countcritical_alerts_countlast_price_updater%   )r   get_command_center_summaryr   getr   r   r
   cash_chfr   r   intr	   )
r   summarystocketf
truewealthpostfinance_equityequitycryptocashtotals
             r   get_overviewr;   .   s   7==GW[[):;;<<E

7;;77
8
8C)$//J2488#5F53;Fgkk*<==>>F,T22;<<D6MF"Z/E$UA..%fa00%fa00%1&!%<%<)*a88#D!,,!$W[[1J%K%K%Pq!Q!Q!'++.D"E"E"JKK!++&<==E/<Q0R0RSS   r   N)r   r   r   r   )r   r   r   r   )
__future__r   decimalr   sqlite3r   #jarvis_finance.api.schemas.overviewr   jarvis_finance.dashboardr   r   #jarvis_finance.services.api_helpersr   r	   $jarvis_finance.services.cash_servicer
   r   r   r;    r   r   <module>rD      s    " " " " " "             @ @ @ @ @ @ ; ; ; ; ; ; Q Q Q Q Q Q Q Q A A A A A AM M M M G G G G$     r   