First reports.

This commit is contained in:
Sander Dorigo
2014-11-02 18:46:01 +01:00
parent 0f1437dd6a
commit ef39f31ea1
11 changed files with 370 additions and 286 deletions

View File

@@ -12,6 +12,7 @@ use LaravelBook\Ardent\Ardent;
use FireflyIII\Database\Ifaces\CommonDatabaseCalls;
use FireflyIII\Database\Ifaces\CUD;
use FireflyIII\Database\Ifaces\TransactionJournalInterface;
/**
* Class TransactionJournal
*
@@ -29,6 +30,43 @@ class TransactionJournal implements TransactionJournalInterface, CUD, CommonData
$this->setUser(\Auth::user());
}
/**
* @param Carbon $date
*
* @return float
*/
public function getSumOfIncomesByMonth(Carbon $date)
{
$end = clone $date;
$date->startOfMonth();
$end->endOfMonth();
$list = $this->getUser()->transactionjournals()->transactionTypes(['Deposit'])->before($end)->after($date)->get(['transaction_journals.*']);
$sum = 0;
/** @var \TransactionJournal $entry */
foreach ($list as $entry) {
$sum += $entry->getAmount();
}
return $sum;
}
/**
* @param Carbon $date
*
* @return float
*/
public function getSumOfExpensesByMonth(Carbon $date) {
$end = clone $date;
$date->startOfMonth();
$end->endOfMonth();
$list = $this->getUser()->transactionjournals()->transactionTypes(['Withdrawal'])->before($end)->after($date)->get(['transaction_journals.*']);
$sum = 0;
/** @var \TransactionJournal $entry */
foreach ($list as $entry) {
$sum += $entry->getAmount();
}
return $sum;
}
/**
* @param Carbon $start
* @param Carbon $end
@@ -40,6 +78,14 @@ class TransactionJournal implements TransactionJournalInterface, CUD, CommonData
return $this->getuser()->transactionjournals()->withRelevantData()->before($end)->after($start)->get();
}
/**
* @return TransactionJournal
*/
public function first()
{
return $this->getUser()->transactionjournals()->orderBy('date', 'ASC')->first();
}
/**
* @param Ardent $model