Expand category report #1106

This commit is contained in:
James Cole
2018-01-12 20:53:18 +01:00
parent 517731cb59
commit 04de4c9b36
2 changed files with 70 additions and 9 deletions

View File

@@ -102,7 +102,12 @@ class Support
*/ */
protected function getObjectSummary(array $spent, array $earned): array protected function getObjectSummary(array $spent, array $earned): array
{ {
$return = []; $return = [
'sum' => [
'spent' => '0',
'earned' => '0',
],
];
/** /**
* @var int * @var int
@@ -110,10 +115,11 @@ class Support
*/ */
foreach ($spent as $objectId => $entry) { foreach ($spent as $objectId => $entry) {
if (!isset($return[$objectId])) { if (!isset($return[$objectId])) {
$return[$objectId] = ['spent' => 0, 'earned' => 0]; $return[$objectId] = ['spent' => '0', 'earned' => '0'];
} }
$return[$objectId]['spent'] = $entry; $return[$objectId]['spent'] = $entry;
$return['sum']['spent'] = bcadd($return['sum']['spent'], $entry);
} }
unset($entry); unset($entry);
@@ -123,10 +129,11 @@ class Support
*/ */
foreach ($earned as $objectId => $entry) { foreach ($earned as $objectId => $entry) {
if (!isset($return[$objectId])) { if (!isset($return[$objectId])) {
$return[$objectId] = ['spent' => 0, 'earned' => 0]; $return[$objectId] = ['spent' => '0', 'earned' => '0'];
} }
$return[$objectId]['earned'] = $entry; $return[$objectId]['earned'] = $entry;
$return['sum']['earned'] = bcadd($return['sum']['earned'], $entry);
} }
return $return; return $return;

View File

@@ -42,6 +42,13 @@
</tr> </tr>
{% endfor %} {% endfor %}
</tbody> </tbody>
<tfoot>
<tr>
<td>{{ 'sum'|_ }}</td>
<td style="text-align: right;">{{ accountSummary.sum.earned|formatAmount }}</td>
<td style="text-align: right;">{{ accountSummary.sum.spent|formatAmount }}</td>
</tr>
</tfoot>
</table> </table>
</div> </div>
</div> </div>
@@ -80,6 +87,13 @@
</tr> </tr>
{% endfor %} {% endfor %}
</tbody> </tbody>
<tfoot>
<tr>
<td>{{ 'sum'|_ }}</td>
<td style="text-align: right;">{{ categorySummary.sum.earned|formatAmount }}</td>
<td style="text-align: right;">{{ categorySummary.sum.spent|formatAmount }}</td>
</tr>
</tfoot>
</table> </table>
</div> </div>
</div> </div>
@@ -174,7 +188,11 @@
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
{% set totalCount = 0 %}
{% set totalSum = 0 %}
{% for row in averageExpenses %} {% for row in averageExpenses %}
{% set totalCount = totalCount+ row.count %}
{% set totalSum = totalSum + row.sum %}
{% if loop.index > listLength %} {% if loop.index > listLength %}
<tr class="overListLength"> <tr class="overListLength">
{% else %} {% else %}
@@ -193,6 +211,8 @@
{{ row.count }} {{ row.count }}
</td> </td>
</tr> </tr>
{% set totalCount = totalCount+ row.count %}
{% set totalSum = totalSum + row.sum %}
{% endfor %} {% endfor %}
</tbody> </tbody>
<tfoot> <tfoot>
@@ -203,6 +223,13 @@
</td> </td>
</tr> </tr>
{% endif %} {% endif %}
<tr>
<td colspan="2">
{{ 'sum'|_ }}
</td>
<td style="text-align:right">{{ totalSum|formatAmount }}</td>
<td>{{ totalCount }}</td>
</tr>
</tfoot> </tfoot>
</table> </table>
</div> </div>
@@ -227,7 +254,9 @@
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
{% set totalSum = 0 %}
{% for row in topExpenses %} {% for row in topExpenses %}
{% set totalSum = totalSum + row.sum %}
{% if loop.index > listLength %} {% if loop.index > listLength %}
<tr class="overListLength"> <tr class="overListLength">
{% else %} {% else %}
@@ -264,6 +293,12 @@
</td> </td>
</tr> </tr>
{% endif %} {% endif %}
<tr>
<td colspan="3">
{{ 'sum'|_ }}
</td>
<td style="text-align:right">{{ totalSum|formatAmount }}</td>
</tr>
</tfoot> </tfoot>
</table> </table>
</div> </div>
@@ -283,21 +318,25 @@
<thead> <thead>
<tr> <tr>
<th data-defaultsign="az">{{ 'account'|_ }}</th> <th data-defaultsign="az">{{ 'account'|_ }}</th>
<th data-defaultsign="_19">{{ 'income_average'|_ }}</th> <th data-defaultsign="_19" style="text-align:right;">{{ 'income_average'|_ }}</th>
<th data-defaultsign="_19">{{ 'total'|_ }}</th> <th data-defaultsign="_19" style="text-align:right;">{{ 'total'|_ }}</th>
<th data-defaultsign="_19">{{ 'transaction_count'|_ }}</th> <th data-defaultsign="_19">{{ 'transaction_count'|_ }}</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
{% set totalCount = 0 %}
{% set totalSum = 0 %}
{% for row in averageIncome %} {% for row in averageIncome %}
{% set totalCount = totalCount+ row.count %}
{% set totalSum = totalSum + row.sum %}
<tr> <tr>
<td data-value="{{ row.name }}"> <td data-value="{{ row.name }}">
<a href="{{ route('accounts.show', row.id) }}">{{ row.name }}</a> <a href="{{ route('accounts.show', row.id) }}">{{ row.name }}</a>
</td> </td>
<td data-value="{{ row.average }}"> <td data-value="{{ row.average }}" style="text-align:right;">
{{ row.average|formatAmount }} {{ row.average|formatAmount }}
</td> </td>
<td data-value="{{ row.sum }}"> <td data-value="{{ row.sum }}" style="text-align:right;">
{{ row.sum|formatAmount }} {{ row.sum|formatAmount }}
</td> </td>
<td data-value="{{ row.count }}"> <td data-value="{{ row.count }}">
@@ -305,6 +344,13 @@
</td> </td>
</tr> </tr>
{% endfor %} {% endfor %}
<tr>
<td colspan="2">
{{ 'sum'|_ }}
</td>
<td style="text-align:right">{{ totalSum|formatAmount }}</td>
<td>{{ totalCount }}</td>
</tr>
</tbody> </tbody>
</table> </table>
</div> </div>
@@ -324,11 +370,13 @@
<th data-defaultsort="disabled">{{ 'description'|_ }}</th> <th data-defaultsort="disabled">{{ 'description'|_ }}</th>
<th data-defaultsign="month">{{ 'date'|_ }}</th> <th data-defaultsign="month">{{ 'date'|_ }}</th>
<th data-defaultsign="az">{{ 'account'|_ }}</th> <th data-defaultsign="az">{{ 'account'|_ }}</th>
<th data-defaultsign="_19">{{ 'amount'|_ }}</th> <th data-defaultsign="_19" style="text-align:right">{{ 'amount'|_ }}</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
{% set totalSum = 0 %}
{% for row in topIncome %} {% for row in topIncome %}
{% set totalSum = totalSum + row.transaction_amount %}
{% if loop.index > listLength %} {% if loop.index > listLength %}
<tr class="overListLength"> <tr class="overListLength">
{% else %} {% else %}
@@ -351,7 +399,7 @@
{{ row.opposing_account_name }} {{ row.opposing_account_name }}
</a> </a>
</td> </td>
<td data-value="{{ row.transaction_amount }}"> <td data-value="{{ row.transaction_amount }}" style="text-align:right">
{{ row.transaction_amount|formatAmount }} {{ row.transaction_amount|formatAmount }}
</td> </td>
</tr> </tr>
@@ -365,6 +413,12 @@
</td> </td>
</tr> </tr>
{% endif %} {% endif %}
<tr>
<td colspan="3">
{{ 'sum'|_ }}
</td>
<td style="text-align:right">{{ totalSum|formatAmount }}</td>
</tr>
</tfoot> </tfoot>
</table> </table>
</div> </div>