This commit is contained in:
Dwi Swandhana
2026-03-06 06:52:40 +07:00
parent 5d6afc19af
commit ab438f0c55
2 changed files with 102 additions and 61 deletions
@@ -75,6 +75,57 @@ class FrontpageController extends Controller
$data['butuhverifikasi'] = $unveri;
$data['antrian'] = $hariini;
$data['persenantrian'] = $tulis;
$now = Carbon::now();
$rawEarlyWarnings = Periksa::leftJoin('poli', 'periksa.poli_id', '=', 'poli.id')
->select(
'periksa.id',
'periksa.nofoto',
'periksa.noregister',
'periksa.nmpasien',
'periksa.reques',
'periksa.asalpasien',
'periksa.daftar',
'periksa.status',
'poli.subpoli',
'poli.modaliti2'
)
->where(function($q) {
$q->whereNull('periksa.status')
->orWhere('periksa.status', '<>', 'Selesai');
})
->whereNotNull('periksa.daftar')
->orderBy('periksa.daftar', 'ASC')
->get();
$earlyWarnings = [];
foreach ($rawEarlyWarnings as $row) {
$targetDays = 1;
if (!empty($row->modaliti2) && is_numeric($row->modaliti2) && intval($row->modaliti2) > 0) {
$targetDays = intval($row->modaliti2);
}
$waktuDaftar = Carbon::parse($row->daftar);
$targetSelesai = $waktuDaftar->copy()->addDays($targetDays);
$sisaMenit = $now->diffInMinutes($targetSelesai, false);
if ($sisaMenit <= 60) {
$earlyWarnings[] = [
'id' => $row->id,
'nofoto' => $row->nofoto,
'noregister' => $row->noregister,
'nmpasien' => $row->nmpasien,
'reques' => $row->reques,
'asalpasien' => $row->asalpasien,
'status' => $row->status ?? '-',
'daftar' => $waktuDaftar->format('Y-m-d H:i:s'),
'target_hari' => $targetDays,
'target_selesai' => $targetSelesai->format('Y-m-d H:i:s'),
'sisa_menit' => $sisaMenit,
'warning_label' => $sisaMenit <= 0 ? 'Melewati Target' : 'Kurang dari 1 Jam'
];
}
}
$data['earlyWarnings'] = $earlyWarnings;
return view('dokter.dashborad', $data);
} else {
try {