AsEnumCollection::of(AlasanPinjamanKoperasi::class), 'bentuk_pembayaran_barang' => AsEnumCollection::of(BentukPembayaranKoperasi::class), 'pembayaran_selain_uang' => KetersediaanKoperasi::class, 'perhitungan_harga_pasar' => JawabanYaTidakKoperasi::class, 'posisi_dalam_koperasi' => PosisiKoperasi::class, 'skala_operasi' => SkalaOperasiKoperasi::class, 'fokus_komoditas' => FokusKomoditasKoperasi::class, 'mekanisme_pembayaran' => MekanismePembayaranKoperasi::class, 'status_perjanjian_tertulis' => PerjanjianPetaniKoperasi::class, 'praktik_sortasi' => PraktikSortasiKoperasi::class, 'praktik_pengeringan' => PraktikPengeringanKoperasi::class, 'praktik_fermentasi' => PraktikFermentasiKoperasi::class, 'sumber_pasokan' => AsEnumCollection::of(SumberPasokanKoperasi::class), 'bentuk_pembelian' => AsEnumCollection::of(BentukProdukKoperasi::class), 'tujuan_penjualan' => AsEnumCollection::of(TujuanPenjualanKoperasi::class), 'bentuk_penjualan' => AsEnumCollection::of(BentukProdukKoperasi::class), 'sifat_hubungan_bisnis' => AsEnumCollection::of(HubunganPemasokKoperasi::class), 'cara_menetapkan_harga_pasar' => AsEnumCollection::of(PenetapanHargaKoperasi::class), 'model_fermentasi' => AsEnumCollection::of(ModelFermentasiKoperasi::class), 'ad_art' => StatusAdArtKoperasi::class, 'pelatihan_produksi' => JawabanYaTidakKoperasi::class, 'pelatihan_pascapanen' => JawabanYaTidakKoperasi::class, 'pelatihan_pengolahan' => JawabanYaTidakKoperasi::class, 'pelatihan_keuangan' => JawabanYaTidakKoperasi::class, 'pelatihan_pemasaran' => JawabanYaTidakKoperasi::class, 'status_pembukuan' => StatusPembukuanKoperasi::class, 'format_pembukuan' => FormatPembukuanKoperasi::class, 'pertemuan_rutin' => FrekuensiPertemuanKoperasi::class, 'kasus_kredit_macet' => TingkatKreditMacetKoperasi::class, 'sanksi_kredit_macet' => KetersediaanKoperasi::class, 'efektivitas_sanksi' => EfektivitasSanksiKoperasi::class, 'pengolahan_lanjutan' => JawabanYaTidakKoperasi::class, 'kontrak_offtaker' => KetersediaanKoperasi::class, 'layanan_koperasi' => AsEnumCollection::of(LayananKoperasi::class), 'faktor_manajemen' => AsEnumCollection::of(FaktorManajemenKoperasi::class), 'keterlibatan_rantai_nilai' => AsEnumCollection::of(PeranRantaiNilaiKoperasi::class), 'agregasi_komoditas' => AsEnumCollection::of(KomoditasAgregasiKoperasi::class), 'fasilitas_koperasi' => AsEnumCollection::of(FasilitasKoperasi::class), ]; } public function profilLengkap(): bool { return $this->exists && collect([ 'nama_lengkap', 'posisi_dalam_koperasi', 'nama_koperasi', 'jenis_koperasi', 'skala_operasi', ])->every(fn ($field) => filled($this->getAttributes()[$field] ?? null)); } public function creator(): BelongsTo { return $this->belongsTo(User::class, 'created_by'); } public function desaKelurahan(): BelongsTo { return $this->belongsTo(DesaKelurahan::class, 'desa_kelurahan_id'); } }