mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-10-18 18:40:12 +00:00
Smaller report. [skip ci]
This commit is contained in:
@@ -59,5 +59,13 @@ class Balance
|
|||||||
return $this->balanceLines;
|
return $this->balanceLines;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param Collection $balanceLines
|
||||||
|
*/
|
||||||
|
public function setBalanceLines(Collection $balanceLines)
|
||||||
|
{
|
||||||
|
$this->balanceLines = $balanceLines;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -28,7 +28,6 @@ use FireflyIII\Repositories\Tag\TagRepositoryInterface;
|
|||||||
use Illuminate\Database\Query\JoinClause;
|
use Illuminate\Database\Query\JoinClause;
|
||||||
use Illuminate\Support\Collection;
|
use Illuminate\Support\Collection;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class BalanceReportHelper
|
* Class BalanceReportHelper
|
||||||
*
|
*
|
||||||
@@ -85,6 +84,9 @@ class BalanceReportHelper implements BalanceReportHelperInterface
|
|||||||
$balance->addBalanceLine($this->createDifferenceBalanceLine($accounts, $spentData, $start, $end));
|
$balance->addBalanceLine($this->createDifferenceBalanceLine($accounts, $spentData, $start, $end));
|
||||||
$balance->setBalanceHeader($header);
|
$balance->setBalanceHeader($header);
|
||||||
|
|
||||||
|
// remove budgets without expenses from balance lines:
|
||||||
|
$balance = $this->removeUnusedBudgets($balance);
|
||||||
|
|
||||||
return $balance;
|
return $balance;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -305,4 +307,36 @@ class BalanceReportHelper implements BalanceReportHelperInterface
|
|||||||
return $tags;
|
return $tags;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param Balance $balance
|
||||||
|
*
|
||||||
|
* @return Balance
|
||||||
|
*/
|
||||||
|
private function removeUnusedBudgets(Balance $balance): Balance
|
||||||
|
{
|
||||||
|
$set = $balance->getBalanceLines();
|
||||||
|
$newSet = new Collection;
|
||||||
|
/** @var BalanceLine $entry */
|
||||||
|
foreach ($set as $entry) {
|
||||||
|
if (!is_null($entry->getBudget()->id)) {
|
||||||
|
$sum = '0';
|
||||||
|
/** @var BalanceEntry $balanceEntry */
|
||||||
|
foreach ($entry->getBalanceEntries() as $balanceEntry) {
|
||||||
|
$sum = bcadd($sum, $balanceEntry->getSpent());
|
||||||
|
}
|
||||||
|
if (bccomp($sum, '0') === -1) {
|
||||||
|
$newSet->push($entry);
|
||||||
|
}
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
$newSet->push($entry);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
$balance->setBalanceLines($newSet);
|
||||||
|
|
||||||
|
return $balance;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user