@extends('layouts.app', ['class' => 'g-sidenav-show bg-gray-100']) @section('content') @include('layouts.navbars.auth.topnav', ['title' => ''])
{{ $title_menu }}

{{-- Survey Info --}}

Informasi Survey


ID Survey: {{ $survey->idsurvei }}

Judul Form: {{ $survey->judul_form }}

Subjudul: {{ $survey->subjudul }}

Departemen: {{ $survey->departemen_name ?? $survey->departemen }}

Jenis: {{ $survey->jenis === 'R' ? 'Repetisi' : 'Sekali' }}

Tanggal Mulai: {{ date('d-m-Y', strtotime($survey->tanggal_mulai)) }}

Tanggal Selesai: {{ date('d-m-Y', strtotime($survey->tanggal_selesai)) }}

Status: @if($survey->status === 'selesai') Selesai @elseif($survey->status === 'proses') Proses @else Entri @endif

Deskripsi:

{!! $survey->deskripsi !!}
{{-- Analisis Card --}}

Analisis


@if(isset($periode_filter) && $periode_filter === '3years') {{-- Multi-Year Analysis Table --}} @foreach($analysis_years as $year) @endforeach @foreach($analysis_years as $year) @endforeach @foreach($analisis_summary as $row) @foreach($analysis_years as $year) @if(isset($row['yearly_data'][$year]['is_group']) && $row['yearly_data'][$year]['is_group']) {{-- Group Linear Scale - Data per Vendor --}} @else {{-- Regular Data --}} @php $nilai = $row['yearly_data'][$year]['nilai']; $kesimpulan = $row['yearly_data'][$year]['kesimpulan']; // Ambil kata_positif dan kata_negatif dari yearly_data atau row level $kataPositif = $row['yearly_data'][$year]['kata_positif'] ?? $row['scale_data']->kata_positif ?? 'Tinggi'; $kataNegatif = $row['yearly_data'][$year]['kata_negatif'] ?? $row['scale_data']->kata_negatif ?? 'Rendah'; if ($row['jenis'] === 'Linear Scale' && is_numeric($nilai)) { $nilaiFloat = floatval($nilai); if ($nilaiFloat >= 4.5) { $kesimpulan = 'Sangat ' . $kataPositif; } elseif ($nilaiFloat >= 3.5) { $kesimpulan = $kataPositif; } elseif ($nilaiFloat >= 2.5) { $kesimpulan = 'Sedang'; } elseif ($nilaiFloat >= 1.5) { $kesimpulan = $kataNegatif; } else { $kesimpulan = 'Sangat ' . $kataNegatif; } } @endphp @endif @endforeach {{-- Rata-rata Column --}} @endforeach @php $hasLinearScale = false; foreach($analisis_summary as $row) { if($row['jenis'] === 'Linear Scale') { $hasLinearScale = true; break; } } @endphp @if($hasLinearScale) @foreach($analysis_years as $year) @endforeach @endif
No Pertanyaan Tipe{{ $year }}Rata-rata
Kesimpulan Nilai
{{ $row['no'] }} {!! strip_tags($row['soal']) !!} {{ $row['jenis'] }} @if(isset($row['yearly_data'][$year]['vendor_data'])) @foreach($row['yearly_data'][$year]['vendor_data'] as $index => $vData)
{{ $vData['vendor_name'] }}:
@endforeach @else - @endif
@if(isset($row['yearly_data'][$year]['vendor_data'])) @php // Cari nilai tertinggi dan terendah untuk tahun ini $yearValues = array_column($row['yearly_data'][$year]['vendor_data'], 'avg'); $yearValues = array_filter($yearValues, function($v) { return is_numeric($v) && $v != '-'; }); $maxValue = !empty($yearValues) ? max($yearValues) : null; $minValue = !empty($yearValues) ? min($yearValues) : null; @endphp @foreach($row['yearly_data'][$year]['vendor_data'] as $index => $vData) @php $currentValue = $vData['avg']; $color = '#000'; // Default hitam if (is_numeric($currentValue) && $currentValue != '-') { if ($currentValue == $maxValue && $maxValue != $minValue) { $color = '#28a745'; // tertinggi } elseif ($currentValue == $minValue && $maxValue != $minValue) { $color = '#dc3545'; // terendah } } @endphp
{{ $currentValue }}
@endforeach @else - @endif
{{ $kesimpulan }} {{ $nilai }} @if(isset($row['vendor_averages']) && count($row['vendor_averages']) > 0) @php // Cari nilai tertinggi dan terendah untuk kolom rata-rata $avgValues = array_column($row['vendor_averages'], 'avg'); $avgValues = array_filter($avgValues, function($v) { return is_numeric($v) && $v != '-'; }); $maxAvg = !empty($avgValues) ? max($avgValues) : null; $minAvg = !empty($avgValues) ? min($avgValues) : null; @endphp @foreach($row['vendor_averages'] as $index => $vAvg) @php $currentAvg = $vAvg['avg']; $colorAvg = '#000'; // Default hitam if (is_numeric($currentAvg) && $currentAvg != '-') { if ($currentAvg == $maxAvg && $maxAvg != $minAvg) { $colorAvg = '#28a745'; // Hijau untuk tertinggi } elseif ($currentAvg == $minAvg && $maxAvg != $minAvg) { $colorAvg = '#dc3545'; // Merah untuk terendah } } @endphp
{{ $vAvg['name'] }}: {{ $currentAvg }}
@endforeach @else {{ $row['rata_rata_pertanyaan'] }} @endif
Rata-rata:{{ $yearly_averages[$year] ?? '-' }}{{ $overall_linear_average }}
{{-- analisi year --}} @elseif(isset($periode_filter) && $periode_filter === 'year') @foreach($analysis_surveys as $survey) @endforeach @foreach($analysis_surveys as $survey) @endforeach @foreach($analisis_summary as $row) @foreach($analysis_surveys as $survey) @if(isset($row['survey_data'][$survey->idsurvei]['is_group']) && $row['survey_data'][$survey->idsurvei]['is_group']) {{-- Group Linear Scale - Data per Vendor --}} @else {{-- Regular Data --}} @php $nilai = $row['survey_data'][$survey->idsurvei]['nilai']; $kesimpulan = $row['survey_data'][$survey->idsurvei]['kesimpulan']; // Ambil kata_positif dan kata_negatif dari survey_data atau row level $kataPositif = $row['survey_data'][$survey->idsurvei]['kata_positif'] ?? $row['scale_data']->kata_positif ?? 'Tinggi'; $kataNegatif = $row['survey_data'][$survey->idsurvei]['kata_negatif'] ?? $row['scale_data']->kata_negatif ?? 'Rendah'; if ($row['jenis'] === 'Linear Scale' && is_numeric($nilai)) { $nilaiFloat = floatval($nilai); if ($nilaiFloat >= 4.5) { $kesimpulan = 'Sangat ' . $kataPositif; } elseif ($nilaiFloat >= 3.5) { $kesimpulan = $kataPositif; } elseif ($nilaiFloat >= 2.5) { $kesimpulan = 'Sedang'; } elseif ($nilaiFloat >= 1.5) { $kesimpulan = $kataNegatif; } else { $kesimpulan = 'Sangat ' . $kataNegatif; } } @endphp @endif @endforeach {{-- Rata-rata Column --}} @endforeach @php $hasLinearScale = false; foreach($analisis_summary as $row) { if($row['jenis'] === 'Linear Scale') { $hasLinearScale = true; break; } } @endphp @if($hasLinearScale) @foreach($analysis_surveys as $survey) @endforeach @endif
No Pertanyaan Tipe{{ $survey->subjudul }}Rata-rata
Kesimpulan Nilai
{{ $row['no'] }} {!! strip_tags($row['soal']) !!} {{ $row['jenis'] }} @if(isset($row['survey_data'][$survey->idsurvei]['vendor_data'])) @foreach($row['survey_data'][$survey->idsurvei]['vendor_data'] as $index => $vData)
{{ $vData['vendor_name'] }}:
@endforeach @else - @endif
@if(isset($row['survey_data'][$survey->idsurvei]['vendor_data'])) @php // Cari nilai tertinggi dan terendah untuk survey ini $surveyValues = array_column($row['survey_data'][$survey->idsurvei]['vendor_data'], 'avg'); $surveyValues = array_filter($surveyValues, function($v) { return is_numeric($v) && $v != '-'; }); $maxValue = !empty($surveyValues) ? max($surveyValues) : null; $minValue = !empty($surveyValues) ? min($surveyValues) : null; @endphp @foreach($row['survey_data'][$survey->idsurvei]['vendor_data'] as $index => $vData) @php $currentValue = $vData['avg']; $color = '#000'; // Default hitam if (is_numeric($currentValue) && $currentValue != '-') { if ($currentValue == $maxValue && $maxValue != $minValue) { $color = '#28a745'; // tertinggi } elseif ($currentValue == $minValue && $maxValue != $minValue) { $color = '#dc3545'; // terendah } } @endphp
{{ $currentValue }}
@endforeach @else - @endif
{{ $kesimpulan }} {{ $nilai }} @if(isset($row['vendor_averages']) && count($row['vendor_averages']) > 0) @php // Cari nilai tertinggi dan terendah untuk kolom rata-rata $avgValues = array_column($row['vendor_averages'], 'avg'); $avgValues = array_filter($avgValues, function($v) { return is_numeric($v) && $v != '-'; }); $maxAvg = !empty($avgValues) ? max($avgValues) : null; $minAvg = !empty($avgValues) ? min($avgValues) : null; @endphp @foreach($row['vendor_averages'] as $index => $vAvg) @php $currentAvg = $vAvg['avg']; $colorAvg = '#000'; // Default hitam if (is_numeric($currentAvg) && $currentAvg != '-') { if ($currentAvg == $maxAvg && $maxAvg != $minAvg) { $colorAvg = '#28a745'; // Hijau untuk tertinggi } elseif ($currentAvg == $minAvg && $maxAvg != $minAvg) { $colorAvg = '#dc3545'; // Merah untuk terendah } } @endphp
{{ $vAvg['name'] }}: {{ $currentAvg }}
@endforeach @else {{ $row['rata_rata_pertanyaan'] }} @endif
Rata-rata:{{ $survey_averages[$survey->idsurvei]['average'] ?? '-' }}{{ $overall_linear_average }}
@else {{-- SINGLE SURVEY --}} @foreach($analisis_summary as $index => $summary) @endforeach @php $hasLinearScaleSingle = false; foreach($analisis_summary as $summary) { if($summary['jenis'] === 'Linear Scale') { $hasLinearScaleSingle = true; break; } } @endphp @if($hasLinearScaleSingle) @endif
No Pertanyaan Tipe Kesimpulan Nilai
{{ $index + 1 }} {!! strip_tags($summary['soal']) !!} {{ $summary['jenis'] }} {!! $summary['kesimpulan'] !!} {!! $summary['nilai'] !!}
Rata-rata: {{ $overall_linear_average }}
@endif
{{-- Detail Card - Multi-year view --}} @if(isset($periode_filter) && $periode_filter === '3years') @if(isset($multi_year_data) && isset($multi_year_data['pertanyaan']) && count($multi_year_data['pertanyaan']) > 0)

