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
@@ -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',