diff --git a/app/Models/Pertanian/SkorPetani.php b/app/Models/Pertanian/SkorPetani.php index de03e79..413470a 100644 --- a/app/Models/Pertanian/SkorPetani.php +++ b/app/Models/Pertanian/SkorPetani.php @@ -63,4 +63,84 @@ class SkorPetani extends Model 'deleted_by', ]; + protected static function booted(): void + { + static::saved(function (SkorPetani $skorPetani) { + + $skorPetani = $skorPetani->update([ + 'skor_komp_1_d4_k3_motivasi_kapasitas_adopsi' => ( + $skorPetani->skor_d4_k3_1_praktik_baru + + $skorPetani->skor_d4_k3_4_pemahaman_mutu_harga + + $skorPetani->skor_d4_k3_5_role_model + + $skorPetani->skor_d4_k3_6_kemampuan_keterlibatan_program + + $skorPetani->skor_d4_k3_7_orientasi_jangka_panjang + ) / 5, + 'skor_komp_2_d4_k2_ekonomi_rumah_tangga' => ( + $skorPetani->skor_d4_k2_5_stabilitas_penghasilan + + $skorPetani->skor_d4_k2_8_kemampuan_menabung + + $skorPetani->skor_d4_k2_9_kecukupan_penghasilan + + $skorPetani->skor_d4_k2_3_k2_7_rasio_biaya_produksi_pendapatan + + $skorPetani->skor_d4_k2_11_hak_kelola_lahan + ) / 5, + 'skor_komp_3_d2_praktik_budidaya_gap' => ( + $skorPetani->skor_d2_k2_3_praktik_pemangkasan + + $skorPetani->skor_d2_k2_4_praktik_pemupukan + + $skorPetani->skor_d2_k2_5_pengendalian_opt + + $skorPetani->skor_d2_k2_6_sanitasi_kebun + + $skorPetani->skor_d2_k2_6b_pengelolaan_gulma + + $skorPetani->skor_d2_k2_7_penglolaan_air_irigasi + + $skorPetani->skor_d2_k2_8_praktik_konservasi_tanah + + $skorPetani->skor_d2_k3_1_penentuan_pematangan + + $skorPetani->skor_d2_k3_5_sortasi_awal_pemisahan_kualitas + ) / 9, + 'skor_komp_4_d4_k4_keterlibatan_kelembagaan' => ( + $skorPetani->skor_d4_k4_2_keaktifan_pertemuan + + $skorPetani->skor_d4_k4_3_peran_dalam_kelompok + + $skorPetani->skor_d4_k4_4_manfaat_dirasakan + ) / 3, + 'skor_komp_5_d4_k5_k6_akses_kebebasan_keuangan' => ( + ( + $skorPetani->skor_d4_k5_1_kepemilikan_rekening + + $skorPetani->skor_d4_k5_2_pengalaman_kredit_formal + + $skorPetani->skor_d4_k5_3_kepemilikan_aset_produktif + + $skorPetani->skor_d4_k5_4_5_akses_program_bantuan + ) / 4 + + ( + $skorPetani->skor_d4_k6_3_keberadaan_hutang_terkait_panen + + $skorPetani->skor_d4_k6_5a_praktik_ijon + + $skorPetani->skor_d4_k6_5b_kebebasan_memilih_pembeli + ) / 3 + ) / 2, + 'skor_komp_6_d6_k1_k4_k5_rantai_nilai_akses_pasar' => ( + $skorPetani->skor_d6_k1_6_pengalaman_menjual_ke_saluran_berbeda + + $skorPetani->skor_d6_k4_1_kesadaran_akses_pasar_premium + + $skorPetani->skor_d6_k5_1_hambatan_mutu + ) / 3 + ]); + + $skorPetani = $skorPetani->update([ + 'skor_d2_sistem_praktik_budidaya' => ( + $skorPetani->skor_komp_3_d2_praktik_budidaya_gap + ), + 'skor_d4_sosial_ekonomi' => ( + $skorPetani->skor_komp_1_d4_k3_motivasi_kapasitas_adopsi + ), + 'skor_d6_rantai_nilai_akses_pasar' => ( + $skorPetani->skor_komp_6_d6_k1_k4_k5_rantai_nilai_akses_pasar * 0.25 + + $skorPetani->skor_komp_2_d4_k2_ekonomi_rumah_tangga * 0.20 + + $skorPetani->skor_komp_4_d4_k4_keterlibatan_kelembagaan * 0.15 + + $skorPetani->skor_komp_5_d4_k5_k6_akses_kebebasan_keuangan * 0.10 + ) / 0.70, + + 'skor_kesiapan_adopsi' => ( + $skorPetani->skor_komp_6_d6_k1_k4_k5_rantai_nilai_akses_pasar * 0.25 + + $skorPetani->skor_komp_2_d4_k2_ekonomi_rumah_tangga * 0.20 + + $skorPetani->skor_komp_3_d2_praktik_budidaya_gap * 0.20 + + $skorPetani->skor_komp_4_d4_k4_keterlibatan_kelembagaan * 0.15 + + $skorPetani->skor_komp_5_d4_k5_k6_akses_kebebasan_keuangan * 0.10 + + $skorPetani->skor_komp_1_d4_k3_motivasi_kapasitas_adopsi * 0.10 + ) + ]); + }); + } }