Detail - Perbandingan 3 Tahun


@foreach($multi_year_data['pertanyaan'] as $index => $pertanyaan)
{{-- Header Pertanyaan dengan Tabs --}}
{{ $index + 1 }}. {{ strip_tags($pertanyaan->soal) }} @if($pertanyaan->required) * @endif
{{-- Year Tabs for Each Question --}}
@foreach($multi_year_data['years'] as $year) @endforeach
{{-- Content for each year per question --}} @foreach(['semua', ...$multi_year_data['years']] as $yearTab)
@php $questionData = $yearTab === 'semua' ? $multi_year_data['semua_data'][$index] : $multi_year_data['yearly_data'][$yearTab]['questions'][$index]; $hasSurveys = $yearTab === 'semua' || $multi_year_data['yearly_data'][$yearTab]['surveys']->count() > 0; @endphp @if(!$hasSurveys || !$questionData['aggregated_data']) {{-- Data Tidak Ditemukan --}}

Maaf, tidak ada data untuk tahun {{ $yearTab }}

@else @php $aggregated = $questionData['aggregated_data']; @endphp {{-- LINEAR SCALE --}} @if($pertanyaan->jenis === 'linear_scale')
@foreach(['1', '2', '3', '4', '5'] as $scaleIdx => $scale) @endforeach
No Skala Label Jumlah Respons
{{ $scaleIdx + 1 }} {{ $scale }}.0 @php $scaleData = $yearTab === 'semua' ? $multi_year_data['semua_data'][$index]['scale_data'] : $multi_year_data['yearly_data'][$yearTab]['questions'][$index]['scale_data']; @endphp @if($scaleData) @if($scale == '1') Sangat {{ $scaleData->kata_negatif ?? 'Rendah' }} @elseif($scale == '2') {{ $scaleData->kata_negatif ?? 'Rendah' }} @elseif($scale == '3') Sedang @elseif($scale == '4') {{ $scaleData->kata_positif ?? 'Tinggi' }} @elseif($scale == '5') Sangat {{ $scaleData->kata_positif ?? 'Tinggi' }} @endif @endif {{ $aggregated['distribusi'][$scale] }}
@endif {{-- CHECKBOX --}} @if($pertanyaan->jenis === 'checkbox')
@foreach($aggregated['stats'] as $statIdx => $stat) @endforeach
No Pilihan Jumlah
{{ $statIdx + 1 }} {{ $stat['label'] }} {{ $stat['count'] }}
{{-- Footer Kesimpulan --}} @endif {{-- TEXT --}} @if($pertanyaan->jenis === 'text')
@if(isset($aggregated['responses']) && count($aggregated['responses']) > 0)
@foreach($aggregated['responses'] as $respIndex => $response) @endforeach
No Nama Dept Jawaban
{{ $respIndex + 1 }} {{ $response->nama }} {{ $response->nama_departemen }} {{ $response->jawaban }}
@else

