'date', 'tanggal_penilaian_ljk' => 'date', 'tanggal_penilaian_penilai_independen' => 'date', 'nilai_agunan' => 'decimal:2', 'nilai_agunan_menurut_ljk' => 'decimal:2', 'nilai_agunan_penilai_independen' => 'decimal:2', 'prosentase_paripasu' => 'decimal:2', 'jumlah_hari_tunggakan' => 'integer', ]; /** * Accessor untuk format nilai agunan dengan currency Indonesia */ public function getNilaiAgunanFormattedAttribute(): string { return $this->nilai_agunan ? 'Rp ' . number_format($this->nilai_agunan, 0, ',', '.') : 'Rp 0'; } /** * Accessor untuk format nilai agunan menurut LJK dengan currency Indonesia */ public function getNilaiAgunanMenurutLjkFormattedAttribute(): string { return $this->nilai_agunan_menurut_ljk ? 'Rp ' . number_format($this->nilai_agunan_menurut_ljk, 0, ',', '.') : 'Rp 0'; } /** * Accessor untuk format nilai agunan penilai independen dengan currency Indonesia */ public function getNilaiAgunanPenilaiIndependenFormattedAttribute(): string { return $this->nilai_agunan_penilai_independen ? 'Rp ' . number_format($this->nilai_agunan_penilai_independen, 0, ',', '.') : 'Rp 0'; } /** * Accessor untuk status badge berdasarkan status agunan */ public function getStatusBadgeAttribute(): string { $statusClass = match($this->status_agunan) { 'Aktif' => 'badge-success', 'Tidak Aktif' => 'badge-danger', 'Pending' => 'badge-warning', default => 'badge-secondary' }; return '' . ($this->status_agunan ?? 'Unknown') . ''; } /** * Scope untuk filter berdasarkan tahun */ public function scopeByYear($query, $year) { return $query->where('tahun', $year); } /** * Scope untuk filter berdasarkan bulan */ public function scopeByMonth($query, $month) { return $query->where('bulan', $month); } /** * Scope untuk filter berdasarkan sandi bank */ public function scopeBySandiBank($query, $sandiBank) { return $query->where('sandi_bank', $sandiBank); } /** * Scope untuk filter berdasarkan kode cabang */ public function scopeByKodeCabang($query, $kodeCabang) { return $query->where('kode_cabang', $kodeCabang); } // Method creator() dan editor() sudah disediakan oleh trait Userstamps }