39 lines
1.3 KiB
PHP
39 lines
1.3 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\Admin;
|
|
|
|
use App\Http\Controllers\Controller;
|
|
use Illuminate\Http\Request;
|
|
use App\Models\Sewa;
|
|
use Carbon\Carbon;
|
|
|
|
class ReportController extends Controller
|
|
{
|
|
public function transactions(Request $request)
|
|
{
|
|
// Ambil data transaksi (sewa yang sudah selesai atau dikonfirmasi)
|
|
$query = Sewa::with('user', 'paket')
|
|
->whereIn('status', ['confirmed', 'completed']); // Asumsi 'confirmed' dan 'completed' adalah status yang relevan untuk laporan transaksi
|
|
|
|
// Filter berdasarkan tanggal jika ada
|
|
if ($request->has('start_date') && $request->has('end_date')) {
|
|
$startDate = Carbon::parse($request->input('start_date'))->startOfDay();
|
|
$endDate = Carbon::parse($request->input('end_date'))->endOfDay();
|
|
$query->whereBetween('created_at', [$startDate, $endDate]);
|
|
}
|
|
|
|
$transactions = $query->latest()->paginate(10); // Paginate hasilnya
|
|
|
|
return view('admin.reports.transactions', compact('transactions', 'request'));
|
|
}
|
|
|
|
public function updateStatus($id)
|
|
{
|
|
$sewa = Sewa::findOrFail($id);
|
|
$sewa->status = 'completed';
|
|
$sewa->save();
|
|
|
|
return redirect()->route('admin.reports.transactions')
|
|
->with('success', 'Status transaksi berhasil diperbarui menjadi completed');
|
|
}
|
|
}
|