Tidak ada jawaban

@endif
{{-- Footer Kesimpulan --}} @endif {{-- PILIHAN TEXT --}} @if($pertanyaan->jenis === 'pilihan_text')
@foreach($aggregated['stats'] as $statIdx => $stat) @endforeach
No Pilihan Jumlah Persentase
{{ $statIdx + 1 }} {{ $stat['label'] }} {{ $stat['count'] }} {{ $stat['percentage'] }}%
{{-- Footer Kesimpulan --}} @endif {{-- GROUP LINEAR SCALE --}} @if($pertanyaan->jenis === 'group_linear_scale')
@if($aggregated && isset($aggregated['vendors']) && isset($aggregated['questions'])) {{-- Keterangan Kriteria --}}
Keterangan Kriteria Penilaian:
@foreach($aggregated['questions'] as $idx => $question)
{{ $idx + 1 }}. {{ $question->label }}
@endforeach
@php $vendorCount = count($aggregated['vendors']); $questionCount = count($aggregated['questions']); $colsPerVendor = $questionCount + 1; $totalDataCols = $vendorCount * $colsPerVendor; @endphp
@php $vendorCount = count($aggregated['vendors']); $questionCount = count($aggregated['questions']); $colsPerVendor = $questionCount + 1; $totalDataCols = $vendorCount * $colsPerVendor; // Calculate dynamic widths $noWidth = 3; $namaWidth = 12; $deptWidth = 10; $remainingWidth = 100 - $noWidth - $namaWidth - $deptWidth; $questionWidth = round(($remainingWidth * 0.7) / ($questionCount * $vendorCount), 1); $totalWidth = round(($remainingWidth * 0.3) / $vendorCount, 1); @endphp @foreach($aggregated['vendors'] as $vendor) @endforeach @foreach($aggregated['vendors'] as $vendor) @foreach($aggregated['questions'] as $idx => $question) @endforeach @endforeach @php $no = 1; @endphp @foreach($aggregated['user_responses'] as $userId => $userData) @foreach($aggregated['vendors'] as $vendor) @php $vendorAnswers = []; @endphp @foreach($aggregated['questions'] as $question) @php $answer = $userData['answers'][$vendor->id][$question->id] ?? '-'; if (is_numeric($answer)) { $vendorAnswers[] = floatval($answer); } @endphp @endforeach {{-- Total (Rata-rata) --}} @endforeach @endforeach @foreach($aggregated['vendors'] as $vendor) @foreach($aggregated['questions'] as $question) @endforeach {{-- Total rata-rata per vendor --}} @endforeach
No Nama Dept Hasil Survei (Rata-rata {{ $yearTab === 'semua' ? 'Keseluruhan' : 'Tahun ' . $yearTab }})
{{ $vendor->label }}
{{ $idx + 1 }}Total
{{ $no++ }} {{ $userData['nama'] }} {{ $userData['nama_departemen'] }}{{ $answer }} @if(count($vendorAnswers) > 0) {{ number_format(array_sum($vendorAnswers) / count($vendorAnswers), 1) }} @else - @endif
Rata-rata {{ $aggregated['averages'][$vendor->id][$question->id] ?? '-' }} @php $vendorAvgs = []; foreach($aggregated['questions'] as $q) { $val = $aggregated['averages'][$vendor->id][$q->id] ?? '-'; if(is_numeric($val)) { $vendorAvgs[] = floatval($val); } } @endphp @if(count($vendorAvgs) > 0) {{ number_format(array_sum($vendorAvgs) / count($vendorAvgs), 1) }} @else - @endif
@else

