🤖 Auto commit for release 'develop' on 2026-01-23

This commit is contained in:
JC5
2026-01-23 15:14:29 +01:00
parent 8f15a32bd6
commit eeeba86d38
888 changed files with 10732 additions and 10387 deletions

View File

@@ -56,7 +56,7 @@ class DoubleController extends Controller
// translations:
$this->middleware(function ($request, $next) {
$this->accountRepository = app(AccountRepositoryInterface::class);
$this->opsRepository = app(OperationsRepositoryInterface::class);
$this->opsRepository = app(OperationsRepositoryInterface::class);
return $next($request);
});
@@ -75,8 +75,8 @@ class DoubleController extends Controller
$result = [];
foreach ($spent as $currency) {
foreach ($currency['transaction_journals'] as $journal) {
$sourceId = $journal['source_account_id'];
$key = sprintf('%d-%d', $sourceId, $currency['currency_id']);
$sourceId = $journal['source_account_id'];
$key = sprintf('%d-%d', $sourceId, $currency['currency_id']);
$result[$key] ??= [
'transactions' => 0,
'sum' => '0',
@@ -87,17 +87,17 @@ class DoubleController extends Controller
'currency_id' => $currency['currency_id'],
'currency_name' => $currency['currency_name'],
'currency_symbol' => $currency['currency_symbol'],
'currency_decimal_places' => $currency['currency_decimal_places']
'currency_decimal_places' => $currency['currency_decimal_places'],
];
++$result[$key]['transactions'];
$result[$key]['sum'] = bcadd((string) $journal['amount'], $result[$key]['sum']);
$result[$key]['avg'] = bcdiv($result[$key]['sum'], (string) $result[$key]['transactions']);
$result[$key]['sum'] = bcadd((string) $journal['amount'], $result[$key]['sum']);
$result[$key]['avg'] = bcdiv($result[$key]['sum'], (string) $result[$key]['transactions']);
$result[$key]['avg_float'] = (float) $result[$key]['avg'];
}
}
// sort by amount_float
// sort temp array by amount.
$amounts = array_column($result, 'avg_float');
$amounts = array_column($result, 'avg_float');
array_multisort($amounts, SORT_ASC, $result);
try {
@@ -125,8 +125,8 @@ class DoubleController extends Controller
$result = [];
foreach ($spent as $currency) {
foreach ($currency['transaction_journals'] as $journal) {
$destinationId = $journal['destination_account_id'];
$key = sprintf('%d-%d', $destinationId, $currency['currency_id']);
$destinationId = $journal['destination_account_id'];
$key = sprintf('%d-%d', $destinationId, $currency['currency_id']);
$result[$key] ??= [
'transactions' => 0,
'sum' => '0',
@@ -137,17 +137,17 @@ class DoubleController extends Controller
'currency_id' => $currency['currency_id'],
'currency_name' => $currency['currency_name'],
'currency_symbol' => $currency['currency_symbol'],
'currency_decimal_places' => $currency['currency_decimal_places']
'currency_decimal_places' => $currency['currency_decimal_places'],
];
++$result[$key]['transactions'];
$result[$key]['sum'] = bcadd((string) $journal['amount'], $result[$key]['sum']);
$result[$key]['avg'] = bcdiv($result[$key]['sum'], (string) $result[$key]['transactions']);
$result[$key]['sum'] = bcadd((string) $journal['amount'], $result[$key]['sum']);
$result[$key]['avg'] = bcdiv($result[$key]['sum'], (string) $result[$key]['transactions']);
$result[$key]['avg_float'] = (float) $result[$key]['avg'];
}
}
// sort by amount_float
// sort temp array by amount.
$amounts = array_column($result, 'avg_float');
$amounts = array_column($result, 'avg_float');
array_multisort($amounts, SORT_DESC, $result);
try {
@@ -174,8 +174,8 @@ class DoubleController extends Controller
$report = [];
$sums = [];
// see what happens when we collect transactions.
$spent = $this->opsRepository->listExpenses($start, $end, $together);
$earned = $this->opsRepository->listIncome($start, $end, $together);
$spent = $this->opsRepository->listExpenses($start, $end, $together);
$earned = $this->opsRepository->listIncome($start, $end, $together);
// group and list per account name (as long as its not in accounts, only in double)
/** @var array $currency */
@@ -190,16 +190,16 @@ class DoubleController extends Controller
'currency_name' => $currency['currency_name'],
'currency_symbol' => $currency['currency_symbol'],
'currency_code' => $currency['currency_code'],
'currency_decimal_places' => $currency['currency_decimal_places']
'currency_decimal_places' => $currency['currency_decimal_places'],
];
/** @var array $journal */
foreach ($currency['transaction_journals'] as $journal) {
$destId = $journal['destination_account_id'];
$destName = $journal['destination_account_name'];
$destIban = $journal['destination_account_iban'];
$genericName = $this->getCounterpartName($withCounterpart, $destId, $destName, $destIban);
$objectName = sprintf('%s (%s)', $genericName, $currency['currency_name']);
$destId = $journal['destination_account_id'];
$destName = $journal['destination_account_name'];
$destIban = $journal['destination_account_iban'];
$genericName = $this->getCounterpartName($withCounterpart, $destId, $destName, $destIban);
$objectName = sprintf('%s (%s)', $genericName, $currency['currency_name']);
$report[$objectName] ??= [
'dest_name' => '',
'dest_iban' => '',
@@ -212,17 +212,17 @@ class DoubleController extends Controller
'currency_decimal_places' => $currency['currency_decimal_places'],
'spent' => '0',
'earned' => '0',
'sum' => '0'
'sum' => '0',
];
// set name
$report[$objectName]['dest_name'] = $destName;
$report[$objectName]['dest_iban'] = $destIban;
// add amounts:
$report[$objectName]['spent'] = bcadd($report[$objectName]['spent'], (string) $journal['amount']);
$report[$objectName]['sum'] = bcadd($report[$objectName]['sum'], (string) $journal['amount']);
$sums[$currencyId]['spent'] = bcadd($sums[$currencyId]['spent'], (string) $journal['amount']);
$sums[$currencyId]['sum'] = bcadd($sums[$currencyId]['sum'], (string) $journal['amount']);
$report[$objectName]['spent'] = bcadd($report[$objectName]['spent'], (string) $journal['amount']);
$report[$objectName]['sum'] = bcadd($report[$objectName]['sum'], (string) $journal['amount']);
$sums[$currencyId]['spent'] = bcadd($sums[$currencyId]['spent'], (string) $journal['amount']);
$sums[$currencyId]['sum'] = bcadd($sums[$currencyId]['sum'], (string) $journal['amount']);
}
}
@@ -238,16 +238,16 @@ class DoubleController extends Controller
'currency_name' => $currency['currency_name'],
'currency_symbol' => $currency['currency_symbol'],
'currency_code' => $currency['currency_code'],
'currency_decimal_places' => $currency['currency_decimal_places']
'currency_decimal_places' => $currency['currency_decimal_places'],
];
/** @var array $journal */
foreach ($currency['transaction_journals'] as $journal) {
$sourceId = $journal['source_account_id'];
$sourceName = $journal['source_account_name'];
$sourceIban = $journal['source_account_iban'];
$genericName = $this->getCounterpartName($withCounterpart, $sourceId, $sourceName, $sourceIban);
$objectName = sprintf('%s (%s)', $genericName, $currency['currency_name']);
$sourceId = $journal['source_account_id'];
$sourceName = $journal['source_account_name'];
$sourceIban = $journal['source_account_iban'];
$genericName = $this->getCounterpartName($withCounterpart, $sourceId, $sourceName, $sourceIban);
$objectName = sprintf('%s (%s)', $genericName, $currency['currency_name']);
$report[$objectName] ??= [
'dest_name' => '',
'dest_iban' => '',
@@ -260,7 +260,7 @@ class DoubleController extends Controller
'currency_decimal_places' => $currency['currency_decimal_places'],
'spent' => '0',
'earned' => '0',
'sum' => '0'
'sum' => '0',
];
// set name
@@ -268,10 +268,10 @@ class DoubleController extends Controller
$report[$objectName]['source_iban'] = $sourceIban;
// add amounts:
$report[$objectName]['earned'] = bcadd($report[$objectName]['earned'], (string) $journal['amount']);
$report[$objectName]['sum'] = bcadd($report[$objectName]['sum'], (string) $journal['amount']);
$sums[$currencyId]['earned'] = bcadd($sums[$currencyId]['earned'], (string) $journal['amount']);
$sums[$currencyId]['sum'] = bcadd($sums[$currencyId]['sum'], (string) $journal['amount']);
$report[$objectName]['earned'] = bcadd($report[$objectName]['earned'], (string) $journal['amount']);
$report[$objectName]['sum'] = bcadd($report[$objectName]['sum'], (string) $journal['amount']);
$sums[$currencyId]['earned'] = bcadd($sums[$currencyId]['earned'], (string) $journal['amount']);
$sums[$currencyId]['sum'] = bcadd($sums[$currencyId]['sum'], (string) $journal['amount']);
}
}
@@ -281,7 +281,7 @@ class DoubleController extends Controller
/**
* TODO this method is duplicated.
*/
private function getCounterpartName(Collection $accounts, int $id, string $name, null|string $iban): string
private function getCounterpartName(Collection $accounts, int $id, string $name, ?string $iban): string
{
/** @var Account $account */
foreach ($accounts as $account) {
@@ -306,8 +306,8 @@ class DoubleController extends Controller
$report = [];
$sums = [];
// see what happens when we collect transactions.
$spent = $this->opsRepository->listExpenses($start, $end, $together);
$earned = $this->opsRepository->listIncome($start, $end, $together);
$spent = $this->opsRepository->listExpenses($start, $end, $together);
$earned = $this->opsRepository->listIncome($start, $end, $together);
// group and list per account name (as long as its not in accounts, only in double)
/** @var array $currency */
@@ -322,12 +322,12 @@ class DoubleController extends Controller
'currency_name' => $currency['currency_name'],
'currency_symbol' => $currency['currency_symbol'],
'currency_code' => $currency['currency_code'],
'currency_decimal_places' => $currency['currency_decimal_places']
'currency_decimal_places' => $currency['currency_decimal_places'],
];
/** @var array $journal */
foreach ($currency['transaction_journals'] as $journal) {
$objectName = sprintf('%s (%s)', $journal['source_account_name'], $currency['currency_name']);
$objectName = sprintf('%s (%s)', $journal['source_account_name'], $currency['currency_name']);
$report[$objectName] ??= [
'account_id' => $journal['source_account_id'],
'account_name' => $objectName,
@@ -338,14 +338,14 @@ class DoubleController extends Controller
'currency_decimal_places' => $currency['currency_decimal_places'],
'spent' => '0',
'earned' => '0',
'sum' => '0'
'sum' => '0',
];
// set name
// add amounts:
$report[$objectName]['spent'] = bcadd($report[$objectName]['spent'], (string) $journal['amount']);
$report[$objectName]['sum'] = bcadd($report[$objectName]['sum'], (string) $journal['amount']);
$sums[$currencyId]['spent'] = bcadd($sums[$currencyId]['spent'], (string) $journal['amount']);
$sums[$currencyId]['sum'] = bcadd($sums[$currencyId]['sum'], (string) $journal['amount']);
$report[$objectName]['sum'] = bcadd($report[$objectName]['sum'], (string) $journal['amount']);
$sums[$currencyId]['spent'] = bcadd($sums[$currencyId]['spent'], (string) $journal['amount']);
$sums[$currencyId]['sum'] = bcadd($sums[$currencyId]['sum'], (string) $journal['amount']);
}
}
@@ -361,12 +361,12 @@ class DoubleController extends Controller
'currency_name' => $currency['currency_name'],
'currency_symbol' => $currency['currency_symbol'],
'currency_code' => $currency['currency_code'],
'currency_decimal_places' => $currency['currency_decimal_places']
'currency_decimal_places' => $currency['currency_decimal_places'],
];
/** @var array $journal */
foreach ($currency['transaction_journals'] as $journal) {
$objectName = sprintf('%s (%s)', $journal['destination_account_name'], $currency['currency_name']);
$objectName = sprintf('%s (%s)', $journal['destination_account_name'], $currency['currency_name']);
$report[$objectName] ??= [
'account_id' => $journal['destination_account_id'],
'account_name' => $objectName,
@@ -377,14 +377,14 @@ class DoubleController extends Controller
'currency_decimal_places' => $currency['currency_decimal_places'],
'spent' => '0',
'earned' => '0',
'sum' => '0'
'sum' => '0',
];
// add amounts:
$report[$objectName]['earned'] = bcadd($report[$objectName]['earned'], (string) $journal['amount']);
$report[$objectName]['sum'] = bcadd($report[$objectName]['sum'], (string) $journal['amount']);
$sums[$currencyId]['earned'] = bcadd($sums[$currencyId]['earned'], (string) $journal['amount']);
$sums[$currencyId]['sum'] = bcadd($sums[$currencyId]['sum'], (string) $journal['amount']);
$report[$objectName]['sum'] = bcadd($report[$objectName]['sum'], (string) $journal['amount']);
$sums[$currencyId]['earned'] = bcadd($sums[$currencyId]['earned'], (string) $journal['amount']);
$sums[$currencyId]['sum'] = bcadd($sums[$currencyId]['sum'], (string) $journal['amount']);
}
}
@@ -418,13 +418,13 @@ class DoubleController extends Controller
'currency_symbol' => $currency['currency_symbol'],
'currency_decimal_places' => $currency['currency_decimal_places'],
'source_account_name' => $journal['source_account_name'],
'source_account_id' => $journal['source_account_id']
'source_account_id' => $journal['source_account_id'],
];
}
}
// sort by amount_float
// sort temp array by amount.
$amounts = array_column($result, 'amount_float');
$amounts = array_column($result, 'amount_float');
array_multisort($amounts, SORT_ASC, $result);
try {
@@ -466,13 +466,13 @@ class DoubleController extends Controller
'currency_symbol' => $currency['currency_symbol'],
'currency_decimal_places' => $currency['currency_decimal_places'],
'source_account_name' => $journal['source_account_name'],
'source_account_id' => $journal['source_account_id']
'source_account_id' => $journal['source_account_id'],
];
}
}
// sort by amount_float
// sort temp array by amount.
$amounts = array_column($result, 'amount_float');
$amounts = array_column($result, 'amount_float');
array_multisort($amounts, SORT_DESC, $result);
try {