mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-02-25 18:45:27 -06:00
This commit is contained in:
parent
dedc06a46b
commit
441ada70b8
@ -23,6 +23,7 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace FireflyIII\Support\Models;
|
namespace FireflyIII\Support\Models;
|
||||||
|
|
||||||
|
use Carbon\Carbon;
|
||||||
use FireflyIII\Exceptions\FireflyException;
|
use FireflyIII\Exceptions\FireflyException;
|
||||||
use FireflyIII\Models\Account;
|
use FireflyIII\Models\Account;
|
||||||
use FireflyIII\Models\AccountBalance;
|
use FireflyIII\Models\AccountBalance;
|
||||||
@ -74,7 +75,7 @@ class AccountBalanceCalculator
|
|||||||
foreach ($transactionJournal->transactions as $transaction) {
|
foreach ($transactionJournal->transactions as $transaction) {
|
||||||
$accounts->push($transaction->account);
|
$accounts->push($transaction->account);
|
||||||
}
|
}
|
||||||
$object->optimizedCalculation($accounts);
|
$object->optimizedCalculation($accounts, $transactionJournal->date);
|
||||||
}
|
}
|
||||||
|
|
||||||
private function getAccountBalanceByAccount(int $account, int $currency): AccountBalance
|
private function getAccountBalanceByAccount(int $account, int $currency): AccountBalance
|
||||||
@ -98,7 +99,7 @@ class AccountBalanceCalculator
|
|||||||
return $entry;
|
return $entry;
|
||||||
}
|
}
|
||||||
|
|
||||||
private function optimizedCalculation(Collection $accounts): void
|
private function optimizedCalculation(Collection $accounts, Carbon $notBefore = null): void
|
||||||
{
|
{
|
||||||
Log::debug('start of optimizedCalculation');
|
Log::debug('start of optimizedCalculation');
|
||||||
if ($accounts->count() > 0) {
|
if ($accounts->count() > 0) {
|
||||||
@ -120,6 +121,10 @@ class AccountBalanceCalculator
|
|||||||
if ($accounts->count() > 0) {
|
if ($accounts->count() > 0) {
|
||||||
$query->whereIn('transactions.account_id', $accounts->pluck('id')->toArray());
|
$query->whereIn('transactions.account_id', $accounts->pluck('id')->toArray());
|
||||||
}
|
}
|
||||||
|
if(null !== $notBefore) {
|
||||||
|
$notBefore->startOfDay();
|
||||||
|
$query->where('transaction_journals.date', '>=', $notBefore);
|
||||||
|
}
|
||||||
|
|
||||||
$set = $query->get(['transactions.id', 'transactions.balance_dirty', 'transactions.transaction_currency_id', 'transaction_journals.date', 'transactions.account_id', 'transactions.amount']);
|
$set = $query->get(['transactions.id', 'transactions.balance_dirty', 'transactions.transaction_currency_id', 'transaction_journals.date', 'transactions.account_id', 'transactions.amount']);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user