Tidak ada data untuk pertanyaan ini

@endif
Ringkasan Rata-rata Per Kategori
@foreach($aggregated['vendors'] as $vendor) @endforeach @foreach($aggregated['questions'] as $qIndex => $question) @foreach($aggregated['vendors'] as $vendor) @endforeach @endforeach @foreach($aggregated['vendors'] as $vendor) @php $vendorValues = []; foreach($aggregated['questions'] as $q) { $val = $aggregated['averages'][$vendor->id][$q->id] ?? '-'; if(is_numeric($val)) { $vendorValues[] = floatval($val); } } $vendorAvg = count($vendorValues) > 0 ? number_format(array_sum($vendorValues) / count($vendorValues), 1) : '-'; @endphp @endforeach
No Kategori Penilaian Nilai (Rata-rata)
{{ $vendor->label }}
{{ $qIndex + 1 }} {{ $question->label }} {{ $aggregated['averages'][$vendor->id][$question->id] ?? '-' }}
Rata-rata Per Vendor:{{ $vendorAvg }}
Grafik Perbandingan Per Vendor ({{ $yearTab === 'semua' ? 'Keseluruhan' : 'Tahun ' . $yearTab }})
{{-- Footer Kesimpulan --}} @endif @endif
@endforeach
@endforeach
@endif @elseif(isset($periode_filter) && $periode_filter === 'year') @if(isset($year_data) && isset($year_data['pertanyaan']) && count($year_data['pertanyaan']) > 0)

