rshabk-app/app/Filament/Widgets/StatsOverview.php
2025-04-27 18:03:42 +07:00

49 lines
2.9 KiB
PHP

<?php
namespace App\Filament\Widgets;
use App\Filament\Resources\TrRegistrasiResource;
use App\Filament\Resources\TrTransaksiResource;
use App\Models\TrRegistrasi;
use App\Models\TrTransaksi;
use Filament\Widgets\StatsOverviewWidget as BaseWidget;
use Filament\Widgets\StatsOverviewWidget\Stat;
use Illuminate\Support\HtmlString;
class StatsOverview extends BaseWidget
{
protected function getStats(): array
{
return [
// total pasien hari ini, deskripsi jumlah keseluruhan pasien dengan link ke halaman pasien
Stat::make('Total Pasien Hari Ini', TrRegistrasi::whereDate('tgl_registrasi', now()->toDateString())->count())
->description(new HtmlString(
'Jumlah keseluruhan ' . TrRegistrasi::count() . ' pasien'
. '<br/><a class="underline" href="' . TrRegistrasiResource::getUrl('index') . '"> Lihat Semua Pasien</a>'
)),
// total pasien bulan ini, deskripsi jumlah keseluruhan pasien dengan link ke halaman pasien
Stat::make('Total Pasien Bulan Ini', TrRegistrasi::whereMonth('tgl_registrasi', now()->month)->count())
->description(new HtmlString(
// ini bulan lalu
'Jumlah keseluruhan ' . TrRegistrasi::whereMonth('tgl_registrasi', now()->subMonth()->month)->count() . ' pasien bulan lalu'
. '<br/><a class="underline" href="' . TrRegistrasiResource::getUrl('index') . '"> Lihat Semua Pasien</a>'
)),
// total tagihan, deskripsi jumlah keseluruhan tagihan dengan link ke halaman tagihan
Stat::make('Total Pendapatan Hari Ini', 'Rp ' . number_format(TrTransaksi::whereDate('created_at', now()->toDateString())->where('status', 'paid')->sum('total_harga'), 0, ',', '.'))
->description(new HtmlString(
'Jumlah keseluruhan <strong>Rp.' . number_format(TrTransaksi::where('status', 'paid')->sum('total_harga'), 0, ',', '.') . '</strong> tagihan'
. '<br/><a class="underline" href="' . TrTransaksiResource::getUrl('index') . '"> Lihat Semua Tagihan</a>'
)),
// total tagihan bulan ini, deskripsi jumlah keseluruhan tagihan dengan link ke halaman tagihan
Stat::make('Total Pendapatan Bulan Ini', 'Rp ' . number_format(TrTransaksi::whereMonth('created_at', now()->month)->where('status', 'paid')->sum('total_harga'), 0, ',', '.'))
->description(new HtmlString(
// ini bulan lalu
'Jumlah keseluruhan <strong>Rp.' . number_format(TrTransaksi::whereMonth('created_at', now()->subMonth()->month)->where('status', 'paid')->sum('total_harga'), 0, ',', '.') . '</strong> tagihan bulan lalu'
. '<br/><a class="underline" href="' . TrTransaksiResource::getUrl('index') . '"> Lihat Semua Tagihan</a>'
)),
];
}
}