From 08c19c0714ddce28fc76449410b5443fc997bb50 Mon Sep 17 00:00:00 2001 From: Irwan Cahyono Date: Wed, 15 Jul 2026 00:18:00 +0700 Subject: [PATCH] skor petani --- app/Models/Pertanian/AksesPasar.php | 3 +- app/Models/Pertanian/SkorPetani.php | 2 +- app/Models/Pertanian/SosialEkonomi.php | 36 +++++++++++++++++++ .../produktivitas/petani/header.blade.php | 2 +- .../produktivitas/petani/skor/index.blade.php | 6 +--- 5 files changed, 41 insertions(+), 8 deletions(-) diff --git a/app/Models/Pertanian/AksesPasar.php b/app/Models/Pertanian/AksesPasar.php index f455bd2..8f77920 100644 --- a/app/Models/Pertanian/AksesPasar.php +++ b/app/Models/Pertanian/AksesPasar.php @@ -50,7 +50,7 @@ class AksesPasar extends Model static::saved(function (AksesPasar $aksesPasar) { $petani = Petani::find($aksesPasar->petani_id); - $skor = SkorPetani::where('petani_id')->orderBy('id')->first(); + $skor = SkorPetani::where('petani_id', $petani->id)->orderBy('id')->first(); if (!$skor) { $petaniUid = $petani->uid; $part = explode('-', $petaniUid); @@ -61,6 +61,7 @@ class AksesPasar extends Model 'updated_by' => $petani->updated_by ]); } + $skor->update([ 'skor_d6_k1_6_pengalaman_menjual_ke_saluran_berbeda' => $aksesPasar->skor_pengalaman, 'skor_d6_k4_1_kesadaran_akses_pasar_premium' => $aksesPasar->skor_kesadaran_premium, diff --git a/app/Models/Pertanian/SkorPetani.php b/app/Models/Pertanian/SkorPetani.php index 69c649b..ccb5a4b 100644 --- a/app/Models/Pertanian/SkorPetani.php +++ b/app/Models/Pertanian/SkorPetani.php @@ -50,7 +50,7 @@ class SkorPetani extends Model 'skor_d4_k5_2_pengalaman_kredit_formal', 'skor_d4_k5_3_kepemilikan_aset_produktif', 'skor_d4_k5_4_kepemilikan_aset_tidak_produktif', - 'skor_d4_k5_4_5_akses_program_bantuan', + 'skor_d4_k5_4_akses_program_bantuan', 'skor_d4_k6_3_keberadaan_hutang_terkait_panen', 'skor_d4_k6_5a_praktik_ijon', 'skor_d4_k6_5b_kebebasan_memilih_pembeli', diff --git a/app/Models/Pertanian/SosialEkonomi.php b/app/Models/Pertanian/SosialEkonomi.php index 4cb082e..2cabcb2 100644 --- a/app/Models/Pertanian/SosialEkonomi.php +++ b/app/Models/Pertanian/SosialEkonomi.php @@ -41,6 +41,7 @@ use App\Enums\SosialEkonomi\UsahaMutuTambahanHarga; use App\Models\Pertanian\Petani; use App\Models\Pertanian\SkorPetani; +use App\Models\Pertanian\PraktikBudidaya; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\BelongsTo; @@ -204,7 +205,42 @@ class SosialEkonomi extends Model 'updated_by' => $petani->updated_by ]); } + $praktik = PraktikBudidaya::where('petani_id', $petani->id)->orderBy('id')->first(); + $pendapatan = PendapatanKomoditas::where('sosial_ekonomi_id', $sosialEkonomi->id)->get(); + + $rasio = 0; + if ($praktik && ($pendapatan && $pendapatan->count() > 0 && $pendapatan->sum('pendapatan') > 0)) { + $rasio = $praktik->total_estimasi_biaya_produksi / $pendapatan->sum('pendapatan'); + } + if ($rasio >= 0.8) { + $skorRasio = 1; + } else if ($rasio >= 0.6) { + $skorRasio = 2; + } else if ($rasio >= 0.45) { + $skorRasio = 3; + } else if ($rasio >= 0.3) { + $skorRasio = 4; + } else { + $skorRasio = 5; + } + $skor->update([ + 'skor_d4_k3_1_praktik_baru' => $sosialEkonomi->kemauan_mencoba_praktik_baru?->value, + 'skor_d4_k3_4_pemahaman_mutu_harga' => $sosialEkonomi->pemahaman_mutu_harga?->value, + 'skor_d4_k3_5_role_model' => $sosialEkonomi->panutan_petani_sukses?->value, + 'skor_d4_k3_6_kemampuan_keterlibatan_program' => $sosialEkonomi->kemauan_ikut_program?->value, + 'skor_d4_k3_7_orientasi_jangka_panjang' => $sosialEkonomi->orientasi_rencana_jangka_panjang?->value, + + 'skor_d4_k2_5_stabilitas_penghasilan' => $sosialEkonomi->skor_periode_paceklik?->value, + 'skor_d4_k2_8_kemampuan_menabung' => $sosialEkonomi->skor_kemampuan_menabung?->value, + 'skor_d4_k2_9_kecukupan_penghasilan' => $sosialEkonomi->skor_kecukupan_penghasilan?->value, + 'skor_d4_k2_3_k2_7_rasio_biaya_produksi_pendapatan' => $skorRasio, + 'skor_d4_k2_11_hak_kelola_lahan' => $sosialEkonomi->skor_kejelasan_status_lahan?->value, + + 'skor_d4_k4_2_keaktifan_pertemuan' => $sosialEkonomi->keaktifan_pertemuan_kelompok?->value, + 'skor_d4_k4_3_peran_dalam_kelompok' => $sosialEkonomi->peran_dalam_kelompok?->value, + 'skor_d4_k4_4_manfaat_dirasakan' => $sosialEkonomi->manfaat_kelompok_tani?->value, + 'skor_d4_k5_1_kepemilikan_rekening' => $sosialEkonomi->status_rekening_tabungan?->value, 'skor_d4_k5_2_pengalaman_kredit_formal' => $sosialEkonomi->pengalaman_kredit_kebun?->value, 'skor_d4_k5_3_kepemilikan_aset_produktif' => $sosialEkonomi->kondisi_aset_produktif?->value, diff --git a/resources/views/produktivitas/petani/header.blade.php b/resources/views/produktivitas/petani/header.blade.php index 9521240..ec77916 100644 --- a/resources/views/produktivitas/petani/header.blade.php +++ b/resources/views/produktivitas/petani/header.blade.php @@ -158,7 +158,7 @@ @php $produktivitas = isset($petani?->surveyProduktivitas) ? $petani?->surveyProduktivitas : null; if (!is_null($produktivitas)) { - $produktivitas = $produktivitas->get()->where('komoditas_id', $petani->komoditas_id); + $produktivitas = $produktivitas->where('komoditas_id', $petani->komoditas_id); } @endphp
diff --git a/resources/views/produktivitas/petani/skor/index.blade.php b/resources/views/produktivitas/petani/skor/index.blade.php index b14d92c..674a3a4 100644 --- a/resources/views/produktivitas/petani/skor/index.blade.php +++ b/resources/views/produktivitas/petani/skor/index.blade.php @@ -239,13 +239,9 @@ Kepemilikan aset produktif {{ number_format($skor->skor_d4_k5_3_kepemilikan_aset_produktif, 1, ',', '.') }} - - Kepemilikan aset tidak produktif - {{ number_format($skor->skor_d4_k5_4_kepemilikan_aset_tidak_produktif, 1, ',', '.') }} - Akses program bantuan - {{ number_format($skor->skor_d4_k5_4_5_akses_program_bantuan, 1, ',', '.') }} + {{ number_format($skor->skor_d4_k5_4_akses_program_bantuan, 1, ',', '.') }} Keberadaan hutang terkait panen