Detail - Perbandingan Per Survey Tahun {{ $year_data['reference_year'] }}


@foreach($year_data['pertanyaan'] as $index => $pertanyaan)
{{-- Header Pertanyaan dengan Tabs --}}
{{ $index + 1 }}. {{ strip_tags($pertanyaan->soal) }} @if($pertanyaan->required) * @endif
{{-- Survey Tabs for Each Question --}}
@foreach($year_data['surveys'] as $survey) @endforeach
{{-- Content for each survey per question --}} @foreach(['semua', ...$year_data['surveys']->pluck('idsurvei')->toArray()] as $surveyTab)
@php $questionData = $surveyTab === 'semua' ? $year_data['semua_data'][$index] : $year_data['survey_data'][$surveyTab]['questions'][$index]; $hasSurveyData = $surveyTab === 'semua' || isset($year_data['survey_data'][$surveyTab]); @endphp @if(!$hasSurveyData || !$questionData['aggregated_data']) {{-- Data Tidak Ditemukan --}}

Maaf, tidak ada data untuk survey ini

@else @php $aggregated = $questionData['aggregated_data']; @endphp {{-- LINEAR SCALE --}} @if($pertanyaan->jenis === 'linear_scale')
@foreach(['1', '2', '3', '4', '5'] as $scaleIdx => $scale) @endforeach
No Skala Label Jumlah Respons
{{ $scaleIdx + 1 }} {{ $scale }}.0 @php $scaleData = $surveyTab === 'semua' ? $year_data['semua_data'][$index]['scale_data'] : $year_data['survey_data'][$surveyTab]['questions'][$index]['scale_data']; @endphp @if($scaleData) @if($scale == '1') Sangat {{ $scaleData->kata_negatif ?? 'Rendah' }} @elseif($scale == '2') {{ $scaleData->kata_negatif ?? 'Rendah' }} @elseif($scale == '3') Sedang @elseif($scale == '4') {{ $scaleData->kata_positif ?? 'Tinggi' }} @elseif($scale == '5') Sangat {{ $scaleData->kata_positif ?? 'Tinggi' }} @endif @endif {{ $aggregated['distribusi'][$scale] }}
@endif {{-- CHECKBOX --}} @if($pertanyaan->jenis === 'checkbox')
@foreach($aggregated['stats'] as $statIdx => $stat) @endforeach
No Pilihan Jumlah
{{ $statIdx + 1 }} {{ $stat['label'] }} {{ $stat['count'] }}
{{-- Footer Kesimpulan --}} @endif {{-- TEXT --}} @if($pertanyaan->jenis === 'text')
@if(isset($aggregated['responses']) && count($aggregated['responses']) > 0)
@foreach($aggregated['responses'] as $respIndex => $response) @endforeach
No Nama Dept Jawaban
{{ $respIndex + 1 }} {{ $response->nama }} {{ $response->nama_departemen }} {{ $response->jawaban }}
@else

