Update BUMDes

This commit is contained in:
2026-11-05 19:20:05 +07:00
parent 9cdd178297
commit c55ff109a0
73 changed files with 6699 additions and 1548 deletions
+30
View File
@@ -0,0 +1,30 @@
<?php
namespace App\Enums\Bumdes;
enum AsetProduktifBumdes: string
{
case BANGUNAN_KANTOR = 'bangunan_kantor';
case GUDANG_PENYIMPANAN = 'gudang_penyimpanan';
case KENDARAAN_OPERASIONAL_ANGKUT = 'kendaraan_operasional_angkut';
case LAHAN_USAHA = 'lahan_usaha';
case ALAT_PENGOLAHAN_KOMODITAS = 'alat_pengolahan_komoditas';
case LAINNYA = 'lainnya';
public function label(): string
{
return match ($this) {
self::BANGUNAN_KANTOR => 'Bangunan / kantor',
self::GUDANG_PENYIMPANAN => 'Gudang penyimpanan',
self::KENDARAAN_OPERASIONAL_ANGKUT => 'Kendaraan operasional/angkut',
self::LAHAN_USAHA => 'Lahan usaha',
self::ALAT_PENGOLAHAN_KOMODITAS => 'Alat pengolahan komoditas',
self::LAINNYA => 'Lainnya',
};
}
public static function options(): array
{
return collect(self::cases())->mapWithKeys(fn (self $value) => [$value->value => $value->label()])->all();
}
}
+26
View File
@@ -0,0 +1,26 @@
<?php
namespace App\Enums\Bumdes;
enum BentukProdukBumdes: string
{
case BUAH_SEGAR = 'buah_segar';
case BIJI_BASAH = 'biji_basah';
case BIJI_KERING = 'biji_kering';
case TERFERMENTASI = 'terfermentasi';
public function label(): string
{
return match ($this) {
self::BUAH_SEGAR => 'Buah segar hasil petik',
self::BIJI_BASAH => 'Biji basah',
self::BIJI_KERING => 'Biji kering/biji kupas',
self::TERFERMENTASI => 'Terfermentasi',
};
}
public static function options(): array
{
return collect(self::cases())->mapWithKeys(fn (self $value) => [$value->value => $value->label()])->all();
}
}
+22
View File
@@ -0,0 +1,22 @@
<?php
namespace App\Enums\Bumdes;
enum CakupanLayananBumdes: string
{
case DESA_SENDIRI = 'desa_sendiri';
case DESA_LAIN = 'desa_sendiri_dan_lain';
public function label(): string
{
return match ($this) {
self::DESA_SENDIRI => 'Hanya melayani desa sendiri',
self::DESA_LAIN => 'Melayani desa sendiri dan desa lain',
};
}
public static function options(): array
{
return collect(self::cases())->mapWithKeys(fn (self $value) => [$value->value => $value->label()])->all();
}
}
+28
View File
@@ -0,0 +1,28 @@
<?php
namespace App\Enums\Bumdes;
enum DukunganDesaBumdes: string
{
case PENDAMPINGAN_TEKNIS = 'pendampingan_teknis';
case REGULASI_PERDES = 'regulasi_perdes';
case FASILITASI_JEJARING = 'fasilitasi_jejaring';
case TIDAK_ADA = 'tidak_ada';
case LAINNYA = 'lainnya';
public function label(): string
{
return match ($this) {
self::PENDAMPINGAN_TEKNIS => 'Pendampingan teknis',
self::REGULASI_PERDES => 'Regulasi/Perdes pendukung',
self::FASILITASI_JEJARING => 'Fasilitasi jejaring/kemitraan',
self::TIDAK_ADA => 'Tidak ada dukungan khusus',
self::LAINNYA => 'Lainnya',
};
}
public static function options(): array
{
return collect(self::cases())->mapWithKeys(fn (self $value) => [$value->value => $value->label()])->all();
}
}
@@ -0,0 +1,26 @@
<?php
namespace App\Enums\Bumdes;
enum FormatPembukuanBumdes: string
{
case MANUAL = 'manual';
case DIGITAL_EXCEL = 'digital_excel';
case APLIKASI = 'aplikasi';
case TIDAK_ADA = 'tidak_ada';
public function label(): string
{
return match ($this) {
self::MANUAL => 'Manual/buku kas',
self::DIGITAL_EXCEL => 'Digital/file Excel',
self::APLIKASI => 'Aplikasi keuangan khusus',
self::TIDAK_ADA => 'Tidak ada',
};
}
public static function options(): array
{
return collect(self::cases())->mapWithKeys(fn (self $value) => [$value->value => $value->label()])->all();
}
}
+32
View File
@@ -0,0 +1,32 @@
<?php
namespace App\Enums\Bumdes;
enum HambatanUsahaBumdes: string
{
case MODAL = 'modal';
case SDM = 'sdm';
case INFRASTRUKTUR = 'infrastruktur';
case PASOKAN = 'pasokan';
case PERSAINGAN = 'persaingan';
case AKSES_PASAR = 'akses_pasar';
case LAINNYA = 'lainnya';
public function label(): string
{
return match ($this) {
self::MODAL => 'Keterbatasan modal',
self::SDM => 'Keterbatasan SDM/kapasitas pengurus',
self::INFRASTRUKTUR => 'Keterbatasan infrastruktur/alat',
self::PASOKAN => 'Kesulitan mendapat pasokan konsisten dari produsen',
self::PERSAINGAN => 'Persaingan dengan tengkulak/pedagang',
self::AKSES_PASAR => 'Belum ada akses ke offtaker/pasar premium',
self::LAINNYA => 'Lainnya',
};
}
public static function options(): array
{
return collect(self::cases())->mapWithKeys(fn (self $value) => [$value->value => $value->label()])->all();
}
}
@@ -0,0 +1,32 @@
<?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();
}
}
@@ -0,0 +1,30 @@
<?php
namespace App\Enums\Bumdes;
enum InfrastrukturPascapanenBumdes: string
{
case GUDANG_PENYIMPANAN_HASIL_PANEN = 'gudang_penyimpanan_hasil_panen';
case ALAT_MESIN_PENGERING = 'alat_mesin_pengering';
case MESIN_PULPER_HULLER = 'mesin_pulper_huller';
case TIMBANGAN = 'timbangan';
case ALAT_SORTASI = 'alat_sortasi';
case LAINNYA = 'lainnya';
public function label(): string
{
return match ($this) {
self::GUDANG_PENYIMPANAN_HASIL_PANEN => 'Gudang penyimpanan hasil panen',
self::ALAT_MESIN_PENGERING => 'Alat/mesin pengering',
self::MESIN_PULPER_HULLER => 'Mesin pulper/huller',
self::TIMBANGAN => 'Timbangan',
self::ALAT_SORTASI => 'Alat sortasi',
self::LAINNYA => 'Lainnya',
};
}
public static function options(): array
{
return collect(self::cases())->mapWithKeys(fn (self $value) => [$value->value => $value->label()])->all();
}
}
@@ -0,0 +1,32 @@
<?php
namespace App\Enums\Bumdes;
enum JabatanPengurusIntiBumdes: string
{
case PENASIHAT_KEPALA_DESA = 'penasihat_kepala_desa';
case KETUA_PENGAWAS = 'ketua_pengawas';
case DIREKTUR_KETUA_BUMDES = 'direktur_ketua_bumdes';
case SEKRETARIS = 'sekretaris';
case BENDAHARA = 'bendahara';
case KEPALA_UNIT_USAHA_KOMODITAS = 'kepala_unit_usaha_komoditas';
case LAINNYA = 'lainnya';
public function label(): string
{
return match ($this) {
self::PENASIHAT_KEPALA_DESA => 'Penasihat (Kepala Desa)',
self::KETUA_PENGAWAS => 'Ketua Pengawas',
self::DIREKTUR_KETUA_BUMDES => 'Direktur/Ketua BUMDes',
self::SEKRETARIS => 'Sekretaris',
self::BENDAHARA => 'Bendahara',
self::KEPALA_UNIT_USAHA_KOMODITAS => 'Kepala Unit Usaha Komoditas',
self::LAINNYA => 'Lainnya',
};
}
public static function options(): array
{
return collect(self::cases())->mapWithKeys(fn (self $value) => [$value->value => $value->label()])->all();
}
}
@@ -0,0 +1,30 @@
<?php
namespace App\Enums\Bumdes;
enum KemitraanEksternalBumdes: string
{
case NGO = 'ngo';
case PEMERINTAH_KABUPATEN = 'pemerintah_kabupaten';
case SWASTA_OFFTAKER = 'swasta_offtaker';
case PROGRAM_PEMERINTAH_LAIN = 'program_pemerintah_lain';
case BELUM_ADA = 'belum_ada';
case LAINNYA = 'lainnya';
public function label(): string
{
return match ($this) {
self::NGO => 'NGO/lembaga pemberdayaan',
self::PEMERINTAH_KABUPATEN => 'Dinas/pemerintah kabupaten',
self::SWASTA_OFFTAKER => 'Perusahaan swasta/offtaker',
self::PROGRAM_PEMERINTAH_LAIN => 'Program pemerintah lain',
self::BELUM_ADA => 'Belum ada kemitraan eksternal',
self::LAINNYA => 'Lainnya',
};
}
public static function options(): array
{
return collect(self::cases())->mapWithKeys(fn (self $value) => [$value->value => $value->label()])->all();
}
}
@@ -0,0 +1,24 @@
<?php
namespace App\Enums\Bumdes;
enum KeterlibatanKoordinasiBumdes: string
{
case SELALU = 'selalu';
case KADANG = 'kadang';
case TIDAK_PERNAH = 'tidak_pernah';
public function label(): string
{
return match ($this) {
self::SELALU => 'Selalu dilibatkan',
self::KADANG => 'Kadang dilibatkan',
self::TIDAK_PERNAH => 'Tidak pernah dilibatkan',
};
}
public static function options(): array
{
return collect(self::cases())->mapWithKeys(fn (self $value) => [$value->value => $value->label()])->all();
}
}
@@ -0,0 +1,43 @@
<?php
namespace App\Enums\Bumdes;
enum KondisiAsetProduktifBumdes: string
{
case BERFUNGSI = 'berfungsi';
case PERLU_PERBAIKAN = 'perlu_perbaikan_evaluasi';
case RUSAK = 'rusak_tidak_bisa_dipakai';
case MANGKRAK = 'mangkrak';
public function label(): string
{
return match ($this) {
self::BERFUNGSI => 'Berfungsi',
self::PERLU_PERBAIKAN => 'Perlu perbaikan/evaluasi',
self::RUSAK => 'Rusak/tidak bisa dipakai',
self::MANGKRAK => 'Mangkrak',
};
}
public static function options(): array
{
return collect(self::cases())->mapWithKeys(fn (self $value) => [$value->value => $value->label()])->all();
}
public static function normalizeLegacy(mixed $value): ?string
{
if (! is_scalar($value) || trim((string) $value) === '') {
return null;
}
$value = trim((string) $value);
return match (mb_strtolower($value)) {
'baik', 'berfungsi', 'baik dan berfungsi', 'baik_berfungsi' => self::BERFUNGSI->value,
'rusak ringan', 'perlu perbaikan', 'perlu perbaikan/evaluasi' => self::PERLU_PERBAIKAN->value,
'rusak', 'rusak/tidak terpakai', 'rusak_tidak_terpakai', 'rusak/tidak bisa dipakai' => self::RUSAK->value,
'mangkrak' => self::MANGKRAK->value,
default => $value,
};
}
}
@@ -0,0 +1,22 @@
<?php
namespace App\Enums\Bumdes;
enum KondisiInfrastrukturBumdes: string
{
case BAIK_BERFUNGSI = 'baik_berfungsi';
case RUSAK_TIDAK_TERPAKAI = 'rusak_tidak_terpakai';
public function label(): string
{
return match ($this) {
self::BAIK_BERFUNGSI => 'Baik dan berfungsi',
self::RUSAK_TIDAK_TERPAKAI => 'Rusak/tidak terpakai',
};
}
public static function options(): array
{
return collect(self::cases())->mapWithKeys(fn (self $value) => [$value->value => $value->label()])->all();
}
}
@@ -0,0 +1,26 @@
<?php
namespace App\Enums\Bumdes;
enum KondisiKeuanganBumdes: string
{
case UNTUNG_SURPLUS = 'untung_surplus';
case IMPAS = 'impas';
case RUGI_DEFISIT = 'rugi_defisit';
case TIDAK_MENJAWAB = 'tidak_menjawab';
public function label(): string
{
return match ($this) {
self::UNTUNG_SURPLUS => 'Untung/surplus',
self::IMPAS => 'Impas',
self::RUGI_DEFISIT => 'Rugi/defisit',
self::TIDAK_MENJAWAB => 'Tidak tahu/tidak mau menjawab',
};
}
public static function options(): array
{
return collect(self::cases())->mapWithKeys(fn (self $value) => [$value->value => $value->label()])->all();
}
}
@@ -0,0 +1,24 @@
<?php
namespace App\Enums\Bumdes;
enum KontribusiPadesBumdes: string
{
case RUTIN = 'rutin';
case TIDAK_RUTIN = 'tidak_rutin';
case BELUM_PERNAH = 'belum_pernah';
public function label(): string
{
return match ($this) {
self::RUTIN => 'Ya, rutin',
self::TIDAK_RUTIN => 'Ya, tapi tidak rutin',
self::BELUM_PERNAH => 'Belum pernah',
};
}
public static function options(): array
{
return collect(self::cases())->mapWithKeys(fn (self $value) => [$value->value => $value->label()])->all();
}
}
+34
View File
@@ -0,0 +1,34 @@
<?php
namespace App\Enums\Bumdes;
enum LayananPetaniBumdes: string
{
case SIMPAN_PINJAM = 'simpan_pinjam';
case PENGADAAN_INPUT = 'pengadaan_input';
case PEMASARAN_PANEN = 'pemasaran_panen';
case PENYEWAAN_ALAT = 'penyewaan_alat';
case JASA_PENGOLAHAN = 'jasa_pengolahan';
case PELATIHAN = 'pelatihan';
case BELUM_ADA = 'belum_ada';
case LAINNYA = 'lainnya';
public function label(): string
{
return match ($this) {
self::SIMPAN_PINJAM => 'Simpan pinjam',
self::PENGADAAN_INPUT => 'Pengadaan input (pupuk, bibit, dll)',
self::PEMASARAN_PANEN => 'Pembelian/pemasaran hasil panen',
self::PENYEWAAN_ALAT => 'Penyewaan alat pengolahan',
self::JASA_PENGOLAHAN => 'Jasa pengolahan/fermentasi',
self::PELATIHAN => 'Pelatihan/pendampingan',
self::BELUM_ADA => 'Belum ada layanan terkait komoditas ini',
self::LAINNYA => 'Lainnya',
};
}
public static function options(): array
{
return collect(self::cases())->mapWithKeys(fn (self $value) => [$value->value => $value->label()])->all();
}
}
@@ -0,0 +1,28 @@
<?php
namespace App\Enums\Bumdes;
enum MekanismePembayaranBumdes: string
{
case TUNAI = 'tunai';
case TEMPO = 'tempo';
case CAMPURAN = 'campuran';
case IJON = 'ijon';
case LAINNYA = 'lainnya';
public function label(): string
{
return match ($this) {
self::TUNAI => 'Tunai langsung',
self::TEMPO => 'Sistem tempo/dibayar kemudian',
self::CAMPURAN => 'Campuran, tergantung situasi',
self::IJON => 'BUMDes membayar di muka sebelum panen, sebagai bagian dari ikatan pinjaman kepada petani (ijon)',
self::LAINNYA => 'Lainnya',
};
}
public static function options(): array
{
return collect(self::cases())->mapWithKeys(fn (self $value) => [$value->value => $value->label()])->all();
}
}
@@ -0,0 +1,26 @@
<?php
namespace App\Enums\Bumdes;
enum ModelFermentasiBumdes: string
{
case INDIVIDUAL = 'individual';
case KOLEKTIF_KELOMPOK = 'kolektif_kelompok';
case UNIT_BUMDES = 'unit_bumdes';
case CAMPURAN = 'campuran';
public function label(): string
{
return match ($this) {
self::INDIVIDUAL => 'Individual (masing-masing petani)',
self::KOLEKTIF_KELOMPOK => 'Kolektif kelompok tani',
self::UNIT_BUMDES => 'Unit pengolah BUMDes/desa',
self::CAMPURAN => 'Campuran',
};
}
public static function options(): array
{
return collect(self::cases())->mapWithKeys(fn (self $value) => [$value->value => $value->label()])->all();
}
}
@@ -0,0 +1,24 @@
<?php
namespace App\Enums\Bumdes;
enum PencatatanPetaniBumdes: string
{
case RAPI = 'rapi';
case TIDAK_RAPI = 'tidak_rapi';
case TIDAK_ADA = 'tidak_ada';
public function label(): string
{
return match ($this) {
self::RAPI => 'Ada, tercatat rapi',
self::TIDAK_RAPI => 'Ada tapi tidak rapi',
self::TIDAK_ADA => 'Tidak ada pencatatan',
};
}
public static function options(): array
{
return collect(self::cases())->mapWithKeys(fn (self $value) => [$value->value => $value->label()])->all();
}
}
@@ -0,0 +1,26 @@
<?php
namespace App\Enums\Bumdes;
enum PenetapanHargaBeliBumdes: string
{
case PASAR_SETEMPAT = 'pasar_setempat';
case KALKULASI_BIAYA = 'kalkulasi_biaya';
case HARGA_MITRA = 'harga_mitra';
case LAINNYA = 'lainnya';
public function label(): string
{
return match ($this) {
self::PASAR_SETEMPAT => 'Mengikuti harga pasar/tengkulak setempat',
self::KALKULASI_BIAYA => 'Ditetapkan sendiri berdasarkan kalkulasi biaya',
self::HARGA_MITRA => 'Mengikuti harga dari offtaker/mitra',
self::LAINNYA => 'Lainnya',
};
}
public static function options(): array
{
return collect(self::cases())->mapWithKeys(fn (self $value) => [$value->value => $value->label()])->all();
}
}
@@ -0,0 +1,24 @@
<?php
namespace App\Enums\Bumdes;
enum PengalamanOfftakerBumdes: string
{
case BERJALAN = 'berjalan';
case BERHENTI = 'berhenti';
case BELUM_PERNAH = 'belum_pernah';
public function label(): string
{
return match ($this) {
self::BERJALAN => 'Sedang berjalan',
self::BERHENTI => 'Pernah, tapi sudah berhenti',
self::BELUM_PERNAH => 'Belum pernah',
};
}
public static function options(): array
{
return collect(self::cases())->mapWithKeys(fn (self $value) => [$value->value => $value->label()])->all();
}
}
@@ -0,0 +1,26 @@
<?php
namespace App\Enums\Bumdes;
enum PeranRantaiNilaiBumdes: string
{
case MEMBELI_LANGSUNG = 'membeli_langsung';
case PERANTARA = 'perantara';
case MENGOLAH_SENDIRI = 'mengolah_sendiri';
case BELUM_BERPERAN = 'belum_berperan';
public function label(): string
{
return match ($this) {
self::MEMBELI_LANGSUNG => 'Membeli langsung dari petani',
self::PERANTARA => 'Menjadi perantara/mengumpulkan untuk dijual ke pihak lain',
self::MENGOLAH_SENDIRI => 'Mengolah sendiri (sortasi/fermentasi/dll) sebelum dijual',
self::BELUM_BERPERAN => 'Belum berperan dalam rantai nilai komoditas ini',
};
}
public static function options(): array
{
return collect(self::cases())->mapWithKeys(fn (self $value) => [$value->value => $value->label()])->all();
}
}
+24
View File
@@ -0,0 +1,24 @@
<?php
namespace App\Enums\Bumdes;
enum PeriodePanenBumdes: string
{
case TERAKHIR = 'panen_terakhir';
case TAHUN_LALU = 'tahun_lalu';
case DUA_TAHUN_LALU = 'dua_tahun_lalu';
public function label(): string
{
return match ($this) {
self::TERAKHIR => 'Panen Terakhir',
self::TAHUN_LALU => 'Tahun Lalu',
self::DUA_TAHUN_LALU => 'Dua Tahun Lalu',
};
}
public static function options(): array
{
return collect(self::cases())->mapWithKeys(fn (self $value) => [$value->value => $value->label()])->all();
}
}
@@ -0,0 +1,24 @@
<?php
namespace App\Enums\Bumdes;
enum PerjanjianPetaniBumdes: string
{
case TERTULIS = 'tertulis';
case LISAN = 'lisan';
case TIDAK_ADA = 'tidak_ada';
public function label(): string
{
return match ($this) {
self::TERTULIS => 'Ada, tertulis',
self::LISAN => 'Ada, kesepakatan lisan saja',
self::TIDAK_ADA => 'Tidak ada perjanjian',
};
}
public static function options(): array
{
return collect(self::cases())->mapWithKeys(fn (self $value) => [$value->value => $value->label()])->all();
}
}
@@ -0,0 +1,24 @@
<?php
namespace App\Enums\Bumdes;
enum PertanggungjawabanMusdesBumdes: string
{
case TAHUNAN = 'tahunan';
case TIDAK_RUTIN = 'tidak_rutin';
case BELUM_PERNAH = 'belum_pernah';
public function label(): string
{
return match ($this) {
self::TAHUNAN => 'Ya, setiap tahun',
self::TIDAK_RUTIN => 'Tidak rutin',
self::BELUM_PERNAH => 'Belum pernah',
};
}
public static function options(): array
{
return collect(self::cases())->mapWithKeys(fn (self $value) => [$value->value => $value->label()])->all();
}
}
@@ -0,0 +1,30 @@
<?php
namespace App\Enums\Bumdes;
enum SaluranPenjualanBumdes: string
{
case OFFTAKER_EKSPORTIR = 'offtaker_eksportir';
case PEDAGANG_KABUPATEN = 'pedagang_kabupaten';
case KOPERASI_BUMDES = 'koperasi_bumdes';
case PASAR_LOKAL = 'pasar_lokal';
case BELUM_MENJUAL = 'belum_menjual';
case LAINNYA = 'lainnya';
public function label(): string
{
return match ($this) {
self::OFFTAKER_EKSPORTIR => 'Offtaker/eksportir langsung',
self::PEDAGANG_KABUPATEN => 'Pedagang besar/pengepul kabupaten',
self::KOPERASI_BUMDES => 'Koperasi atau BUMDes lain',
self::PASAR_LOKAL => 'Dijual eceran/pasar lokal',
self::BELUM_MENJUAL => 'Belum pernah menjual (masih disimpan/diproses)',
self::LAINNYA => 'Lainnya',
};
}
public static function options(): array
{
return collect(self::cases())->mapWithKeys(fn (self $value) => [$value->value => $value->label()])->all();
}
}
+22
View File
@@ -0,0 +1,22 @@
<?php
namespace App\Enums\Bumdes;
enum SifatAuditBumdes: string
{
case INTERNAL = 'internal';
case EKSTERNAL = 'eksternal';
public function label(): string
{
return match ($this) {
self::INTERNAL => 'Internal (pengurus/pengawas BUMDes sendiri)',
self::EKSTERNAL => 'Eksternal (Inspektorat, Dinas PMD, akuntan publik/auditor independen)',
};
}
public static function options(): array
{
return collect(self::cases())->mapWithKeys(fn (self $value) => [$value->value => $value->label()])->all();
}
}
+26
View File
@@ -0,0 +1,26 @@
<?php
namespace App\Enums\Bumdes;
enum StatusAdArtBumdes: string
{
case ADA_LENGKAP = 'ada_lengkap';
case ADA_TIDAK_LENGKAP = 'ada_tidak_lengkap';
case TIDAK_ADA = 'tidak_ada';
case TIDAK_TAHU = 'tidak_tahu';
public function label(): string
{
return match ($this) {
self::ADA_LENGKAP => 'Ada, lengkap',
self::ADA_TIDAK_LENGKAP => 'Ada tapi tidak lengkap',
self::TIDAK_ADA => 'Tidak ada',
self::TIDAK_TAHU => 'Tidak tahu',
};
}
public static function options(): array
{
return collect(self::cases())->mapWithKeys(fn (self $value) => [$value->value => $value->label()])->all();
}
}
@@ -0,0 +1,26 @@
<?php
namespace App\Enums\Bumdes;
enum StatusBadanHukumBumdes: string
{
case SUDAH_BERBADAN_HUKUM = 'sudah_berbadan_hukum';
case PROSES_PENDAFTARAN = 'proses_pendaftaran';
case BELUM_BERBADAN_HUKUM = 'belum_berbadan_hukum';
case TIDAK_TAHU = 'tidak_tahu';
public function label(): string
{
return match ($this) {
self::SUDAH_BERBADAN_HUKUM => 'Sudah berbadan hukum (terdaftar Kemenkumham)',
self::PROSES_PENDAFTARAN => 'Proses pendaftaran',
self::BELUM_BERBADAN_HUKUM => 'Belum berbadan hukum',
self::TIDAK_TAHU => 'Tidak tahu',
};
}
public static function options(): array
{
return collect(self::cases())->mapWithKeys(fn (self $value) => [$value->value => $value->label()])->all();
}
}
@@ -0,0 +1,26 @@
<?php
namespace App\Enums\Bumdes;
enum StatusFermentasiBumdes: string
{
case RUTIN = 'rutin';
case PERNAH_MENCOBA = 'pernah_mencoba';
case DIRENCANAKAN = 'direncanakan';
case TIDAK_DIRENCANAKAN = 'tidak_direncanakan';
public function label(): string
{
return match ($this) {
self::RUTIN => 'Ya, rutin',
self::PERNAH_MENCOBA => 'Pernah mencoba',
self::DIRENCANAKAN => 'Belum pernah, direncanakan',
self::TIDAK_DIRENCANAKAN => 'Belum pernah, tidak direncanakan',
};
}
public static function options(): array
{
return collect(self::cases())->mapWithKeys(fn (self $value) => [$value->value => $value->label()])->all();
}
}
@@ -0,0 +1,26 @@
<?php
namespace App\Enums\Bumdes;
enum StatusKeaktifanBumdes: string
{
case AKTIF_PENUH = 'aktif_penuh';
case AKTIF_TERBATAS = 'aktif_terbatas';
case TIDAK_AKTIF_VAKUM = 'tidak_aktif_vakum';
case BERDIRI_BELUM_BEROPERASI = 'berdiri_belum_beroperasi';
public function label(): string
{
return match ($this) {
self::AKTIF_PENUH => 'Aktif beroperasi penuh',
self::AKTIF_TERBATAS => 'Aktif tapi terbatas (sebagian unit usaha berjalan)',
self::TIDAK_AKTIF_VAKUM => 'Tidak aktif/vakum',
self::BERDIRI_BELUM_BEROPERASI => 'Sudah berdiri tapi belum pernah beroperasi',
};
}
public static function options(): array
{
return collect(self::cases())->mapWithKeys(fn (self $value) => [$value->value => $value->label()])->all();
}
}
@@ -0,0 +1,24 @@
<?php
namespace App\Enums\Bumdes;
enum StatusKepemilikanAsetBumdes: string
{
case MILIK_BUMDES_SENDIRI = 'milik_bumdes_sendiri';
case MILIK_DESA_DIPINJAMKAN_DIKELOLA = 'milik_desa_dipinjamkan_dikelola';
case SEWA_PINJAM_PIHAK_LAIN = 'sewa_pinjam_pihak_lain';
public function label(): string
{
return match ($this) {
self::MILIK_BUMDES_SENDIRI => 'Milik BUMDes sendiri',
self::MILIK_DESA_DIPINJAMKAN_DIKELOLA => 'Milik desa (dipinjamkan/dikelola)',
self::SEWA_PINJAM_PIHAK_LAIN => 'Sewa/pinjam pihak lain',
};
}
public static function options(): array
{
return collect(self::cases())->mapWithKeys(fn (self $value) => [$value->value => $value->label()])->all();
}
}
@@ -0,0 +1,24 @@
<?php
namespace App\Enums\Bumdes;
enum StatusPembukuanBumdes: string
{
case RUTIN_TERTIB = 'rutin_tertib';
case TIDAK_RUTIN = 'tidak_rutin';
case TIDAK_ADA = 'tidak_ada';
public function label(): string
{
return match ($this) {
self::RUTIN_TERTIB => 'Ya, rutin dan tertib',
self::TIDAK_RUTIN => 'Ada tapi tidak rutin/tidak rapi',
self::TIDAK_ADA => 'Tidak ada pembukuan',
};
}
public static function options(): array
{
return collect(self::cases())->mapWithKeys(fn (self $value) => [$value->value => $value->label()])->all();
}
}
@@ -0,0 +1,24 @@
<?php
namespace App\Enums\Bumdes;
enum StatusPengeringanBumdes: string
{
case RUTIN = 'rutin';
case KADANG = 'kadang';
case TIDAK_PERNAH = 'tidak_pernah';
public function label(): string
{
return match ($this) {
self::RUTIN => 'Ya, rutin',
self::KADANG => 'Kadang-kadang',
self::TIDAK_PERNAH => 'Tidak pernah, produk dijual dalam kondisi diterima',
};
}
public static function options(): array
{
return collect(self::cases())->mapWithKeys(fn (self $value) => [$value->value => $value->label()])->all();
}
}
+24
View File
@@ -0,0 +1,24 @@
<?php
namespace App\Enums\Bumdes;
enum StatusSortasiBumdes: string
{
case RUTIN_STANDAR = 'rutin_standar';
case TIDAK_KONSISTEN = 'tidak_konsisten';
case BELUM_PERNAH = 'belum_pernah';
public function label(): string
{
return match ($this) {
self::RUTIN_STANDAR => 'Ya, rutin dengan standar tertentu',
self::TIDAK_KONSISTEN => 'Ya, tapi tidak konsisten',
self::BELUM_PERNAH => 'Belum pernah dilakukan',
};
}
public static function options(): array
{
return collect(self::cases())->mapWithKeys(fn (self $value) => [$value->value => $value->label()])->all();
}
}
@@ -0,0 +1,24 @@
<?php
namespace App\Enums\Bumdes;
enum StatusUnitKomoditasBumdes: string
{
case YA = 'ya';
case DITANGANI_PENGURUS_INTI = 'ditangani_pengurus_inti';
case DIRENCANAKAN = 'direncanakan';
public function label(): string
{
return match ($this) {
self::YA => 'Ya, ada unit khusus',
self::DITANGANI_PENGURUS_INTI => 'Tidak ada unit khusus, ditangani langsung pengurus inti',
self::DIRENCANAKAN => 'Belum ada, masih direncanakan',
};
}
public static function options(): array
{
return collect(self::cases())->mapWithKeys(fn (self $value) => [$value->value => $value->label()])->all();
}
}
+28
View File
@@ -0,0 +1,28 @@
<?php
namespace App\Enums\Bumdes;
enum SumberPasokanBumdes: string
{
case ANGGOTA_KELOMPOK = 'anggota_kelompok';
case PETANI_NON_ANGGOTA = 'petani_non_anggota';
case PENGUMPUL_DESA = 'pengumpul_desa';
case CAMPURAN = 'campuran';
case LAINNYA = 'lainnya';
public function label(): string
{
return match ($this) {
self::ANGGOTA_KELOMPOK => 'Anggota kelompok tani langsung',
self::PETANI_NON_ANGGOTA => 'Petani non-anggota',
self::PENGUMPUL_DESA => 'Pengumpul/sub-agen desa',
self::CAMPURAN => 'Campuran',
self::LAINNYA => 'Lainnya',
};
}
public static function options(): array
{
return collect(self::cases())->mapWithKeys(fn (self $value) => [$value->value => $value->label()])->all();
}
}
+32
View File
@@ -0,0 +1,32 @@
<?php
namespace App\Enums\Bumdes;
enum UnitUsahaBumdes: string
{
case SIMPAN_PINJAM = 'simpan_pinjam';
case PERDAGANGAN_TOKO_DESA = 'perdagangan_toko_desa';
case PENGELOLAAN_AIR_BERSIH = 'pengelolaan_air_bersih';
case WISATA_DESA_AGROWISATA = 'wisata_desa_agrowisata';
case PENGELOLAAN_HASIL_PERTANIAN_KOMODITAS = 'pengelolaan_hasil_pertanian_komoditas';
case PENYEWAAN_ALAT_ASET = 'penyewaan_alat_aset';
case JASA_LAINNYA = 'jasa_lainnya';
public function label(): string
{
return match ($this) {
self::SIMPAN_PINJAM => 'Simpan pinjam',
self::PERDAGANGAN_TOKO_DESA => 'Perdagangan/toko desa',
self::PENGELOLAAN_AIR_BERSIH => 'Pengelolaan air bersih',
self::WISATA_DESA_AGROWISATA => 'Wisata desa/agrowisata',
self::PENGELOLAAN_HASIL_PERTANIAN_KOMODITAS => 'Pengelolaan hasil pertanian/komoditas',
self::PENYEWAAN_ALAT_ASET => 'Penyewaan alat/aset',
self::JASA_LAINNYA => 'Jasa lainnya',
};
}
public static function options(): array
{
return collect(self::cases())->mapWithKeys(fn (self $value) => [$value->value => $value->label()])->all();
}
}