update skoring
This commit is contained in:
@@ -404,6 +404,7 @@ class SosialEkonomiController extends Controller
|
||||
if ($section === 'akses_keuangan') {
|
||||
$pengalamanKredit = (int) $request->input('pengalaman_kredit_kebun');
|
||||
$kondisiAset = (int) $request->input('kondisi_aset_produktif');
|
||||
$tidakPernahMenerimaProgram = (int) $request->input('keterlibatan_program_keuangan_formal') === KeterlibatanProgramKeuanganFormal::TIDAK_PERNAH_MENERIMA->value;
|
||||
|
||||
$rules = array_merge($rules, [
|
||||
'status_rekening_tabungan' => ['required', 'integer', Rule::in(StatusRekeningTabungan::values())],
|
||||
@@ -448,17 +449,17 @@ class SosialEkonomiController extends Controller
|
||||
'string',
|
||||
],
|
||||
'keterlibatan_program_keuangan_formal' => ['required', 'integer', Rule::in(KeterlibatanProgramKeuanganFormal::values())],
|
||||
'status_program_keuangan_formal' => ['required', 'array'],
|
||||
'status_program_keuangan_formal.pkh' => ['required', 'string', Rule::in(StatusProgramKeuanganFormal::values())],
|
||||
'status_program_keuangan_formal.blt' => ['required', 'string', Rule::in(StatusProgramKeuanganFormal::values())],
|
||||
'status_program_keuangan_formal.kur' => ['required', 'string', Rule::in(StatusProgramKeuanganFormal::values())],
|
||||
'status_program_keuangan_formal.kredit_koperasi_resmi' => ['required', 'string', Rule::in(StatusProgramKeuanganFormal::values())],
|
||||
'status_program_keuangan_formal.credit_union_cu' => ['required', 'string', Rule::in(StatusProgramKeuanganFormal::values())],
|
||||
'status_program_keuangan_formal.pinjaman_bumdes' => ['required', 'string', Rule::in(StatusProgramKeuanganFormal::values())],
|
||||
'status_program_keuangan_formal.modal_hibah_dinas_pertanian' => ['required', 'string', Rule::in(StatusProgramKeuanganFormal::values())],
|
||||
'status_program_keuangan_formal' => [Rule::requiredIf(fn () => !$tidakPernahMenerimaProgram), 'nullable', 'array'],
|
||||
'status_program_keuangan_formal.pkh' => [Rule::requiredIf(fn () => !$tidakPernahMenerimaProgram), 'nullable', 'string', Rule::in(StatusProgramKeuanganFormal::values())],
|
||||
'status_program_keuangan_formal.blt' => [Rule::requiredIf(fn () => !$tidakPernahMenerimaProgram), 'nullable', 'string', Rule::in(StatusProgramKeuanganFormal::values())],
|
||||
'status_program_keuangan_formal.kur' => [Rule::requiredIf(fn () => !$tidakPernahMenerimaProgram), 'nullable', 'string', Rule::in(StatusProgramKeuanganFormal::values())],
|
||||
'status_program_keuangan_formal.kredit_koperasi_resmi' => [Rule::requiredIf(fn () => !$tidakPernahMenerimaProgram), 'nullable', 'string', Rule::in(StatusProgramKeuanganFormal::values())],
|
||||
'status_program_keuangan_formal.credit_union_cu' => [Rule::requiredIf(fn () => !$tidakPernahMenerimaProgram), 'nullable', 'string', Rule::in(StatusProgramKeuanganFormal::values())],
|
||||
'status_program_keuangan_formal.pinjaman_bumdes' => [Rule::requiredIf(fn () => !$tidakPernahMenerimaProgram), 'nullable', 'string', Rule::in(StatusProgramKeuanganFormal::values())],
|
||||
'status_program_keuangan_formal.modal_hibah_dinas_pertanian' => [Rule::requiredIf(fn () => !$tidakPernahMenerimaProgram), 'nullable', 'string', Rule::in(StatusProgramKeuanganFormal::values())],
|
||||
'status_program_keuangan_formal.lainnya' => ['nullable', 'string', Rule::in(StatusProgramKeuanganFormal::values())],
|
||||
'program_keuangan_formal_lainnya_nama' => [
|
||||
Rule::requiredIf(fn () => filled($request->input('status_program_keuangan_formal.lainnya'))),
|
||||
Rule::requiredIf(fn () => !$tidakPernahMenerimaProgram && filled($request->input('status_program_keuangan_formal.lainnya'))),
|
||||
'nullable',
|
||||
'string',
|
||||
'max:255',
|
||||
@@ -610,6 +611,14 @@ class SosialEkonomiController extends Controller
|
||||
$payload['jenis_aset_produktif_lainnya'] = null;
|
||||
}
|
||||
|
||||
if (
|
||||
array_key_exists('keterlibatan_program_keuangan_formal', $payload)
|
||||
&& (int) ($payload['keterlibatan_program_keuangan_formal'] ?? 0) === KeterlibatanProgramKeuanganFormal::TIDAK_PERNAH_MENERIMA->value
|
||||
) {
|
||||
$payload['status_program_keuangan_formal'] = null;
|
||||
$payload['program_keuangan_formal_lainnya_nama'] = null;
|
||||
}
|
||||
|
||||
if (!filled($payload['status_program_keuangan_formal']['lainnya'] ?? null)) {
|
||||
$payload['program_keuangan_formal_lainnya_nama'] = null;
|
||||
}
|
||||
@@ -920,6 +929,7 @@ class SosialEkonomiController extends Controller
|
||||
'jenisAsetProduktifOptions' => JenisAsetProduktif::options(),
|
||||
'jenisAsetLainnyaValue' => JenisAsetProduktif::LAINNYA->value,
|
||||
'keterlibatanProgramKeuanganFormalOptions' => KeterlibatanProgramKeuanganFormal::options(),
|
||||
'keterlibatanProgramKeuanganFormalTidakPernahValue' => KeterlibatanProgramKeuanganFormal::TIDAK_PERNAH_MENERIMA->value,
|
||||
'statusProgramKeuanganFormalOptions' => StatusProgramKeuanganFormal::options(),
|
||||
'programKeuanganFormalRows' => [
|
||||
'pkh' => 'PKH',
|
||||
|
||||
@@ -163,7 +163,7 @@ class Petani extends Model
|
||||
return null;
|
||||
}
|
||||
|
||||
return round($nilai->sum(fn ($value) => (int) $value) * 0.1, 1);
|
||||
return round($nilai->sum(fn ($value) => (int) $value) * 0.2, 1);
|
||||
}
|
||||
|
||||
public function skorPendidikan(): ?float
|
||||
@@ -242,10 +242,10 @@ class Petani extends Model
|
||||
return null;
|
||||
}
|
||||
|
||||
$nilai = collect([
|
||||
$aksesPasar->skor_pengalaman,
|
||||
$aksesPasar->skor_kesadaran_premium,
|
||||
])->filter(fn ($value) => !is_null($value) && $value !== '');
|
||||
$nilai = collect(Schema::getColumnListing($aksesPasar->getTable()))
|
||||
->filter(fn ($field) => str_starts_with($field, 'skor_'))
|
||||
->map(fn ($field) => $aksesPasar->getAttribute($field))
|
||||
->filter(fn ($value) => !is_null($value) && $value !== '');
|
||||
|
||||
if ($nilai->isEmpty()) {
|
||||
return null;
|
||||
|
||||
Reference in New Issue
Block a user