Tidak ada jawaban

@endif
{{-- Footer Kesimpulan --}} @endif {{-- PILIHAN TEXT --}} @if($pertanyaan->jenis === 'pilihan_text')
@foreach($aggregated['stats'] as $statIdx => $stat) @endforeach
No Pilihan Jumlah Persentase
{{ $statIdx + 1 }} {{ $stat['label'] }} {{ $stat['count'] }} {{ $stat['percentage'] }}%
{{-- Footer Kesimpulan --}} @endif {{-- GROUP LINEAR SCALE --}} @if($pertanyaan->jenis === 'group_linear_scale')
@if($aggregated && isset($aggregated['vendors']) && isset($aggregated['questions'])) {{-- Keterangan Kriteria --}}
Keterangan Kriteria Penilaian:
@foreach($aggregated['questions'] as $idx => $question)
{{ $idx + 1 }}. {{ $question->label }}
@endforeach
@php $vendorCount = count($aggregated['vendors']); $questionCount = count($aggregated['questions']); $colsPerVendor = $questionCount + 1; $totalDataCols = $vendorCount * $colsPerVendor; @endphp
@php $vendorCount = count($aggregated['vendors']); $questionCount = count($aggregated['questions']); $colsPerVendor = $questionCount + 1; $totalDataCols = $vendorCount * $colsPerVendor; // Calculate dynamic widths $noWidth = 3; $namaWidth = 12; $deptWidth = 10; $remainingWidth = 100 - $noWidth - $namaWidth - $deptWidth; $questionWidth = round(($remainingWidth * 0.7) / ($questionCount * $vendorCount), 1); $totalWidth = round(($remainingWidth * 0.3) / $vendorCount, 1); @endphp @foreach($aggregated['vendors'] as $vendor) @endforeach @foreach($aggregated['vendors'] as $vendor) @foreach($aggregated['questions'] as $idx => $question) @endforeach @endforeach @php $no = 1; @endphp @foreach($aggregated['user_responses'] as $userId => $userData) @foreach($aggregated['vendors'] as $vendor) @php $vendorAnswers = []; @endphp @foreach($aggregated['questions'] as $question) @php $answer = $userData['answers'][$vendor->id][$question->id] ?? '-'; if (is_numeric($answer)) { $vendorAnswers[] = floatval($answer); } @endphp @endforeach {{-- Total (Rata-rata) --}} @endforeach @endforeach @foreach($aggregated['vendors'] as $vendor) @foreach($aggregated['questions'] as $question) @endforeach {{-- Total rata-rata per vendor --}} @endforeach <
No Nama Dept @if($surveyTab === 'semua') Hasil Survei (Rata-rata Keseluruhan Survey) @else @php $currentSurvey = $year_data['surveys']->firstWhere('idsurvei', $surveyTab); @endphp Hasil Survei - {{ $currentSurvey->subjudul ?? 'Survey' }} @endif
{{ $vendor->label }}
{{ $idx + 1 }}Total
{{ $no++ }} {{ $userData['nama'] }} {{ $userData['nama_departemen'] }}{{ $answer }} @if(count($vendorAnswers) > 0) {{ number_format(array_sum($vendorAnswers) / count($vendorAnswers), 1) }} @else - @endif
Rata-rata {{ $aggregated['averages'][$vendor->id][$question->id] ?? '-' }} @php $vendorAvgs = []; foreach($aggregated['questions'] as $q) { $val = $aggregated['averages'][$vendor->id][$q->id] ?? '-'; if(is_numeric($val)) { $vendorAvgs[] = floatval($val); } } @endphp @if(count($vendorAvgs) > 0) {{ number_format(array_sum($vendorAvgs) / count($vendorAvgs), 1) }} @else - @endif
@else

