Update Koperasi
This commit is contained in:
@@ -2,27 +2,60 @@
|
||||
|
||||
namespace App\Models\Koperasi;
|
||||
|
||||
use App\Enums\Koperasi\AlasanPinjamanKoperasi;
|
||||
use App\Enums\Koperasi\BentukPembayaranKoperasi;
|
||||
use App\Enums\Koperasi\BentukProdukKoperasi;
|
||||
use App\Enums\Koperasi\EfektivitasSanksiKoperasi;
|
||||
use App\Enums\Koperasi\FaktorManajemenKoperasi;
|
||||
use App\Enums\Koperasi\FasilitasKoperasi;
|
||||
use App\Enums\Koperasi\FokusKomoditasKoperasi;
|
||||
use App\Enums\Koperasi\FormatPembukuanKoperasi;
|
||||
use App\Enums\Koperasi\FrekuensiPertemuanKoperasi;
|
||||
use App\Enums\Koperasi\HubunganPemasokKoperasi;
|
||||
use App\Enums\Koperasi\JawabanYaTidakKoperasi;
|
||||
use App\Enums\Koperasi\KetersediaanKoperasi;
|
||||
use App\Enums\Koperasi\KomoditasAgregasiKoperasi;
|
||||
use App\Enums\Koperasi\LayananKoperasi;
|
||||
use App\Enums\Koperasi\MekanismePembayaranKoperasi;
|
||||
use App\Enums\Koperasi\ModelFermentasiKoperasi;
|
||||
use App\Enums\Koperasi\PenetapanHargaKoperasi;
|
||||
use App\Enums\Koperasi\PeranRantaiNilaiKoperasi;
|
||||
use App\Enums\Koperasi\PerjanjianPetaniKoperasi;
|
||||
use App\Enums\Koperasi\PosisiKoperasi;
|
||||
use App\Enums\Koperasi\PraktikFermentasiKoperasi;
|
||||
use App\Enums\Koperasi\PraktikPengeringanKoperasi;
|
||||
use App\Enums\Koperasi\PraktikSortasiKoperasi;
|
||||
use App\Enums\Koperasi\SkalaOperasiKoperasi;
|
||||
use App\Enums\Koperasi\StatusAdArtKoperasi;
|
||||
use App\Enums\Koperasi\StatusPembukuanKoperasi;
|
||||
use App\Enums\Koperasi\SumberPasokanKoperasi;
|
||||
use App\Enums\Koperasi\TingkatKreditMacetKoperasi;
|
||||
use App\Enums\Koperasi\TujuanPenjualanKoperasi;
|
||||
use App\Models\Concerns\CatatAktivitas;
|
||||
use App\Models\User;
|
||||
use App\Models\Wilayah\DesaKelurahan;
|
||||
use Illuminate\Database\Eloquent\Casts\AsEnumCollection;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
||||
|
||||
class PengurusKoperasi extends Model
|
||||
{
|
||||
use CatatAktivitas;
|
||||
|
||||
protected $table = 'pengurus_koperasi';
|
||||
|
||||
|
||||
protected $fillable = [
|
||||
// Profil Dassar
|
||||
'nama_lengkap', 'posisi_dalam_koperasi', 'tahun_bergabung',
|
||||
'no_hp', 'alamat_tinggal',
|
||||
|
||||
// Profil responden
|
||||
'nama_lengkap', 'posisi_dalam_koperasi', 'tahun_bergabung',
|
||||
'no_hp', 'alamat_tinggal',
|
||||
|
||||
// Profil Koperasi
|
||||
'nama_koperasi', 'jenis_koperasi', 'alamat_koperasi',
|
||||
'nama_koperasi', 'jenis_koperasi', 'alamat_koperasi', 'desa_kelurahan_id', 'created_by',
|
||||
'skala_operasi', 'tahun_berdiri',
|
||||
|
||||
|
||||
// Anggota & Pengurus
|
||||
'jumlah_anggota_awal', 'jumlah_anggota_dewasa', 'jumlah_anggota_anak', 'jumlah_pengurus',
|
||||
|
||||
|
||||
// SHU
|
||||
'shu_2025', 'shu_2024', 'shu_2023',
|
||||
|
||||
@@ -44,14 +77,14 @@ class PengurusKoperasi extends Model
|
||||
'tujuan_penjualan', 'tujuan_penjualan_lainnya', 'bentuk_penjualan',
|
||||
'volume_jual_sekarang', 'volume_jual_1_tahun', 'volume_jual_2_tahun',
|
||||
'sifat_hubungan_bisnis', 'sifat_hubungan_lainnya', 'mekanisme_pembayaran', 'status_perjanjian_tertulis',
|
||||
|
||||
|
||||
// Harga Komoditas
|
||||
'harga_segar_sekarang', 'harga_segar_1_tahun', 'harga_segar_2_tahun',
|
||||
'harga_basah_sekarang', 'harga_basah_1_tahun', 'harga_basah_2_tahun',
|
||||
'harga_kering_sekarang', 'harga_kering_1_tahun', 'harga_kering_2_tahun',
|
||||
'harga_fermentasi_sekarang', 'harga_fermentasi_1_tahun', 'harga_fermentasi_2_tahun',
|
||||
'cara_menetapkan_harga_pasar', 'cara_menetapkan_harga_lainnya',
|
||||
|
||||
'cara_menetapkan_harga_pasar', 'cara_menetapkan_harga_lainnya',
|
||||
|
||||
// Praktik Kualitas & Pascapanen
|
||||
'praktik_sortasi', 'standar_sortasi', 'praktik_pengeringan', 'cara_pengeringan',
|
||||
'praktik_fermentasi', 'model_fermentasi', 'proses_fermentasi',
|
||||
@@ -63,6 +96,67 @@ class PengurusKoperasi extends Model
|
||||
'bentuk_pembayaran_barang', 'bentuk_pembayaran_lainnya', 'perhitungan_harga_pasar', 'alasan_bukan_harga_pasar',
|
||||
|
||||
// PENILAIAN ENUMERATOR
|
||||
'enum_potensi', 'enum_alasan_potensi', 'enum_kebutuhan', 'enum_kebutuhan_lain', 'enum_keterbukaan'
|
||||
'enum_potensi', 'enum_alasan_potensi', 'enum_kebutuhan', 'enum_kebutuhan_lain', 'enum_keterbukaan',
|
||||
];
|
||||
}
|
||||
|
||||
protected function casts(): array
|
||||
{
|
||||
return [
|
||||
'alasan_pinjaman' => 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');
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user