private function generateProductReport($startDate, $endDate, $isExport)
{
$columns = ['client', 'invoice_number', 'invoice_date', 'quantity', 'product'];
$account = Auth::user()->account;
$displayData = [];
$reportTotals = [];
$clients = Client::scope()->withTrashed()->with('contacts')->where('is_deleted', '=', false)->with(['invoices' => function ($query) use($startDate, $endDate) {
$query->where('invoice_date', '>=', $startDate)->where('invoice_date', '<=', $endDate)->where('is_deleted', '=', false)->where('is_recurring', '=', false)->where('invoice_type_id', '=', INVOICE_TYPE_STANDARD)->with(['invoice_items'])->withTrashed();
}]);
foreach ($clients->get() as $client) {
foreach ($client->invoices as $invoice) {
foreach ($invoice->invoice_items as $invoiceItem) {
$displayData[] = [$isExport ? $client->getDisplayName() : $client->present()->link, $isExport ? $invoice->invoice_number : $invoice->present()->link, $invoice->present()->invoice_date, round($invoiceItem->qty, 2), $invoiceItem->product_key];
//$reportTotals = $this->addToTotals($reportTotals, $client->currency_id, 'paid', $payment ? $payment->amount : 0);
}
//$reportTotals = $this->addToTotals($reportTotals, $client->currency_id, 'amount', $invoice->amount);
//$reportTotals = $this->addToTotals($reportTotals, $client->currency_id, 'balance', $invoice->balance);
}
}
return ['columns' => $columns, 'displayData' => $displayData, 'reportTotals' => []];
}