Tidak ada data untuk pertanyaan ini

@endif
Ringkasan Rata-rata Per Kategori
@foreach($aggregated['vendors'] as $vendor) @endforeach @foreach($aggregated['questions'] as $qIndex => $question) @foreach($aggregated['vendors'] as $vendor) @endforeach @endforeach @foreach($aggregated['vendors'] as $vendor) @php $vendorValues = []; foreach($aggregated['questions'] as $q) { $val = $aggregated['averages'][$vendor->id][$q->id] ?? '-'; if(is_numeric($val)) { $vendorValues[] = floatval($val); } } $vendorAvg = count($vendorValues) > 0 ? number_format(array_sum($vendorValues) / count($vendorValues), 1) : '-'; @endphp @endforeach
No Kategori Penilaian Nilai (Rata-rata)
{{ $vendor->label }}
{{ $qIndex + 1 }} {{ $question->label }} {{ $aggregated['averages'][$vendor->id][$question->id] ?? '-' }}
Rata-rata Per Vendor:{{ $vendorAvg }}
Grafik Perbandingan Per Vendor @if($surveyTab === 'semua') (Keseluruhan Survey) @else @php $currentSurvey = $year_data['surveys']->firstWhere('idsurvei', $surveyTab); @endphp ({{ $currentSurvey->subjudul ?? 'Survey' }}) @endif
{{-- Footer Kesimpulan --}} @endif @endif
@endforeach
@endforeach
@endif @else

Detail


@foreach($pertanyaan_list as $index => $pertanyaan) @if($pertanyaan['jenis'] === 'linear_scale') {{-- Linear Scale Question --}}
{{ $index + 1 }}. {!! strip_tags($pertanyaan['soal']) !!} @if($pertanyaan['required']) * @endif
@foreach($pertanyaan['responses'] as $respIndex => $response) @endforeach
No Nama Dept Skala Label
{{ $respIndex + 1 }} {{ $response->nama }} {{ $response->nama_departemen }} {{ $response->jawaban }} {{ $response->jawaban_label }}

@elseif($pertanyaan['jenis'] === 'checkbox') {{-- Checkbox Question --}}
{{ $index + 1 }}. {!! strip_tags($pertanyaan['soal']) !!} @if($pertanyaan['required']) * @endif
@foreach($pertanyaan['grouped_responses'] as $respIndex => $response) @endforeach
No Nama Dept Jawaban
{{ $respIndex + 1 }} {{ $response['nama'] }} {{ $response['nama_departemen'] }} {!! $response['jawaban'] !!}

