This commit is contained in:
James Cole 2021-04-05 06:14:13 +02:00
parent 63ed3d09d5
commit 25dcb73e27
No known key found for this signature in database
GPG Key ID: B5669F9493CDE38D
2 changed files with 10 additions and 4 deletions

View File

@ -203,7 +203,7 @@ class OperationsRepository implements OperationsRepositoryInterface
];
$array[$currencyId]['transaction_journals'][$journalId] = [
'amount' => app('steam')->$direction($journal['amount']),
'amount' => app('steam')->$direction((string)$journal['amount']),
'date' => $journal['date'],
'transaction_journal_id' => $journalId,
'budget_name' => $journal['budget_name'],
@ -364,7 +364,7 @@ class OperationsRepository implements OperationsRepositoryInterface
'currency_code' => $journal['currency_code'],
'currency_decimal_places' => $journal['currency_decimal_places'],
];
$array[$key]['sum'] = bcadd($array[$key]['sum'], app('steam')->$method($journal['amount']));
$array[$key]['sum'] = bcadd($array[$key]['sum'], app('steam')->$method((string)$journal['amount']));
// also do foreign amount:
if (0 !== (int)$journal['foreign_currency_id']) {
@ -379,7 +379,7 @@ class OperationsRepository implements OperationsRepositoryInterface
'currency_code' => $journal['foreign_currency_code'],
'currency_decimal_places' => $journal['foreign_currency_decimal_places'],
];
$array[$key]['sum'] = bcadd($array[$key]['sum'], app('steam')->$method($journal['foreign_amount']));
$array[$key]['sum'] = bcadd($array[$key]['sum'], app('steam')->$method((string)$journal['foreign_amount']));
}
}

View File

@ -107,7 +107,7 @@ class Steam
$repository = app(AccountRepositoryInterface::class);
$repository->setUser($account->user);
$currencyId = (int)$repository->getMetaValue($account, 'currency_id');
$currencyId = (int)$repository->getMetaValue($account, 'currency_id');
$transactions = $account->transactions()
->leftJoin('transaction_journals', 'transaction_journals.id', '=', 'transactions.transaction_journal_id')
->where('transaction_journals.date', '<=', $date->format('Y-m-d 23:59:59'))
@ -493,6 +493,9 @@ class Steam
*/
public function negative(string $amount): string
{
if ('' === $amount) {
return '0';
}
if (1 === bccomp($amount, '0')) {
$amount = bcmul($amount, '-1');
}
@ -554,6 +557,9 @@ class Steam
*/
public function positive(string $amount): string
{
if ('' === $amount) {
return '0';
}
if (bccomp($amount, '0') === -1) {
$amount = bcmul($amount, '-1');
}