From c8d1994d3bbc83edc66727916198fbde0cb40510 Mon Sep 17 00:00:00 2001 From: Irwan Cahyono Date: Thu, 30 Jul 2026 15:23:34 +0700 Subject: [PATCH] dashboard profil petani --- .../Web/Dashboard/ProfilPetaniController.php | 17 +- resources/views/dashboard/petani.blade.php | 427 +++++++++--------- 2 files changed, 222 insertions(+), 222 deletions(-) diff --git a/app/Http/Controllers/Web/Dashboard/ProfilPetaniController.php b/app/Http/Controllers/Web/Dashboard/ProfilPetaniController.php index 7801114..68a6b17 100644 --- a/app/Http/Controllers/Web/Dashboard/ProfilPetaniController.php +++ b/app/Http/Controllers/Web/Dashboard/ProfilPetaniController.php @@ -75,7 +75,6 @@ class ProfilPetaniController extends Controller ->groupByRaw($case) ->get(); - $skorAverage = SkorPetani::query() ->join('petani', 'petani_skor.petani_id', '=', 'petani.id') ->whereIn('petani_id', $petani) @@ -127,6 +126,21 @@ class ProfilPetaniController extends Controller ->groupByRaw($case) ->get(); + $skorMultiKomponen = SkorPetani::query() + ->join('petani', 'petani_skor.petani_id', '=', 'petani.id') + ->whereIn('petani_id', $petani) + ->whereIn('petani.komoditas_id', $komoditas->pluck('id')) + ->selectRaw("$case AS segmen, + avg(skor_kesiapan_adopsi) as skor_kesiapan_adopsi, + avg(skor_komp_1_d4_k3_motivasi_kapasitas_adopsi) as skor_komp_1_d4_k3_motivasi_kapasitas_adopsi, + avg(skor_komp_2_d4_k2_ekonomi_rumah_tangga) as skor_komp_2_d4_k2_ekonomi_rumah_tangga, + avg(skor_komp_3_d2_praktik_budidaya_gap) as skor_komp_3_d2_praktik_budidaya_gap, + avg(skor_komp_4_d4_k4_keterlibatan_kelembagaan) as skor_komp_4_d4_k4_keterlibatan_kelembagaan, + avg(skor_komp_5_d4_k5_k6_akses_kebebasan_keuangan) as skor_komp_5_d4_k5_k6_akses_kebebasan_keuangan, + avg(skor_komp_6_d6_k1_k4_k5_rantai_nilai_akses_pasar) as skor_komp_6_d6_k1_k4_k5_rantai_nilai_akses_pasar") + ->groupByRaw($case) + ->get(); + $petani = Petani::with(['skor']) ->whereIn('id', $petani) ->whereIn('komoditas_id', $komoditas->pluck('id')) @@ -144,6 +158,7 @@ class ProfilPetaniController extends Controller 'skorDimensi', 'skorKomponen', 'skorMultiDimensi', + 'skorMultiKomponen', 'petani', )); } diff --git a/resources/views/dashboard/petani.blade.php b/resources/views/dashboard/petani.blade.php index ec98bc2..520d1a4 100644 --- a/resources/views/dashboard/petani.blade.php +++ b/resources/views/dashboard/petani.blade.php @@ -1,6 +1,35 @@ @extends('layout.main') @section('content') +@php +$totalPetani = $petaniSummary->sum('total'); +$segments = [ + [ + 'name' => 'Penggerak', + 'range' => '4.0 - 5.0', + 'icon' => 'tabler-crown', + 'color' => 'success', + ], + [ + 'name' => 'Perintis', + 'range' => '3.0 - 3.9', + 'icon' => 'tabler-flag', + 'color' => 'info', + ], + [ + 'name' => 'Pemerhati', + 'range' => '2.0 - 2.9', + 'icon' => 'tabler-eye', + 'color' => 'warning', + ], + [ + 'name' => 'Pemula', + 'range' => '1.0 - 1.9', + 'icon' => 'tabler-seedling', + 'color' => 'danger', + ], + ]; +@endphp
@@ -12,7 +41,7 @@
-

{{ $petaniSummary->sum('total') }}

+

{{ $totalPetani }}

Petani

@@ -41,29 +70,6 @@

-
@@ -78,7 +84,6 @@

Rata-rata Indeks Kesiapan Adopsi

{{ $segmenAverage }} - komoditas utama

