You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
44 lines
1.3 KiB
PHP
44 lines
1.3 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use App\Exports\PayrollExport;
|
|
use App\Exports\PayrollExportFromView;
|
|
use App\Models\Payroll;
|
|
use Illuminate\Http\Request;
|
|
|
|
class ReportController extends Controller
|
|
{
|
|
public function index(Request $request)
|
|
{
|
|
$query = Payroll::with('employee');
|
|
|
|
$startDate = now()->startOfMonth()->toDateString();
|
|
$endDate = now()->endOfMonth()->toDateString();
|
|
|
|
if ($request->startDate != null && $request->endDate != null) {
|
|
$query->whereBetween('date', [$request->startDate, $request->endDate]);
|
|
$startDate = $request->startDate;
|
|
$endDate = $request->endDate;
|
|
} else {
|
|
$query->whereBetween('date', [$startDate, $endDate]);
|
|
}
|
|
|
|
return inertia('Report', [
|
|
'payrolls' => $query->orderBy('date', 'desc')->paginate(10),
|
|
'_startDate' => $startDate,
|
|
'_endDate' => $endDate
|
|
]);
|
|
}
|
|
|
|
public function export(Request $request)
|
|
{
|
|
return (new PayrollExport($request->startDate, $request->endDate))->download('reports.xlsx', \Maatwebsite\Excel\Excel::XLSX);
|
|
}
|
|
|
|
public function exportPdf(Request $request)
|
|
{
|
|
return (new PayrollExportFromView($request->startDate, $request->endDate))->download('reports.pdf', \Maatwebsite\Excel\Excel::DOMPDF);
|
|
}
|
|
}
|