@extends('layouts.index')
@push('style')
@endpush
@section('content')
@php
$tahunSelected = request('tahun', date('Y'));
$bulanLabel = [
1 => 'Jan',
2 => 'Feb',
3 => 'Mar',
4 => 'Apr',
5 => 'Mei',
6 => 'Jun',
7 => 'Jul',
8 => 'Agu',
9 => 'Sep',
10 => 'Okt',
11 => 'Nov',
12 => 'Des',
];
@endphp
@php
// ======= TOTAL KESELURUHAN (untuk footer) =======
$grandSP = 0;
$grandCP = 0;
$grandKP = 0;
$grandTP = 0;
$grandTotalSurvei = 0;
$grandTotalPly = 0;
foreach ($datas as $d) {
$did = $d->id;
$sp = $surveiStatusTotalMap[$did]['Sangat Puas'] ?? 0;
$cp = $surveiStatusTotalMap[$did]['Cukup Puas'] ?? 0;
$kp = $surveiStatusTotalMap[$did]['Kurang Puas'] ?? 0;
$tp = $surveiStatusTotalMap[$did]['Tidak Puas'] ?? 0;
$grandSP += $sp;
$grandCP += $cp;
$grandKP += $kp;
$grandTP += $tp;
$grandTotalSurvei += $surveiTotalMap[$did] ?? 0;
$grandTotalPly += $pelayananTotalMap[$did] ?? 0;
}
$grandAvgScore =
$grandTotalSurvei > 0
? round(($grandSP * 4 + $grandCP * 3 + $grandKP * 2 + $grandTP * 1) / $grandTotalSurvei, 2)
: 0;
$grandKepuasan = $grandTotalSurvei > 0 ? round((($grandSP + $grandCP) / $grandTotalSurvei) * 100) : 0;
$grandCoverage = $grandTotalPly > 0 ? round(($grandTotalSurvei / $grandTotalPly) * 100) : 0;
@endphp
Keterangan Status Survei
SP Sangat Puas (Skor 4) |
CP Cukup Puas (Skor 3) |
KP Kurang Puas (Skor 2) |
TP Tidak Puas (Skor 1) |
Ply Total Pelayanan (Terapis Utama) per bulan
Keterangan Persentase
- % Kepuasan = (SP + CP) / Total Survei × 100%
- Coverage = Total Survei / Total Ply × 100%
Catatan: Status dihitung dari rata-rata skor bagian A (7 pertanyaan), lalu dibulatkan.
| # |
Nama Terapis |
Alamat |
No Hp |
@for ($m = 1; $m <= 12; $m++)
{{ $bulanLabel[$m] }} |
@endfor
Total Status (Setahun) |
Total Ply |
Total Survei |
% Kepuasan |
Coverage |
@for ($m = 1; $m <= 12; $m++)
| SP |
CP |
KP |
TP |
Ply |
@endfor
SP |
CP |
KP |
TP |
@foreach ($datas as $data)
@php
$did = $data->id;
$totalPelayanan = $pelayananTotalMap[$did] ?? 0;
$totalSurvei = $surveiTotalMap[$did] ?? 0;
$spY = $surveiStatusTotalMap[$did]['Sangat Puas'] ?? 0;
$cpY = $surveiStatusTotalMap[$did]['Cukup Puas'] ?? 0;
$kpY = $surveiStatusTotalMap[$did]['Kurang Puas'] ?? 0;
$tpY = $surveiStatusTotalMap[$did]['Tidak Puas'] ?? 0;
$kepuasan = $totalSurvei > 0 ? round((($spY + $cpY) / $totalSurvei) * 100) : 0;
$coverage = $totalPelayanan > 0 ? round(($totalSurvei / $totalPelayanan) * 100) : 0;
@endphp
| {{ $loop->iteration }} |
{{ $data->nama_dokter }} |
{{ $data->alamat }} |
{{ $data->no_hp }} |
@for ($m = 1; $m <= 12; $m++)
@php
$sp = $surveiMonthStatusMap[$did][$m]['Sangat Puas'] ?? 0;
$cp = $surveiMonthStatusMap[$did][$m]['Cukup Puas'] ?? 0;
$kp = $surveiMonthStatusMap[$did][$m]['Kurang Puas'] ?? 0;
$tp = $surveiMonthStatusMap[$did][$m]['Tidak Puas'] ?? 0;
$ply = $pelayananMap[$did][$m] ?? 0;
@endphp
{{ $sp }} |
{{ $cp }} |
{{ $kp }} |
{{ $tp }} |
{{ $ply }} |
@endfor
{{ $spY }} |
{{ $cpY }} |
{{ $kpY }} |
{{ $tpY }} |
{{ $totalPelayanan }} |
{{ $totalSurvei }} |
{{ $kepuasan }}%
|
{{ $coverage }}%
|
@endforeach
{{-- ======= FOOTER (SKOR TOTAL KESELURUHAN) ======= --}}
|
Skor Rata-rata Keseluruhan: {{ $grandAvgScore }}
|
Total Survei: {{ $grandTotalSurvei }}
|
SP: {{ $grandSP }}
CP: {{ $grandCP }}
KP: {{ $grandKP }}
TP: {{ $grandTP }}
|
% Kepuasan: {{ $grandKepuasan }}%
|
Coverage: {{ $grandCoverage }}%
|
SP=4, CP=3, KP=2, TP=1 (hasil dari rata-rata skor A / 7 pertanyaan).
% Kepuasan = (SP+CP)/Total Survei. Coverage = Total Survei/Total Ply.
@endsection
@push('script')
@endpush