App\Http\Controllers\ReportController::generateExpenseReport PHP Method

generateExpenseReport() private method

private generateExpenseReport ( $startDate, $endDate, $isExport ) : array
$startDate
$endDate
$isExport
return array
    private function generateExpenseReport($startDate, $endDate, $isExport)
    {
        $columns = ['vendor', 'client', 'date', 'expense_amount'];
        $account = Auth::user()->account;
        $displayData = [];
        $reportTotals = [];
        $expenses = Expense::scope()->withArchived()->with('client.contacts', 'vendor')->where('expense_date', '>=', $startDate)->where('expense_date', '<=', $endDate);
        foreach ($expenses->get() as $expense) {
            $amount = $expense->amountWithTax();
            $displayData[] = [$expense->vendor ? $isExport ? $expense->vendor->name : $expense->vendor->present()->link : '', $expense->client ? $isExport ? $expense->client->getDisplayName() : $expense->client->present()->link : '', $expense->present()->expense_date, Utils::formatMoney($amount, $expense->currency_id)];
            $reportTotals = $this->addToTotals($reportTotals, $expense->expense_currency_id, 'amount', $amount);
            $reportTotals = $this->addToTotals($reportTotals, $expense->invoice_currency_id, 'amount', 0);
        }
        return ['columns' => $columns, 'displayData' => $displayData, 'reportTotals' => $reportTotals];
    }