skor petani

This commit is contained in:
2026-07-15 00:18:00 +07:00
parent 857da1e900
commit 08c19c0714
5 changed files with 41 additions and 8 deletions
+2 -1
View File
@@ -50,7 +50,7 @@ class AksesPasar extends Model
static::saved(function (AksesPasar $aksesPasar) { static::saved(function (AksesPasar $aksesPasar) {
$petani = Petani::find($aksesPasar->petani_id); $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) { if (!$skor) {
$petaniUid = $petani->uid; $petaniUid = $petani->uid;
$part = explode('-', $petaniUid); $part = explode('-', $petaniUid);
@@ -61,6 +61,7 @@ class AksesPasar extends Model
'updated_by' => $petani->updated_by 'updated_by' => $petani->updated_by
]); ]);
} }
$skor->update([ $skor->update([
'skor_d6_k1_6_pengalaman_menjual_ke_saluran_berbeda' => $aksesPasar->skor_pengalaman, 'skor_d6_k1_6_pengalaman_menjual_ke_saluran_berbeda' => $aksesPasar->skor_pengalaman,
'skor_d6_k4_1_kesadaran_akses_pasar_premium' => $aksesPasar->skor_kesadaran_premium, 'skor_d6_k4_1_kesadaran_akses_pasar_premium' => $aksesPasar->skor_kesadaran_premium,
+1 -1
View File
@@ -50,7 +50,7 @@ class SkorPetani extends Model
'skor_d4_k5_2_pengalaman_kredit_formal', 'skor_d4_k5_2_pengalaman_kredit_formal',
'skor_d4_k5_3_kepemilikan_aset_produktif', 'skor_d4_k5_3_kepemilikan_aset_produktif',
'skor_d4_k5_4_kepemilikan_aset_tidak_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_3_keberadaan_hutang_terkait_panen',
'skor_d4_k6_5a_praktik_ijon', 'skor_d4_k6_5a_praktik_ijon',
'skor_d4_k6_5b_kebebasan_memilih_pembeli', 'skor_d4_k6_5b_kebebasan_memilih_pembeli',
+36
View File
@@ -41,6 +41,7 @@ use App\Enums\SosialEkonomi\UsahaMutuTambahanHarga;
use App\Models\Pertanian\Petani; use App\Models\Pertanian\Petani;
use App\Models\Pertanian\SkorPetani; use App\Models\Pertanian\SkorPetani;
use App\Models\Pertanian\PraktikBudidaya;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\BelongsTo;
@@ -204,7 +205,42 @@ class SosialEkonomi extends Model
'updated_by' => $petani->updated_by '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->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_1_kepemilikan_rekening' => $sosialEkonomi->status_rekening_tabungan?->value,
'skor_d4_k5_2_pengalaman_kredit_formal' => $sosialEkonomi->pengalaman_kredit_kebun?->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, 'skor_d4_k5_3_kepemilikan_aset_produktif' => $sosialEkonomi->kondisi_aset_produktif?->value,
@@ -158,7 +158,7 @@
@php @php
$produktivitas = isset($petani?->surveyProduktivitas) ? $petani?->surveyProduktivitas : null; $produktivitas = isset($petani?->surveyProduktivitas) ? $petani?->surveyProduktivitas : null;
if (!is_null($produktivitas)) { if (!is_null($produktivitas)) {
$produktivitas = $produktivitas->get()->where('komoditas_id', $petani->komoditas_id); $produktivitas = $produktivitas->where('komoditas_id', $petani->komoditas_id);
} }
@endphp @endphp
<div> <div>
@@ -239,13 +239,9 @@
<td class="text-wrapped">Kepemilikan aset produktif</td> <td class="text-wrapped">Kepemilikan aset produktif</td>
<td class="text-end">{{ number_format($skor->skor_d4_k5_3_kepemilikan_aset_produktif, 1, ',', '.') }}</td> <td class="text-end">{{ number_format($skor->skor_d4_k5_3_kepemilikan_aset_produktif, 1, ',', '.') }}</td>
</tr> </tr>
<tr>
<td class="text-wrapped">Kepemilikan aset tidak produktif</td>
<td class="text-end">{{ number_format($skor->skor_d4_k5_4_kepemilikan_aset_tidak_produktif, 1, ',', '.') }}</td>
</tr>
<tr> <tr>
<td class="text-wrapped">Akses program bantuan</td> <td class="text-wrapped">Akses program bantuan</td>
<td class="text-end">{{ number_format($skor->skor_d4_k5_4_5_akses_program_bantuan, 1, ',', '.') }}</td> <td class="text-end">{{ number_format($skor->skor_d4_k5_4_akses_program_bantuan, 1, ',', '.') }}</td>
</tr> </tr>
<tr> <tr>
<td class="text-wrapped">Keberadaan hutang terkait panen</td> <td class="text-wrapped">Keberadaan hutang terkait panen</td>