1
0
Fork 0
mirror of https://github.com/maybe-finance/maybe.git synced 2025-08-10 16:05:22 +02:00

Fix current_holdings to handle different dates and hide zero quantities

- Use DISTINCT ON to get most recent holding per security instead of assuming same date
- Filter out zero quantity holdings from UI display
- Maintain cash display regardless of zero balance
- Use single efficient query with proper Rails syntax
This commit is contained in:
Zach Gollwitzer 2025-06-26 16:14:52 -04:00
parent 72884abe58
commit c5b45d5ccf

View file

@ -82,7 +82,14 @@ class Account < ApplicationRecord
end
def current_holdings
holdings.where(currency: currency, date: holdings.maximum(:date)).order(amount: :desc)
holdings.where(currency: currency)
.where.not(qty: 0)
.where(
id: holdings.select("DISTINCT ON (security_id) id")
.where(currency: currency)
.order(:security_id, :date => :desc)
)
.order(amount: :desc)
end
def update_with_sync!(attributes)