42 lines
1.3 KiB
PHP
42 lines
1.3 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use App\Models\MsPasien;
|
|
use App\Models\MsTindakan;
|
|
use App\Models\TrTransaksi;
|
|
use Illuminate\Http\Request;
|
|
|
|
class DashboardController extends Controller
|
|
{
|
|
public function index()
|
|
{
|
|
// Data pasien per hari
|
|
$pasienPerHari = MsPasien::selectRaw('DATE(created_at) as tanggal, COUNT(*) as jumlah')
|
|
->groupBy('tanggal')
|
|
->orderBy('tanggal', 'desc')
|
|
->take(7)
|
|
->get();
|
|
|
|
// Data pendapatan per hari
|
|
$pendapatanPerHari = TrTransaksi::selectRaw('DATE(tr_transaksis.created_at) as tanggal, SUM(tr_transaksis.JmlTindakan * ms_tindakans.TarifTindakan) as total')
|
|
->join('ms_tindakans', 'tr_transaksis.IdTindakan', '=', 'ms_tindakans.IdTindakan')
|
|
->groupBy('tanggal')
|
|
->orderBy('tanggal', 'desc')
|
|
->take(7)
|
|
->get();
|
|
|
|
// Data pasien berdasarkan jenis kelamin (contoh)
|
|
$genderData = [
|
|
'Laki-laki' => MsPasien::where('JenisKelamin', 'L')->count(),
|
|
'Perempuan' => MsPasien::where('JenisKelamin', 'P')->count(),
|
|
];
|
|
|
|
if (array_sum($genderData) == 0) {
|
|
$genderData = ['Laki-laki' => 120, 'Perempuan' => 100]; // Dummy
|
|
}
|
|
|
|
return view('dashboard', compact('pasienPerHari', 'pendapatanPerHari', 'genderData'));
|
|
}
|
|
}
|