33 lines
1.3 KiB
PHP
33 lines
1.3 KiB
PHP
<?php
|
|
|
|
namespace App\Enums\Bumdes;
|
|
|
|
enum HubunganPemasokBumdes: string
|
|
{
|
|
case BEBAS = 'bebas';
|
|
case LANGGANAN = 'langganan';
|
|
case PINJAMAN = 'pinjaman';
|
|
case KONSINYASI = 'konsinyasi';
|
|
case KOMITMEN_VOLUME = 'komitmen_volume';
|
|
case SEMI_KONTRAK = 'semi_kontrak';
|
|
case LAINNYA = 'lainnya';
|
|
|
|
public function label(): string
|
|
{
|
|
return match ($this) {
|
|
self::BEBAS => 'Bebas/tidak terikat: petani bebas menjual ke BUMDes atau pihak lain kapan saja, tanpa ikatan apa pun',
|
|
self::LANGGANAN => 'Langganan tetap: petani rutin menjual ke BUMDes tanpa perjanjian formal',
|
|
self::PINJAMAN => 'Berbasis hutang/pinjaman: petani menjual ke BUMDes karena memiliki pinjaman kepada BUMDes',
|
|
self::KONSINYASI => 'Titip jual (konsinyasi): petani dibayar setelah hasil panen terjual',
|
|
self::KOMITMEN_VOLUME => 'Ada komitmen volume: kesepakatan volume tertentu yang dipenuhi secara berkala',
|
|
self::SEMI_KONTRAK => 'Semi-kontrak: kesepakatan tertulis/lisan mengenai harga, volume, dan waktu penyerahan',
|
|
self::LAINNYA => 'Lainnya',
|
|
};
|
|
}
|
|
|
|
public static function options(): array
|
|
{
|
|
return collect(self::cases())->mapWithKeys(fn (self $value) => [$value->value => $value->label()])->all();
|
|
}
|
|
}
|