@@ -95,146 +100,92 @@
- +
+ + + + + + + + + @foreach ($segments as $segment) + @php + $total = $skorSummary->where('segmen', $segment['name'])->sum('total'); + $persen = $totalPetani ? ($total / $totalPetani) * 100 : 0; + @endphp + - - - - - - - - - - - - - - - - - - - - - - - - - -
Petani%
Petani%
+
- -
-
-
Penggerak (4.0 - 5.0)
- +
+ + {{ $segment['name'] }} + ({{ $segment['range'] }}) +
- {{ $skorSummary->where('segmen', 'Penggerak')->sum('total') }} petani - - {{ number_format(($skorSummary->where('segmen', 'Penggerak')->sum('total') / $petaniSummary->sum('total')) * 100, 2) }}% -
-
-
- -
-
-
Perintis (3.0 - 3.9)
- -
-
-
- {{ $skorSummary->where('segmen', 'Perintis')->sum('total') }} petani - - {{ number_format(($skorSummary->where('segmen', 'Perintis')->sum('total') / $petaniSummary->sum('total')) * 100, 2) }}% -
-
-
- -
-
-
Pemerhati (2.0 - 2.9)
- -
-
-
- {{ $skorSummary->where('segmen', 'Pemerhati')->sum('total') }} petani - - {{ number_format(($skorSummary->where('segmen', 'Pemerhati')->sum('total') / $petaniSummary->sum('total')) * 100, 2) }}% -
-
-
- -
-
-
Pemula (1.0 - 1.9)
- -
-
-
- {{ $skorSummary->where('segmen', 'Pemula')->sum('total') }} petani - - {{ number_format(($skorSummary->where('segmen', 'Pemula')->sum('total') / $petaniSummary->sum('total')) * 100, 2) }}% -
-
- - - + +
+
+
+
+
Segmentasi Petani
+

per komoditas

+
+
+
+ + + + + @foreach ($komoditas as $k) + + @endforeach + + + + + @foreach ($segments as $segment) + + + @foreach ($komoditas as $k) + @php + $jumlah = $skorKomoditasSummary->where('segmen', $segment['name'])->where('komoditas_id', $k->id)->sum('total'); + @endphp + + @endforeach + + @endforeach + +
{{ $k->nama }}
+
+
+ +
+ + {{ $segment['name'] }} + ({{ $segment['range'] }}) + +
+
{{ number_format($jumlah) }}
+
+
+
+ + +
@@ -244,115 +195,124 @@
- +
+ + + + + + + + + + + + @foreach ($segments as $segment) + @php + $skor = $skorMultiDimensi->firstWhere('segmen', $segment['name']); + @endphp - - - - - - - - + + + + @endforeach + +
IndeksD1D2D3
IndeksD1D2D3
+
- +
-
Penggerak (4.0 - 5.0)
- +
+ {{ $segment['name'] }} + ({{ $segment['range'] }}) +
- {{ number_format($skorMultiDimensi->where('segmen', 'Penggerak')->value('skor_kesiapan_adopsi'), 2, '.', ',') }} + {{ number_format($skor?->skor_kesiapan_adopsi ?? 0, 2, '.', ',') }} - {{ number_format($skorMultiDimensi->where('segmen', 'Penggerak')->value('skor_d2_sistem_praktik_budidaya'), 2, '.', ',') }} + {{ number_format($skor?->skor_d2_sistem_praktik_budidaya ?? 0, 2, '.', ',') }} - {{ number_format($skorMultiDimensi->where('segmen', 'Penggerak')->value('skor_d4_sosial_ekonomi'), 2, '.', ',') }} + {{ number_format($skor?->skor_d4_sosial_ekonomi ?? 0, 2, '.', ',') }} - {{ number_format($skorMultiDimensi->where('segmen', 'Penggerak')->value('skor_d6_rantai_nilai_akses_pasar'), 2, '.', ',') }} + {{ number_format($skor?->skor_d6_rantai_nilai_akses_pasar ?? 0, 2, '.', ',') }}
+
+
+
+
+
+
+
+
Segmentasi Multi Komponen Petani
+

untuk semua komoditas

