29 lines
927 B
PHP
29 lines
927 B
PHP
<?php
|
|
|
|
namespace App\Livewire\Matrix;
|
|
|
|
use Livewire\Component;
|
|
use App\Models\User;
|
|
use App\Models\ExamResult;
|
|
|
|
class ComplianceMonitor extends Component
|
|
{
|
|
public function render()
|
|
{
|
|
// Contoh logika sederhana: Menghitung persentase karyawan yang sudah lulus ujian
|
|
$totalKaryawan = User::where('role', 'karyawan')->count();
|
|
|
|
// Hitung karyawan unik yang sudah memiliki minimal 1 hasil lulus
|
|
$karyawanLulus = ExamResult::where('is_passed', true)
|
|
->distinct('user_id')
|
|
->count('user_id');
|
|
|
|
$complianceRate = $totalKaryawan > 0 ? round(($karyawanLulus / $totalKaryawan) * 100) : 0;
|
|
|
|
return view('livewire.matrix.compliance-monitor', [
|
|
'complianceRate' => $complianceRate,
|
|
'totalKaryawan' => $totalKaryawan,
|
|
'karyawanLulus' => $karyawanLulus
|
|
]);
|
|
}
|
|
} |