validate([ 'startDate' => 'nullable|date_format:d-m-Y', 'endDate' => 'nullable|date_format:d-m-Y|after_or_equal:startDate', ]); $startDate = null; $endDate = null; if (isset($validated['startDate']) && $validated['startDate']) { $startDate = Carbon::createFromFormat('d-m-Y', $validated['startDate'])->startOfDay(); } else { $startDate = Carbon::now()->subMonths(1)->startOfDay(); } if (isset($validated['endDate']) && $validated['endDate']) { $endDate = Carbon::createFromFormat('d-m-Y', $validated['endDate'])->endOfDay(); } else { $endDate = Carbon::now()->endOfDay(); } $exportsTransactions = new ExportsSalesInvoiceReport($startDate, $endDate); $exportFileName = 'Exchange - Sales Invoice Report.xls'; $filesystemDriver = Storage::getDefaultDriver(); if($filesystemDriver === 's3'){ return response([ 'src' => AWSS3Helper::S3Exportable($exportFileName, $exportsTransactions) ]); } else{ $response = $exportsTransactions->download($exportFileName, Excel::XLS, ['Content-Type' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet']); ob_end_clean(); } return $response; } public function companies(Request $request){ $validated = $request->validate([ 'startDate' => 'nullable|date_format:d-m-Y', 'endDate' => 'nullable|date_format:d-m-Y|after_or_equal:startDate', ]); $startDate = null; $endDate = null; if (isset($validated['startDate']) && $validated['startDate']) { $startDate = Carbon::createFromFormat('d-m-Y', $validated['startDate'])->startOfDay(); } else { $startDate = Carbon::now()->subMonths(1)->startOfDay(); } if (isset($validated['endDate']) && $validated['endDate']) { $endDate = Carbon::createFromFormat('d-m-Y', $validated['endDate'])->endOfDay(); } else { $endDate = Carbon::now()->endOfDay(); } $exportsCompanies = new ExportsCompanies($startDate, $endDate); $exportFileName = 'Exchange - Customers Data Report.xls'; $filesystemDriver = Storage::getDefaultDriver(); if($filesystemDriver === 's3'){ return response([ 'src' => AWSS3Helper::S3Exportable($exportFileName, $exportsCompanies) ]); } else{ $response = $exportsCompanies->download($exportFileName, Excel::XLS, ['Content-Type' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet']); ob_end_clean(); } return $response; } }