Update Koperasi

This commit is contained in:
2026-11-06 22:38:45 +07:00
parent 6232b28e11
commit cb36682d9e
79 changed files with 4639 additions and 1378 deletions
@@ -0,0 +1,27 @@
<?php
namespace App\Enums\Koperasi;
enum AlasanPinjamanKoperasi: string
{
case PRODUKSI = 'Produksi';
case PENDIDIKAN = 'Pendidikan';
case KESEHATAN = 'Kesehatan';
case ACARA_KELUARGA = 'Acara keluarga';
case RENOVASI = 'Renovasi';
case SEKUNDER = 'Sekunder';
case LAINNYA = 'Lainnya';
public function label(): string
{
return match ($this) {
self::PRODUKSI => 'Keperluan produksi',
self::PENDIDIKAN => 'Pendidikan',
self::KESEHATAN => 'Kesehatan',
self::ACARA_KELUARGA => 'Acara keluarga/adat/hari besar',
self::RENOVASI => 'Renovasi rumah',
self::SEKUNDER => 'Kebutuhan sekunder',
self::LAINNYA => 'Lainnya',
};
}
}
@@ -0,0 +1,19 @@
<?php
namespace App\Enums\Koperasi;
enum BagianOperasionalKoperasi: string
{
case PENGELOLAAN = 'pengelolaan';
case RANTAI_NILAI = 'rantai-nilai';
public function fragment(): string
{
return 'section-operasional-'.$this->value;
}
public function afterSaveFragment(): string
{
return self::RANTAI_NILAI->fragment();
}
}
@@ -0,0 +1,19 @@
<?php
namespace App\Enums\Koperasi;
enum BagianRantaiNilaiKoperasi: string
{
case SALURAN = 'saluran';
case HARGA = 'harga';
public function fragment(): string
{
return 'section-rantai-'.$this->value;
}
public function afterSaveFragment(): string
{
return self::HARGA->fragment();
}
}
@@ -0,0 +1,19 @@
<?php
namespace App\Enums\Koperasi;
enum BentukPembayaranKoperasi: string
{
case HASIL_BUMI = 'Hasil bumi';
case GANTI_JASA = 'Ganti jasa';
case LAINNYA = 'Lainnya';
public function label(): string
{
return match ($this) {
self::HASIL_BUMI => 'Hasil bumi (hasil panen)',
self::GANTI_JASA => 'Ganti jasa/tenaga harian',
self::LAINNYA => 'Lainnya',
};
}
}
@@ -0,0 +1,31 @@
<?php
namespace App\Enums\Koperasi;
enum BentukProdukKoperasi: string
{
case SEGAR = 'Buah segar hasil petik';
case BASAH = 'Biji basah';
case KERING = 'Biji kering/kupas';
case FERMENTASI = 'Produk terfermentasi';
public function label(): string
{
return match ($this) {
self::SEGAR => 'Buah segar hasil petik',
self::BASAH => 'Biji basah',
self::KERING => 'Biji kering/biji kupas',
self::FERMENTASI => 'Produk terfermentasi',
};
}
public function pricePrefix(): string
{
return match ($this) {
self::SEGAR => 'segar',
self::BASAH => 'basah',
self::KERING => 'kering',
self::FERMENTASI => 'fermentasi',
};
}
}
@@ -0,0 +1,23 @@
<?php
namespace App\Enums\Koperasi;
enum EfektivitasSanksiKoperasi: string
{
case SANGAT_EFEKTIF = 'Sangat efektif';
case EFEKTIF = 'Efektif';
case BIASA = 'Biasa Saja';
case KURANG = 'Kurang Efektif';
case TIDAK = 'Tidak Efektif';
public function label(): string
{
return match ($this) {
self::SANGAT_EFEKTIF => 'Sangat efektif',
self::EFEKTIF => 'Efektif',
self::BIASA => 'Biasa saja',
self::KURANG => 'Kurang efektif',
self::TIDAK => 'Tidak efektif',
};
}
}
@@ -0,0 +1,23 @@
<?php
namespace App\Enums\Koperasi;
enum FaktorManajemenKoperasi: string
{
case KEPERCAYAAN = 'Rasa saling percaya';
case KEPEMIMPINAN = 'Kepemimpinan koperasi';
case ANGGOTA = 'Jumlah anggota';
case PEMBUKUAN = 'Catatan/pembukuan rapi';
case LAINNYA = 'Lainnya';
public function label(): string
{
return match ($this) {
self::KEPERCAYAAN => 'Rasa saling percaya',
self::KEPEMIMPINAN => 'Kepemimpinan koperasi',
self::ANGGOTA => 'Jumlah anggota',
self::PEMBUKUAN => 'Catatan/pembukuan rapi',
self::LAINNYA => 'Lainnya',
};
}
}
+25
View File
@@ -0,0 +1,25 @@
<?php
namespace App\Enums\Koperasi;
enum FasilitasKoperasi: string
{
case GUDANG = 'Gudang penyimpanan';
case PENGERING = 'Alat pengering';
case PEMECAH = 'Mesin pemecah';
case PENGGILING = 'Mesin penggiling';
case SORTASI = 'Mesin sortasi';
case LAINNYA = 'Lainnya';
public function label(): string
{
return match ($this) {
self::GUDANG => 'Gudang penyimpanan',
self::PENGERING => 'Alat pengering',
self::PEMECAH => 'Mesin pemecah',
self::PENGGILING => 'Mesin penggiling',
self::SORTASI => 'Mesin sortasi',
self::LAINNYA => 'Lainnya',
};
}
}
@@ -0,0 +1,9 @@
<?php
namespace App\Enums\Koperasi;
enum FokusKomoditasKoperasi: string
{
case YA = 'Ya';
case TIDAK = 'Tidak';
}
@@ -0,0 +1,21 @@
<?php
namespace App\Enums\Koperasi;
enum FormatPembukuanKoperasi: string
{
case MANUAL = 'Manual/buku kas';
case DIGITAL = 'Digital/file Excel';
case APLIKASI = 'Aplikasi khusus';
case TIDAK_ADA = 'Tidak ada';
public function label(): string
{
return match ($this) {
self::MANUAL => 'Manual/buku kas',
self::DIGITAL => 'Digital/file Excel',
self::APLIKASI => 'Aplikasi keuangan khusus',
self::TIDAK_ADA => 'Tidak ada',
};
}
}
@@ -0,0 +1,19 @@
<?php
namespace App\Enums\Koperasi;
enum FrekuensiPertemuanKoperasi: string
{
case BULANAN = 'Satu bulan sekali';
case TAHUNAN = 'Satu tahun sekali';
case LAINNYA = 'Lainnya';
public function label(): string
{
return match ($this) {
self::BULANAN => 'Satu bulan sekali',
self::TAHUNAN => 'Satu tahun sekali',
self::LAINNYA => 'Lainnya',
};
}
}
@@ -0,0 +1,40 @@
<?php
namespace App\Enums\Koperasi;
enum HubunganPemasokKoperasi: string
{
case BEBAS = 'Bebas';
case LANGGANAN = 'Langganan tetap';
case HUTANG = 'Berbasis hutang';
case KONSINYASI = 'Titip jual';
case VOLUME = 'Komitmen volume';
case SEMI_KONTRAK = 'Semi-kontrak';
case LAINNYA = 'Lainnya';
public function label(): string
{
return match ($this) {
self::BEBAS => 'Bebas/tidak terikat',
self::LANGGANAN => 'Langganan tetap',
self::HUTANG => 'Berbasis hutang/pinjaman',
self::KONSINYASI => 'Titip jual (konsinyasi)',
self::VOLUME => 'Komitmen volume',
self::SEMI_KONTRAK => 'Semi-kontrak',
self::LAINNYA => 'Lainnya',
};
}
public function description(): string
{
return match ($this) {
self::BEBAS => 'Petani bebas menjual kepada koperasi atau pihak lain tanpa ikatan.',
self::LANGGANAN => 'Petani rutin menjual kepada koperasi tanpa perjanjian formal.',
self::HUTANG => 'Petani menjual kepada koperasi karena memiliki pinjaman.',
self::KONSINYASI => 'Petani dibayar setelah hasil panen terjual.',
self::VOLUME => 'Ada kesepakatan volume yang dipenuhi secara berkala.',
self::SEMI_KONTRAK => 'Ada kesepakatan harga, volume, dan waktu penyerahan.',
self::LAINNYA => '',
};
}
}
@@ -0,0 +1,17 @@
<?php
namespace App\Enums\Koperasi;
enum JawabanYaTidakKoperasi: string
{
case YA = 'Ya';
case TIDAK = 'Tidak';
public function label(): string
{
return match ($this) {
self::YA => 'Ya',
self::TIDAK => 'Tidak',
};
}
}
+12
View File
@@ -0,0 +1,12 @@
<?php
namespace App\Enums\Koperasi;
enum JenisKoperasi: string
{
case PRODUKSI = 'Koperasi Produksi';
case SIMPAN_PINJAM = 'Koperasi Simpan Pinjam';
case PEMASARAN = 'Koperasi Pemasaran';
case DESA = 'Koperasi Desa';
case LAINNYA = 'Lainnya';
}
@@ -0,0 +1,17 @@
<?php
namespace App\Enums\Koperasi;
enum KetersediaanKoperasi: string
{
case ADA = 'Ada';
case TIDAK_ADA = 'Tidak ada';
public function label(): string
{
return match ($this) {
self::ADA => 'Ada',
self::TIDAK_ADA => 'Tidak ada',
};
}
}
@@ -0,0 +1,25 @@
<?php
namespace App\Enums\Koperasi;
enum KomoditasAgregasiKoperasi: string
{
case KOPI = 'Kopi';
case KAKAO = 'Kakao';
case VANILI = 'Vanili';
case KEMIRI = 'Kemiri';
case LAINNYA = 'Lainnya';
case TIDAK_TERLIBAT = 'Tidak terlibat';
public function label(): string
{
return match ($this) {
self::KOPI => 'Kopi',
self::KAKAO => 'Kakao',
self::VANILI => 'Vanili',
self::KEMIRI => 'Kemiri',
self::LAINNYA => 'Lainnya',
self::TIDAK_TERLIBAT => 'Tidak melakukan agregasi',
};
}
}
+21
View File
@@ -0,0 +1,21 @@
<?php
namespace App\Enums\Koperasi;
enum LayananKoperasi: string
{
case SIMPAN_PINJAM = 'Simpan pinjam';
case INPUT_PRODUKSI = 'Pengadaan input produksi';
case PEMASARAN = 'Pemasaran hasil';
case LAINNYA = 'Lainnya';
public function label(): string
{
return match ($this) {
self::SIMPAN_PINJAM => 'Simpan pinjam',
self::INPUT_PRODUKSI => 'Pengadaan input produksi',
self::PEMASARAN => 'Pemasaran hasil',
self::LAINNYA => 'Lainnya',
};
}
}
@@ -0,0 +1,19 @@
<?php
namespace App\Enums\Koperasi;
enum MekanismePembayaranKoperasi: string
{
case TUNAI = 'Tunai';
case TEMPO = 'Tempo';
case CAMPURAN = 'Campuran';
public function label(): string
{
return match ($this) {
self::TUNAI => 'Tunai langsung',
self::TEMPO => 'Tempo/dibayar kemudian',
self::CAMPURAN => 'Campuran, tergantung situasi',
};
}
}
@@ -0,0 +1,21 @@
<?php
namespace App\Enums\Koperasi;
enum ModelFermentasiKoperasi: string
{
case INDIVIDUAL = 'Individual';
case KOLEKTIF = 'Kolektif';
case UNIT_DESA = 'Unit desa';
case CAMPURAN = 'Campuran';
public function label(): string
{
return match ($this) {
self::INDIVIDUAL => 'Individual',
self::KOLEKTIF => 'Kolektif kelompok',
self::UNIT_DESA => 'Unit pengolah desa',
self::CAMPURAN => 'Campuran',
};
}
}
@@ -0,0 +1,21 @@
<?php
namespace App\Enums\Koperasi;
enum PenetapanHargaKoperasi: string
{
case PASAR = 'Ikut pasar';
case BIAYA = 'Kalkulasi biaya';
case OFFTAKER = 'Harga offtaker';
case LAINNYA = 'Lainnya';
public function label(): string
{
return match ($this) {
self::PASAR => 'Mengikuti harga pasar/tengkulak setempat',
self::BIAYA => 'Kalkulasi biaya koperasi',
self::OFFTAKER => 'Mengikuti harga offtaker/mitra',
self::LAINNYA => 'Lainnya',
};
}
}
@@ -0,0 +1,27 @@
<?php
namespace App\Enums\Koperasi;
enum PeranRantaiNilaiKoperasi: string
{
case INPUT = 'Penyediaan input';
case AGREGASI = 'Agregasi';
case PEMASARAN_MENTAH = 'Pemasaran mentah';
case PENGOLAHAN = 'Pengolahan barang jadi';
case PEMASARAN_OLAHAN = 'Pemasaran olahan';
case PENJUALAN_LANGSUNG = 'Jual langsung konsumen';
case TIDAK_TERLIBAT = 'Tidak terlibat kegiatan di atas';
public function label(): string
{
return match ($this) {
self::INPUT => 'Penyediaan input pertanian (pupuk, bibit, dan lainnya)',
self::AGREGASI => 'Agregasi produk pertanian dan perkebunan',
self::PEMASARAN_MENTAH => 'Pemasaran produk mentah',
self::PENGOLAHAN => 'Pengolahan produk pangan setengah jadi/jadi',
self::PEMASARAN_OLAHAN => 'Pemasaran produk olahan',
self::PENJUALAN_LANGSUNG => 'Penjualan langsung ke konsumen',
self::TIDAK_TERLIBAT => 'Tidak terlibat',
};
}
}
@@ -0,0 +1,19 @@
<?php
namespace App\Enums\Koperasi;
enum PerjanjianPetaniKoperasi: 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',
self::TIDAK_ADA => 'Tidak ada perjanjian',
};
}
}
+2 -2
View File
@@ -2,9 +2,9 @@
namespace App\Enums\Koperasi;
enum PosisiKoperasi: string
enum PosisiKoperasi: string
{
case PENGURUS = 'Pengurus koperasi';
case ANGGOTA = 'Anggota koperasi';
case PENDAMPING = 'Pendamping koperasi';
}
}
@@ -0,0 +1,21 @@
<?php
namespace App\Enums\Koperasi;
enum PraktikFermentasiKoperasi: string
{
case RUTIN = 'Ya rutin';
case PERNAH = 'Pernah coba';
case DIRENCANAKAN = 'Belum, direncakan';
case TIDAK_DIRENCANAKAN = 'Belum, tidak';
public function label(): string
{
return match ($this) {
self::RUTIN => 'Ya, rutin',
self::PERNAH => 'Pernah mencoba',
self::DIRENCANAKAN => 'Belum pernah, direncanakan',
self::TIDAK_DIRENCANAKAN => 'Belum pernah, tidak direncanakan',
};
}
}
@@ -0,0 +1,19 @@
<?php
namespace App\Enums\Koperasi;
enum PraktikPengeringanKoperasi: string
{
case RUTIN = 'Ya rutin';
case KADANG = 'Kadang';
case TIDAK = 'Tidak';
public function label(): string
{
return match ($this) {
self::RUTIN => 'Ya, rutin',
self::KADANG => 'Kadang-kadang',
self::TIDAK => 'Tidak pernah',
};
}
}
@@ -0,0 +1,19 @@
<?php
namespace App\Enums\Koperasi;
enum PraktikSortasiKoperasi: string
{
case RUTIN = 'Ya rutin';
case TIDAK_KONSISTEN = 'Ya tidak konsisten';
case BELUM = 'Belum pernah';
public function label(): string
{
return match ($this) {
self::RUTIN => 'Ya, rutin berstandar',
self::TIDAK_KONSISTEN => 'Ya, tidak konsisten',
self::BELUM => 'Belum pernah',
};
}
}
@@ -0,0 +1,15 @@
<?php
namespace App\Enums\Koperasi;
enum SkalaOperasiKoperasi: string
{
case LEVEL_DUSUN = 'Level Dusun';
case LINTAS_DUSUN = 'Lintas Dusun';
case LEVEL_DESA = 'Level Desa';
case LINTAS_DESA = 'Lintas Desa';
case LEVEL_KECAMATAN = 'Level Kecamatan';
case LINTAS_KECAMATAN = 'Lintas Kecamatan';
case LEVEL_KABUPATEN = 'Level Kabupaten';
case LINTAS_KABUPATEN = 'Lintas Kabupaten';
}
@@ -0,0 +1,21 @@
<?php
namespace App\Enums\Koperasi;
enum StatusAdArtKoperasi: string
{
case LENGKAP = 'Ada, lengkap';
case TIDAK_LENGKAP = 'Ada tapi tidak lengkap';
case TIDAK_ADA = 'Tidak ada';
case TIDAK_TAHU = 'Tidak tahu';
public function label(): string
{
return match ($this) {
self::LENGKAP => 'Ada dan lengkap',
self::TIDAK_LENGKAP => 'Ada, belum lengkap',
self::TIDAK_ADA => 'Tidak ada',
self::TIDAK_TAHU => 'Tidak tahu',
};
}
}
@@ -0,0 +1,17 @@
<?php
namespace App\Enums\Koperasi;
enum StatusPembukuanKoperasi: string
{
case SUDAH = 'Sudah';
case BELUM = 'Belum ada';
public function label(): string
{
return match ($this) {
self::SUDAH => 'Sudah',
self::BELUM => 'Belum ada',
};
}
}
@@ -0,0 +1,23 @@
<?php
namespace App\Enums\Koperasi;
enum SumberPasokanKoperasi: string
{
case ANGGOTA = 'Anggota';
case NON_ANGGOTA = 'Petani non-anggota';
case PENGUMPUL = 'Pengumpul/sub-agen';
case CAMPURAN = 'Campuran';
case LAINNYA = 'Lainnya';
public function label(): string
{
return match ($this) {
self::ANGGOTA => 'Anggota kelompok tani langsung',
self::NON_ANGGOTA => 'Petani non-anggota',
self::PENGUMPUL => 'Pengumpul/sub-agen desa',
self::CAMPURAN => 'Campuran',
self::LAINNYA => 'Lainnya',
};
}
}
+42
View File
@@ -0,0 +1,42 @@
<?php
namespace App\Enums\Koperasi;
enum TabKoperasi: int
{
case KELEMBAGAAN = 1;
case RANTAI_NILAI = 2;
case SOSIAL_EKONOMI = 3;
public function slug(): string
{
return match ($this) {
self::KELEMBAGAAN => 'kelembagaan-aktor',
self::RANTAI_NILAI => 'rantai-nilai-akses-pasar',
self::SOSIAL_EKONOMI => 'sosial-ekonomi',
};
}
public function label(): string
{
return match ($this) {
self::KELEMBAGAAN => 'Operasional',
self::RANTAI_NILAI => 'Rantai Nilai & Akses Pasar',
self::SOSIAL_EKONOMI => 'Sosial Ekonomi',
};
}
public function icon(): string
{
return match ($this) {
self::KELEMBAGAAN => 'clipboard-list',
self::RANTAI_NILAI => 'arrows-exchange',
self::SOSIAL_EKONOMI => 'heart-handshake',
};
}
public function routePrefix(): string
{
return 'koperasi.pengurus.'.$this->slug();
}
}
@@ -0,0 +1,23 @@
<?php
namespace App\Enums\Koperasi;
enum TingkatKreditMacetKoperasi: string
{
case DI_BAWAH_SEPULUH = '<10%';
case SEPULUH_DUA_PULUH_LIMA = '10-25%';
case DUA_PULUH_LIMA_LIMA_PULUH = '25-50%';
case LIMA_PULUH_TUJUH_PULUH_LIMA = '50-75%';
case DI_ATAS_TUJUH_PULUH_LIMA = '>75%';
public function label(): string
{
return match ($this) {
self::DI_BAWAH_SEPULUH => 'Di bawah 10%',
self::SEPULUH_DUA_PULUH_LIMA => '10–25%',
self::DUA_PULUH_LIMA_LIMA_PULUH => '25–50%',
self::LIMA_PULUH_TUJUH_PULUH_LIMA => '50–75%',
self::DI_ATAS_TUJUH_PULUH_LIMA => 'Di atas 75%',
};
}
}
@@ -0,0 +1,25 @@
<?php
namespace App\Enums\Koperasi;
enum TujuanPenjualanKoperasi: string
{
case OFFTAKER = 'Offtaker/Eksportir';
case PEDAGANG = 'Pedagang besar';
case KOPERASI = 'Koperasi/BUMDes lain';
case ECERAN = 'Eceran';
case BELUM_MENJUAL = 'Belum pernah';
case LAINNYA = 'Lainnya';
public function label(): string
{
return match ($this) {
self::OFFTAKER => 'Offtaker/eksportir langsung',
self::PEDAGANG => 'Pedagang besar/pengepul kabupaten',
self::KOPERASI => 'Koperasi atau BUMDes lain',
self::ECERAN => 'Eceran/pasar lokal',
self::BELUM_MENJUAL => 'Belum pernah menjual (disimpan/diproses)',
self::LAINNYA => 'Lainnya',
};
}
}
+23
View File
@@ -0,0 +1,23 @@
<?php
namespace App\Enums\Koperasi;
enum UrutanKoperasi: string
{
case TERBARU = 'terbaru';
case NAMA_ASC = 'nama_asc';
case NAMA_DESC = 'nama_desc';
case ANGGOTA_DESC = 'anggota_desc';
case ANGGOTA_ASC = 'anggota_asc';
public function label(): string
{
return match ($this) {
self::TERBARU => 'Urut Terbaru',
self::NAMA_ASC => 'Nama A-Z',
self::NAMA_DESC => 'Nama Z-A',
self::ANGGOTA_DESC => 'Anggota Terbanyak',
self::ANGGOTA_ASC => 'Anggota Tersedikit',
};
}
}