@csrf
KPI Summary
0%
Poor
Overall Rating Poor
80-100: Excellent
Eligible for Monthly Incentive
61-79: Good
Eligible for quarterly incentive
41-60: Average
Eligible for Annual Incentive
21-40: Below Average
0-20: Poor
Overall Rating
Average
@php // Build a simple month list for dropdown: previous month as default candidate $prevMonthCarbon = \Carbon\Carbon::now()->subMonth(); $prevMonthKey = strtolower($prevMonthCarbon->format('M')) . '-' . $prevMonthCarbon->format('Y'); // e.g., oct-2025 $prevMonthLabel = $prevMonthCarbon->format('M- Y'); @endphp @csrf
SNO KPI (Key Performance Indicator) Weightage Target Self Appraisal Rating User Remark Supervisor Rating Score HOD Remarks UOM
Select month to view KPI data.

KPI Summary (Manual Approved Data From Old KPI System)

KPI Apr May Jun Jul Aug Sep Oct Nov Dec Jan Feb Mar

Performance Charts - New KPI System (ERP Based)

KPI-wise Trend Analysis

Attrition - Quarterly

Total Employees
Score
Top Performer
@php $fixedCols = ['Tno','Name','DeptName','DesignationName','Emplno','Row_Average']; $years = []; if (!empty($consolData)) { foreach (get_object_vars($consolData[0]) as $key => $val) { // Expect column format: Apr_2025 if (!in_array($key, $fixedCols) && preg_match('/^[A-Za-z]{3}_(\d{4})$/', $key, $m)) { $years[] = $m[1]; } } } $years = array_values(array_unique($years)); sort($years); @endphp
Loading...
@php $fixedCols = ['Tno','Name','DeptName','DesignationName','Emplno','Row_Average']; $months = []; if (count($consolData) > 0) { foreach (get_object_vars($consolData[0]) as $key => $val) { if (!in_array($key, $fixedCols)) { $months[] = $key; } } } $totalCols = 6 + count($months); @endphp
@foreach($months as $month) @if($month !== 'DesignationCode') @php preg_match('/^[A-Za-z]{3}_(\d{4})$/', $month, $m); $year = $m[1] ?? ''; @endphp @endif @endforeach @foreach($consolData as $crow) @foreach($months as $month) @if($month !== 'DesignationCode') @php preg_match('/^[A-Za-z]{3}_(\d{4})$/', $month, $m); $year = $m[1] ?? ''; @endphp @endif @endforeach @endforeach
Employee ID Employee Name Department Designation {{ strtoupper(substr($month, 0, 3)) }} Average Emplno
{{ $crow->Tno }} {{ $crow->Name }} {{ $crow->DeptName }} {{ $crow->DesignationName }} @php $val = $crow->$month ?? null; @endphp @php $parts = explode('-', $val); $score = trim($parts[0] ?? ''); $flag = trim($parts[1] ?? ''); @endphp @if($val !== null && $val !== '') {{ $score }} @else @endif @php $avg = $crow->Row_Average; if ($avg >= 80) { $avgBgColor = 'rgba(34, 197, 94, 0.10)'; $avgColor = '#22c55e'; } elseif ($avg >= 61) { $avgBgColor = 'rgba(179, 107, 164, 0.10)'; $avgColor = '#b36ba4'; //$avgColor = '#0d6efd'; // blue } elseif ($avg >= 41) { $avgBgColor = 'rgba(251, 146, 60, 0.10)'; $avgColor = '#fb923c'; } elseif ($avg >= 21) { $avgBgColor = 'rgba(148, 163, 184, 0.12)'; $avgColor = '#94a3b8'; } else { $avgBgColor = 'rgba(239, 68, 68, 0.10)'; $avgColor = '#ef4444'; } @endphp {{ number_format($avg, 1) }} {{ $crow->Emplno }}
Click to load KPI summary...
@foreach($months as $month) @endforeach
Employee ID Employee Name Department Designation{{ strtoupper(substr($month, 0, 3)) }}Average Emplno

Employee-wise KPI Trend (Monthly Scores)

KPI - Rating Scale:
0-5
Excellent
6-7
Good
7-9
Average
>10
Poor
Ratings:
@endsection