MIF_E31230333/app/Http/Controllers/Admin/KonsultasiController.php

43 lines
1.3 KiB
PHP

<?php
namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
use App\Models\Konsultasi;
use App\Services\CertaintyFactorService;
class KonsultasiController extends Controller
{
public function __construct(private CertaintyFactorService $cfService) {}
// Tampilkan semua riwayat konsultasi
public function index()
{
$konsultasi = Konsultasi::with(['hasilUtama.penyakit', 'hasilDiagnosa', 'user'])
->when(request('search'), fn($q) =>
$q->where('kode_konsultasi', 'like', '%' . request('search') . '%')
)
->latest('tanggal')
->paginate(15);
return view('admin.konsultasi.index', compact('konsultasi'));
}
// Tampilkan detail satu konsultasi beserta log perhitungan CF
public function show(int $id)
{
$konsultasi = Konsultasi::with([
'hasilDiagnosa.penyakit.solusi',
'gejalaList.gejala',
'user',
])->findOrFail($id);
// Hitung ulang untuk mendapatkan detail log CF
$gejalaIds = $konsultasi->gejalaList->pluck('id_gejala')->toArray();
$hasilInfer = $this->cfService->hitung($gejalaIds);
return view('admin.konsultasi.show', compact('konsultasi', 'hasilInfer'));
}
}