From dbf3d24ae747da7881ce76bd75d2ec18bf74cb75 Mon Sep 17 00:00:00 2001 From: James Cole Date: Sat, 28 Sep 2024 18:18:53 +0200 Subject: [PATCH] Fix https://github.com/firefly-iii/firefly-iii/issues/9278 --- .../Models/AccountBalanceCalculator.php | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/app/Support/Models/AccountBalanceCalculator.php b/app/Support/Models/AccountBalanceCalculator.php index e0bbec6796..2b1e8883d2 100644 --- a/app/Support/Models/AccountBalanceCalculator.php +++ b/app/Support/Models/AccountBalanceCalculator.php @@ -87,19 +87,19 @@ class AccountBalanceCalculator Log::debug(sprintf('getLatestBalance: notBefore date is "%s", calculating', $notBefore->format('Y-m-d'))); $query = Transaction::leftJoin('transaction_journals', 'transaction_journals.id', '=', 'transactions.transaction_journal_id') ->whereNull('transactions.deleted_at') - ->where('transaction_journals.transaction_currency_id', $currencyId) + ->where('transaction_journals.transaction_currency_id', $currencyId) ->whereNull('transaction_journals.deleted_at') - // this order is the same as GroupCollector, but in the exact reverse. - ->orderBy('transaction_journals.date', 'asc') - ->orderBy('transaction_journals.order', 'desc') - ->orderBy('transaction_journals.id', 'asc') - ->orderBy('transaction_journals.description', 'asc') - ->orderBy('transactions.amount', 'asc') + // this order is the same as GroupCollector + ->orderBy('transaction_journals.date', 'DESC') + ->orderBy('transaction_journals.order', 'ASC') + ->orderBy('transaction_journals.id', 'DESC') + ->orderBy('transaction_journals.description', 'DESC') + ->orderBy('transactions.amount', 'DESC') ->where('transactions.account_id', $accountId); $notBefore->startOfDay(); $query->where('transaction_journals.date', '<', $notBefore); - $first = $query->first(['transactions.id', 'transactions.balance_dirty', 'transactions.transaction_currency_id', 'transaction_journals.date', 'transactions.account_id', 'transactions.amount','transactions.balance_after']); + $first = $query->first(['transactions.id', 'transactions.balance_dirty', 'transactions.transaction_currency_id', 'transaction_journals.date', 'transactions.account_id', 'transactions.amount', 'transactions.balance_after']); $balance = $first->balance_after ?? '0'; Log::debug(sprintf('getLatestBalance: found balance: %s in transaction #%d', $balance, $first->id ?? 0)); return $balance; @@ -129,7 +129,7 @@ class AccountBalanceCalculator private function optimizedCalculation(Collection $accounts, ?Carbon $notBefore = null): void { Log::debug('start of optimizedCalculation'); - if(false === config('firefly.feature_flags.running_balance_column')) { + if (false === config('firefly.feature_flags.running_balance_column')) { Log::debug('optimizedCalculation is disabled, return.'); return; }