skoring prtani
This commit is contained in:
@@ -23,6 +23,37 @@
|
||||
</div>
|
||||
|
||||
<div class="col-md-8 d-flex flex-column">
|
||||
@php
|
||||
$skorLahanTanaman = isset($petani) ? $petani->skorLahanTanaman() : null;
|
||||
$skorPraktikBudidaya = isset($petani) ? $petani->skorPraktikBudidaya() : null;
|
||||
$skorPendidikan = isset($petani) ? $petani->skorPendidikan() : null;
|
||||
$skorSosialEkonomiSegmen = isset($petani) ? $petani->skorSosialEkonomi() : null;
|
||||
$skorAksesPasarSegmen = isset($petani) ? $petani->skorAksesPasar() : null;
|
||||
|
||||
$skorSegmenPetani = collect([
|
||||
$skorLahanTanaman,
|
||||
$skorPraktikBudidaya,
|
||||
$skorPendidikan,
|
||||
$skorSosialEkonomiSegmen,
|
||||
$skorAksesPasarSegmen,
|
||||
])->filter(fn ($value) => !is_null($value))->sum();
|
||||
|
||||
$skorSegmenPetani = $skorSegmenPetani > 0 ? round($skorSegmenPetani, 1) : null;
|
||||
$segmenPetani = is_null($skorSegmenPetani) ? null : match (true) {
|
||||
$skorSegmenPetani >= 4.0 => 'Penggerak',
|
||||
$skorSegmenPetani >= 3.0 => 'Perintis',
|
||||
$skorSegmenPetani >= 2.0 => 'Pemerhati',
|
||||
$skorSegmenPetani >= 1.0 => 'Pemula',
|
||||
default => 'Belum tersegmentasi',
|
||||
};
|
||||
|
||||
$lahanPetani = isset($petani) && \Illuminate\Support\Facades\Schema::hasTable('map_lahan')
|
||||
? $petani->lahans()->get()
|
||||
: collect();
|
||||
$totalLuasLahan = $lahanPetani->sum('luas_lahan');
|
||||
$totalTanaman = $lahanPetani->sum('jumlah_tanaman');
|
||||
$pendidikanLabel = isset($petani) ? $petani->pendidikan_terakhir?->label() : null;
|
||||
@endphp
|
||||
|
||||
<div class="card mb-2 flex-grow-1">
|
||||
<div class="card-widget-separator-wrapper h-100">
|
||||
@@ -31,9 +62,13 @@
|
||||
<div class="d-flex justify-content-between align-items-center card-widget-1 border-end h-100 pe-3">
|
||||
<div>
|
||||
<p class="mb-0 text-muted" style="font-size: 0.75rem;">Segmen Petani</p>
|
||||
<h5 class="mb-0">Penggerak</h5>
|
||||
<h5 class="mb-0">{{ $segmenPetani ?? '-' }}</h5>
|
||||
<p class="mb-0" style="font-size: 0.75rem;">
|
||||
<span class="me-1">Skor 4.2</span></span>
|
||||
@if(!is_null($skorSegmenPetani))
|
||||
<span class="me-1">Skor {{ number_format($skorSegmenPetani, 1) }}</span>
|
||||
@else
|
||||
<span class="me-1">Belum isi</span>
|
||||
@endif
|
||||
</p>
|
||||
</div>
|
||||
<span class="avatar">
|
||||
@@ -47,9 +82,19 @@
|
||||
<div class="d-flex justify-content-between align-items-center card-widget-1 border-end h-100 px-3">
|
||||
<div>
|
||||
<p class="mb-0 text-muted" style="font-size: 0.75rem;">Lahan & Tanaman</p>
|
||||
<h5 class="mb-0">12000 m<sup>2</sup></h5>
|
||||
<h5 class="mb-0">
|
||||
@if($lahanPetani->isNotEmpty())
|
||||
{{ number_format($totalLuasLahan, 0, ',', '.') }} m<sup>2</sup>
|
||||
@else
|
||||
-
|
||||
@endif
|
||||
</h5>
|
||||
<p class="mb-0" style="font-size: 0.75rem;">
|
||||
<span class="me-1">120 tanaman kopi</span><span class="text-success fw-medium">sehat</span>
|
||||
@if(!is_null($skorLahanTanaman))
|
||||
<span class="me-1">Skor {{ number_format($skorLahanTanaman, 1) }}</span><span class="text-success fw-medium">{{ number_format($totalTanaman, 0, ',', '.') }} tanaman</span>
|
||||
@else
|
||||
<span class="me-1">Belum isi</span>
|
||||
@endif
|
||||
</p>
|
||||
</div>
|
||||
<span class="avatar">
|
||||
@@ -63,9 +108,19 @@
|
||||
<div class="d-flex justify-content-between align-items-center card-widget-1 h-100 ps-3">
|
||||
<div>
|
||||
<p class="mb-0 text-muted" style="font-size: 0.75rem;">Praktik Budidaya</p>
|
||||
<h5 class="mb-0">$5,345.43</h5>
|
||||
<h5 class="mb-0">
|
||||
@if(!is_null($skorPraktikBudidaya))
|
||||
{{ number_format(round($skorPraktikBudidaya), 0, ',', '.') }}%
|
||||
@else
|
||||
-
|
||||
@endif
|
||||
</h5>
|
||||
<p class="mb-0" style="font-size: 0.75rem;">
|
||||
<span class="me-1">5k orders</span><span class="text-success fw-medium">+5.7%</span>
|
||||
@if(!is_null($skorPraktikBudidaya))
|
||||
<span class="me-1">Skor {{ number_format($skorPraktikBudidaya, 1) }}</span>
|
||||
@else
|
||||
<span class="me-1">Belum isi</span>
|
||||
@endif
|
||||
</p>
|
||||
</div>
|
||||
<span class="avatar">
|
||||
@@ -88,9 +143,13 @@
|
||||
<div class="d-flex justify-content-between align-items-center card-widget-1 border-end h-100 pe-3">
|
||||
<div>
|
||||
<p class="mb-0 text-muted" style="font-size: 0.75rem;">Pendidikan</p>
|
||||
<h5 class="mb-0">$5,345.43</h5>
|
||||
<h5 class="mb-0">{{ $pendidikanLabel ?? '-' }}</h5>
|
||||
<p class="mb-0" style="font-size: 0.75rem;">
|
||||
<span class="me-1">5k orders</span><span class="text-success fw-medium">+5.7%</span>
|
||||
@if(!is_null($skorPendidikan))
|
||||
<span class="me-1">Skor {{ number_format($skorPendidikan, 1) }}</span>
|
||||
@else
|
||||
<span class="me-1">Belum isi</span>
|
||||
@endif
|
||||
</p>
|
||||
</div>
|
||||
<span class="avatar">
|
||||
@@ -104,9 +163,37 @@
|
||||
<div class="d-flex justify-content-between align-items-center card-widget-1 border-end h-100 px-3">
|
||||
<div>
|
||||
<p class="mb-0 text-muted" style="font-size: 0.75rem;">Sosial Ekonomi</p>
|
||||
<h5 class="mb-0">$5,345.43</h5>
|
||||
@php
|
||||
$sosialEkonomi = isset($petani) ? $petani->sosialEkonomi : null;
|
||||
$skorSosialEkonomi = null;
|
||||
$skorSosialEkonomiBulat = null;
|
||||
|
||||
if($sosialEkonomi) {
|
||||
$enumValue = fn ($value) => $value instanceof \BackedEnum ? $value->value : $value;
|
||||
|
||||
$periodePaceklik = (int) ($enumValue($sosialEkonomi->skor_periode_paceklik) ?? 0);
|
||||
$kemampuanMenabung = (int) ($enumValue($sosialEkonomi->skor_kemampuan_menabung) ?? 0);
|
||||
$kecukupanPenghasilan = (int) ($enumValue($sosialEkonomi->skor_kecukupan_penghasilan) ?? 0);
|
||||
$kejelasanStatusLahan = (int) ($enumValue($sosialEkonomi->skor_kejelasan_status_lahan) ?? 0);
|
||||
|
||||
$totalSkor = $periodePaceklik + $kemampuanMenabung + $kecukupanPenghasilan + $kejelasanStatusLahan;
|
||||
$skorSosialEkonomi = ($totalSkor * 20) / 100;
|
||||
$skorSosialEkonomiBulat = (int) round($skorSosialEkonomi);
|
||||
}
|
||||
@endphp
|
||||
<h5 class="mb-0">
|
||||
@if($sosialEkonomi)
|
||||
{{ number_format($skorSosialEkonomiBulat, 0, ',', '.') }}%
|
||||
@else
|
||||
-
|
||||
@endif
|
||||
</h5>
|
||||
<p class="mb-0" style="font-size: 0.75rem;">
|
||||
<span class="me-1">5k orders</span><span class="text-success fw-medium">+5.7%</span>
|
||||
@if($sosialEkonomi)
|
||||
<span class="me-1">Skor {{ number_format($skorSosialEkonomi, 1) }}</span>
|
||||
@else
|
||||
<span class="me-1">Belum isi</span>
|
||||
@endif
|
||||
</p>
|
||||
</div>
|
||||
<span class="avatar">
|
||||
@@ -120,9 +207,31 @@
|
||||
<div class="d-flex justify-content-between align-items-center card-widget-1 h-100 ps-3">
|
||||
<div>
|
||||
<p class="mb-0 text-muted" style="font-size: 0.75rem;">Akses Pasar</p>
|
||||
<h5 class="mb-0">$5,345.43</h5>
|
||||
@php
|
||||
$aksesPasar = isset($petani) ? $petani->aksesPasar : null;
|
||||
$skorAksesPasar = null;
|
||||
$skorAksesPasarBulat = null;
|
||||
|
||||
if($aksesPasar) {
|
||||
$totalSkorAksesPasar = (int) ($aksesPasar->skor_pengalaman ?? 0)
|
||||
+ (int) ($aksesPasar->skor_kesadaran_premium ?? 0);
|
||||
$skorAksesPasar = ($totalSkorAksesPasar * 10) / 100;
|
||||
$skorAksesPasarBulat = (int) round($skorAksesPasar);
|
||||
}
|
||||
@endphp
|
||||
<h5 class="mb-0">
|
||||
@if($aksesPasar)
|
||||
{{ number_format($skorAksesPasarBulat, 0, ',', '.') }}%
|
||||
@else
|
||||
-
|
||||
@endif
|
||||
</h5>
|
||||
<p class="mb-0" style="font-size: 0.75rem;">
|
||||
<span class="me-1">5k orders</span><span class="text-success fw-medium">+5.7%</span>
|
||||
@if($aksesPasar)
|
||||
<span class="me-1">Skor {{ number_format($skorAksesPasar, 1) }}</span>
|
||||
@else
|
||||
<span class="me-1">Belum isi</span>
|
||||
@endif
|
||||
</p>
|
||||
</div>
|
||||
<span class="avatar">
|
||||
|
||||
Reference in New Issue
Block a user