update skoring

This commit is contained in:
2026-07-09 17:30:19 +07:00
parent 6c95c462cb
commit 3464a802e2
5 changed files with 62 additions and 38 deletions
@@ -165,31 +165,18 @@
<p class="mb-0 text-muted" style="font-size: 0.75rem;">Sosial Ekonomi</p>
@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);
}
$skorSosialEkonomi = isset($petani) ? $petani->skorSosialEkonomi() : null;
$skorSosialEkonomiBulat = is_null($skorSosialEkonomi) ? null : (int) round($skorSosialEkonomi);
@endphp
<h5 class="mb-0">
@if($sosialEkonomi)
@if(!is_null($skorSosialEkonomi))
{{ number_format($skorSosialEkonomiBulat, 0, ',', '.') }}%
@else
-
@endif
</h5>
<p class="mb-0" style="font-size: 0.75rem;">
@if($sosialEkonomi)
@if(!is_null($skorSosialEkonomi))
<span class="me-1">Skor {{ number_format($skorSosialEkonomi, 1) }}</span>
@else
<span class="me-1">Belum isi</span>
@@ -209,25 +196,22 @@
<p class="mb-0 text-muted" style="font-size: 0.75rem;">Akses Pasar</p>
@php
$aksesPasar = isset($petani) ? $petani->aksesPasar : null;
$skorAksesPasar = null;
$skorAksesPasar = isset($petani) ? $petani->skorAksesPasar() : null;
$skorAksesPasarBulat = null;
if($aksesPasar) {
$totalSkorAksesPasar = (int) ($aksesPasar->skor_pengalaman ?? 0)
+ (int) ($aksesPasar->skor_kesadaran_premium ?? 0);
$skorAksesPasar = ($totalSkorAksesPasar * 10) / 100;
if(!is_null($skorAksesPasar)) {
$skorAksesPasarBulat = (int) round($skorAksesPasar);
}
@endphp
<h5 class="mb-0">
@if($aksesPasar)
@if(!is_null($skorAksesPasar))
{{ number_format($skorAksesPasarBulat, 0, ',', '.') }}%
@else
-
@endif
</h5>
<p class="mb-0" style="font-size: 0.75rem;">
@if($aksesPasar)
@if(!is_null($skorAksesPasar))
<span class="me-1">Skor {{ number_format($skorAksesPasar, 1) }}</span>
@else
<span class="me-1">Belum isi</span>
@@ -1057,6 +1057,7 @@
const alasanKreditLainnya = @json($alasanKreditLainnyaValue);
const kondisiAsetTidakAda = String(@json($kondisiAsetTidakAdaValue));
const jenisAsetLainnya = @json($jenisAsetLainnyaValue);
const keterlibatanProgramTidakPernah = String(@json($keterlibatanProgramKeuanganFormalTidakPernahValue));
const pernahBantuanNgoPerusahaanPernah = @json($pernahBantuanNgoPerusahaanPernahValue);
const pinjamanTokohAdatAda = @json($pinjamanTokohAdatAdaValue);
const tekananJualSegeraAda = @json($tekananJualSegeraAdaValue);
@@ -1455,6 +1456,18 @@
}
}
function syncProgramKeuanganFormalFields() {
const isTidakPernah = String($('input[name="keterlibatan_program_keuangan_formal"]:checked').val() || '') === keterlibatanProgramTidakPernah;
const $fields = $('input[name^="status_program_keuangan_formal["], #program-keuangan-lainnya');
$fields.prop('disabled', isTidakPernah);
if (isTidakPernah) {
$('input[name^="status_program_keuangan_formal["]').prop('checked', false);
$('#program-keuangan-lainnya').val('');
}
}
function syncBantuanNgoFields() {
const isPernah = $('input[name="pernah_bantuan_ngo_perusahaan"]:checked').val() === pernahBantuanNgoPerusahaanPernah;
const $fields = $('[name^="detail_bantuan_ngo_perusahaan["]');
@@ -1568,6 +1581,7 @@
$('input[name="alasan_kredit_ditolak[]"]').on('change', syncAlasanKreditLainnyaField);
$('input[name="kondisi_aset_produktif"]').on('change', syncAsetProduktifFields);
$('input[name="jenis_aset_produktif[]"]').on('change', syncJenisAsetLainnyaField);
$('input[name="keterlibatan_program_keuangan_formal"]').on('change', syncProgramKeuanganFormalFields);
$('input[name="pernah_bantuan_ngo_perusahaan"]').on('change', syncBantuanNgoFields);
$('input[name="pinjaman_tokoh_adat_panen"]').on('change', syncPinjamanTokohAdatFields);
$('#total-hutang-tidak-bersedia').on('change', syncTotalHutangFields);
@@ -1582,6 +1596,7 @@
syncStatusRekeningFields();
syncPengalamanKreditFields();
syncAsetProduktifFields();
syncProgramKeuanganFormalFields();
syncBantuanNgoFields();
syncPinjamanTokohAdatFields();
syncTotalHutangFields();
@@ -1053,6 +1053,7 @@
const alasanKreditLainnya = @json($alasanKreditLainnyaValue);
const kondisiAsetTidakAda = String(@json($kondisiAsetTidakAdaValue));
const jenisAsetLainnya = @json($jenisAsetLainnyaValue);
const keterlibatanProgramTidakPernah = String(@json($keterlibatanProgramKeuanganFormalTidakPernahValue));
const pernahBantuanNgoPerusahaanPernah = @json($pernahBantuanNgoPerusahaanPernahValue);
const pinjamanTokohAdatAda = @json($pinjamanTokohAdatAdaValue);
const tekananJualSegeraAda = @json($tekananJualSegeraAdaValue);
@@ -1451,6 +1452,18 @@
}
}
function syncProgramKeuanganFormalFields() {
const isTidakPernah = String($('input[name="keterlibatan_program_keuangan_formal"]:checked').val() || '') === keterlibatanProgramTidakPernah;
const $fields = $('input[name^="status_program_keuangan_formal["], #program-keuangan-lainnya');
$fields.prop('disabled', isTidakPernah);
if (isTidakPernah) {
$('input[name^="status_program_keuangan_formal["]').prop('checked', false);
$('#program-keuangan-lainnya').val('');
}
}
function syncBantuanNgoFields() {
const isPernah = $('input[name="pernah_bantuan_ngo_perusahaan"]:checked').val() === pernahBantuanNgoPerusahaanPernah;
const $fields = $('[name^="detail_bantuan_ngo_perusahaan["]');
@@ -1564,6 +1577,7 @@
$('input[name="alasan_kredit_ditolak[]"]').on('change', syncAlasanKreditLainnyaField);
$('input[name="kondisi_aset_produktif"]').on('change', syncAsetProduktifFields);
$('input[name="jenis_aset_produktif[]"]').on('change', syncJenisAsetLainnyaField);
$('input[name="keterlibatan_program_keuangan_formal"]').on('change', syncProgramKeuanganFormalFields);
$('input[name="pernah_bantuan_ngo_perusahaan"]').on('change', syncBantuanNgoFields);
$('input[name="pinjaman_tokoh_adat_panen"]').on('change', syncPinjamanTokohAdatFields);
$('#total-hutang-tidak-bersedia').on('change', syncTotalHutangFields);
@@ -1578,6 +1592,7 @@
syncStatusRekeningFields();
syncPengalamanKreditFields();
syncAsetProduktifFields();
syncProgramKeuanganFormalFields();
syncBantuanNgoFields();
syncPinjamanTokohAdatFields();
syncTotalHutangFields();