{{-- Footer Kesimpulan --}}
@elseif($pertanyaan['jenis'] === 'text') {{-- Text Question --}}
{{ $index + 1 }}. {!! strip_tags($pertanyaan['soal']) !!} @if($pertanyaan['required']) * @endif
@foreach($pertanyaan['responses'] as $respIndex => $response) @endforeach
No Nama Dept Jawaban
{{ $respIndex + 1 }} {{ $response->nama }} {{ $response->nama_departemen }} {{ $response->jawaban }}

{{-- Footer Kesimpulan --}}
@elseif($pertanyaan['jenis'] === 'pilihan_text') {{-- Pilihan + Text Question --}}
{{ $index + 1 }}. {!! strip_tags($pertanyaan['soal']) !!} @if($pertanyaan['required']) * @endif
@foreach($pertanyaan['responses'] as $respIndex => $response) @endforeach
No Nama Dept Pilihan Penjelasan
{{ $respIndex + 1 }} {{ $response->nama }} {{ $response->nama_departemen }} {{ $response->kalimat_pilihan }} {{ $response->alasan ?? '-' }}
Keterangan:
    @foreach($pertanyaan['stats'] as $statIdx => $stat)
  • {{ $stat['label'] }} - {{ $stat['percentage'] }}%
  • @endforeach

{{-- Footer Kesimpulan --}}
@elseif($pertanyaan['jenis'] === 'group_linear_scale') {{-- Group Linear Scale Question --}}
{{ $index + 1 }}. {!! strip_tags($pertanyaan['soal']) !!} @if($pertanyaan['required']) * @endif
@if(isset($pertanyaan['questions']) && count($pertanyaan['questions']) > 0)
Keterangan Kriteria Penilaian:
@foreach($pertanyaan['questions'] as $idx => $question)
{{ $idx + 1 }}. {{ $question->label }}
@endforeach
@endif {{-- ===== TABEL DETAIL PER RESPONDEN ===== --}}
Detail Jawaban Per Responden
@foreach($pertanyaan['vendors'] as $vendor) @endforeach @foreach($pertanyaan['vendors'] as $vendor) @foreach($pertanyaan['questions'] as $idx => $question) @endforeach @endforeach @php $no = 1; @endphp @foreach($pertanyaan['user_responses'] as $userId => $userData) @foreach($pertanyaan['vendors'] as $vendor) @php $vendorAnswers = []; @endphp @foreach($pertanyaan['questions'] as $question) @php $answer = $userData['answers'][$vendor->id][$question->id] ?? '-'; if (is_numeric($answer)) { $vendorAnswers[] = floatval($answer); } @endphp @endforeach {{-- Total (Rata-rata) --}} @endforeach @endforeach
No Nama Dept Hasil Survei
{{ $vendor->label }}
{{ $idx + 1 }}Total
{{ $no++ }} {{ $userData['nama'] }} {{ $userData['nama_departemen'] }}{{ $answer }} @if(count($vendorAnswers) > 0) {{ number_format(array_sum($vendorAnswers) / count($vendorAnswers), 1) }} @else - @endif
{{-- ===== TABEL RINGKASAN RATA-RATA ===== --}}
Ringkasan Rata-rata Per Kategori
@foreach($pertanyaan['vendors'] as $vendor) @endforeach @foreach($pertanyaan['questions'] as $qIndex => $question) @foreach($pertanyaan['vendors'] as $vendor) @endforeach @endforeach @foreach($pertanyaan['vendors'] as $vendor) @php $vendorValues = []; foreach($pertanyaan['questions'] as $q) { $val = $pertanyaan['averages'][$vendor->id][$q->id] ?? '-'; if(is_numeric($val)) { $vendorValues[] = floatval($val); } } $vendorAvg = count($vendorValues) > 0 ? number_format(array_sum($vendorValues) / count($vendorValues), 1) : '-'; @endphp @endforeach
No Kategori Penilaian Nilai (Rata-rata)
{{ $vendor->label }}
{{ $qIndex + 1 }} {{ $question->label }} {{ $pertanyaan['averages'][$vendor->id][$question->id] ?? '-' }}
Rata-rata Per Vendor:{{ $vendorAvg }}
Grafik Perbandingan Per Vendor

{{-- Footer Kesimpulan --}}
@endif @endforeach
@endif
@endsection @push('js') @endpush