Update Koperasi
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
<?php
|
||||
|
||||
namespace App\Services\Koperasi;
|
||||
|
||||
use App\Enums\Koperasi\AlasanPinjamanKoperasi;
|
||||
use App\Enums\Koperasi\BentukPembayaranKoperasi;
|
||||
use App\Enums\Koperasi\JawabanYaTidakKoperasi;
|
||||
use App\Enums\Koperasi\JenisKoperasi;
|
||||
use App\Enums\Koperasi\KetersediaanKoperasi;
|
||||
use App\Models\Koperasi\PengurusKoperasi;
|
||||
|
||||
class SosialEkonomiKoperasiService extends KoperasiSurveyService
|
||||
{
|
||||
public function context(?PengurusKoperasi $model): array
|
||||
{
|
||||
return ['jenis_koperasi' => $model?->jenis_koperasi];
|
||||
}
|
||||
|
||||
public function dependencies(): array
|
||||
{
|
||||
$when = fn (string $field, array $values, string $source = 'form') => [
|
||||
'field' => $field, 'values' => $values, 'source' => $source,
|
||||
];
|
||||
$simpanPinjam = $when('jenis_koperasi', [JenisKoperasi::SIMPAN_PINJAM->value], 'profile');
|
||||
|
||||
return [
|
||||
'alasan_pinjaman' => [$simpanPinjam],
|
||||
'alasan_pinjaman_lainnya' => [$when('alasan_pinjaman', [AlasanPinjamanKoperasi::LAINNYA->value])],
|
||||
'pembayaran_selain_uang' => [$simpanPinjam],
|
||||
'bentuk_pembayaran_barang' => [$when('pembayaran_selain_uang', [KetersediaanKoperasi::ADA->value])],
|
||||
'bentuk_pembayaran_lainnya' => [$when('bentuk_pembayaran_barang', [BentukPembayaranKoperasi::LAINNYA->value])],
|
||||
'perhitungan_harga_pasar' => [$when('bentuk_pembayaran_barang', [BentukPembayaranKoperasi::HASIL_BUMI->value])],
|
||||
'alasan_bukan_harga_pasar' => [$when('perhitungan_harga_pasar', [JawabanYaTidakKoperasi::TIDAK->value])],
|
||||
];
|
||||
}
|
||||
|
||||
public function requiredFields(): array
|
||||
{
|
||||
return ['alasan_pinjaman_lainnya', 'bentuk_pembayaran_barang', 'bentuk_pembayaran_lainnya', 'perhitungan_harga_pasar', 'alasan_bukan_harga_pasar'];
|
||||
}
|
||||
|
||||
protected function arrayFields(): array
|
||||
{
|
||||
return ['alasan_pinjaman', 'bentuk_pembayaran_barang'];
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user