+
+
+
+ + - + + + + + + + + + + + + @foreach ($segments as $segment) + @php + $skor = $skorMultiKomponen->firstWhere('segmen', $segment['name']); + @endphp + + - - - - - - - - - - - + @endforeach
+ IndeksK1K2K3K4K5K6
- +
-
Perintis (3.0 - 3.9)
- +
+ {{ $segment['name'] }} + ({{ $segment['range'] }}) +
- {{ number_format($skorMultiDimensi->where('segmen', 'Perintis')->value('skor_kesiapan_adopsi'), 2, '.', ',') }} + {{ number_format($skor?->skor_kesiapan_adopsi, 2, '.', ',') }} - {{ number_format($skorMultiDimensi->where('segmen', 'Perintis')->value('skor_d2_sistem_praktik_budidaya'), 2, '.', ',') }} + {{ number_format($skor?->skor_komp_1_d4_k3_motivasi_kapasitas_adopsi, 2, '.', ',') }} - {{ number_format($skorMultiDimensi->where('segmen', 'Perintis')->value('skor_d4_sosial_ekonomi'), 2, '.', ',') }} + {{ number_format($skor?->skor_komp_2_d4_k2_ekonomi_rumah_tangga, 2, '.', ',') }} - {{ number_format($skorMultiDimensi->where('segmen', 'Perintis')->value('skor_d6_rantai_nilai_akses_pasar'), 2, '.', ',') }} + {{ number_format($skor?->skor_komp_3_d2_praktik_budidaya_gap, 2, '.', ',') }}
-
-
- -
-
-
Pemerhati (2.0 - 2.9)
- -
-
-
- {{ number_format($skorMultiDimensi->where('segmen', 'Pemerhati')->value('skor_kesiapan_adopsi'), 2, '.', ',') }} - - {{ number_format($skorMultiDimensi->where('segmen', 'Pemerhati')->value('skor_d2_sistem_praktik_budidaya'), 2, '.', ',') }} - - {{ number_format($skorMultiDimensi->where('segmen', 'Pemerhati')->value('skor_d4_sosial_ekonomi'), 2, '.', ',') }} - - {{ number_format($skorMultiDimensi->where('segmen', 'Pemerhati')->value('skor_d6_rantai_nilai_akses_pasar'), 2, '.', ',') }} -
-
-
- -
-
-
Pemula (1.0 - 1.9)
- -
-
-
- {{ number_format($skorMultiDimensi->where('segmen', 'Pemula')->value('skor_kesiapan_adopsi'), 2, '.', ',') }} - - {{ number_format($skorMultiDimensi->where('segmen', 'Pemula')->value('skor_d2_sistem_praktik_budidaya'), 2, '.', ',') }} + {{ number_format($skor?->skor_komp_4_d4_k4_keterlibatan_kelembagaan, 2, '.', ',') }} - {{ number_format($skorMultiDimensi->where('segmen', 'Pemula')->value('skor_d4_sosial_ekonomi'), 2, '.', ',') }} + {{ number_format($skor?->skor_komp_5_d4_k5_k6_akses_kebebasan_keuangan, 2, '.', ',') }} - {{ number_format($skorMultiDimensi->where('segmen', 'Pemula')->value('skor_d6_rantai_nilai_akses_pasar'), 2, '.', ',') }} + {{ number_format($skor?->skor_komp_6_d6_k1_k4_k5_rantai_nilai_akses_pasar, 2, '.', ',') }}
@@ -443,6 +403,13 @@ D2 D4 D6 + K1 + K2 + K3 + K4 + K5 + K6 + @foreach ($petani as $item) @@ -466,6 +433,12 @@ {{ number_format($item->skor?->skor_d2_sistem_praktik_budidaya, 2, '.', ',') }} {{ number_format($item->skor?->skor_d4_sosial_ekonomi, 2, '.', ',') }} {{ number_format($item->skor?->skor_d6_rantai_nilai_akses_pasar, 2, '.', ',') }} + {{ number_format($item->skor?->skor_komp_1_d4_k3_motivasi_kapasitas_adopsi, 2, '.', ',') }} + {{ number_format($item->skor?->skor_komp_2_d4_k2_ekonomi_rumah_tangga, 2, '.', ',') }} + {{ number_format($item->skor?->skor_komp_3_d2_praktik_budidaya_gap, 2, '.', ',') }} + {{ number_format($item->skor?->skor_komp_4_d4_k4_keterlibatan_kelembagaan, 2, '.', ',') }} + {{ number_format($item->skor?->skor_komp_5_d4_k5_k6_akses_kebebasan_keuangan, 2, '.', ',') }} + {{ number_format($item->skor?->skor_komp_6_d6_k1_k4_k5_rantai_nilai_akses_pasar, 2, '.', ',') }} @endforeach @@ -484,6 +457,17 @@