hasFile('attachment')) { $file = request()->file('attachment'); $fileName = time() . '_' . $file->getClientOriginalName(); $filePath = $file->storeAs('permohonan_attachments', $fileName, 'public'); $permohonan->dokumen = $filePath; } } protected static function createHistory($permohonan, $action) { $historyService = app(PermohonanHistoryService::class); $keterangan = request()->input('keterangan', ''); if (request()->filled('registrasi_catatan')) { if (!empty($keterangan)) { $keterangan .= "\n"; } $keterangan .= request()->input('registrasi_catatan'); } $status = $permohonan->status; $beforeRequest = $action === 'updated' ? $permohonan->getOriginal() : []; $afterRequest = $permohonan->toArray(); $file = $permohonan->dokumen ?? null; $historyService->createHistory( $permohonan, $status, $keterangan, $beforeRequest, $afterRequest, $file, ); } public function user() { return $this->belongsTo(User::class); } public function branch() { return $this->belongsTo(Branch::class); } public function tujuanPenilaian() { return $this->belongsTo(TujuanPenilaian::class); } public function debiture() { return $this->belongsTo(Debiture::class); } public function documents() { return $this->hasMany(DokumenJaminan::class); } public function nilaiPlafond() { return $this->belongsTo(NilaiPlafond::class); } public function jenisFasilitasKredit() { return $this->belongsTo(JenisFasilitasKredit::class); } public function jenisPenilaian(){ return $this->belongsTo(JenisPenilaian::class); } public function penilaian() { return $this->belongsTo(Penilaian::class, 'nomor_registrasi', 'nomor_registrasi'); } public function penilai(){ return $this->belongsTo(Penilai::class, 'id', 'permohonan_id'); } public function penawaranTender() { return $this->belongsTo(PenawaranTender::class, 'nomor_registrasi', 'nomor_registrasi'); } public function region() { return $this->belongsTo(Regions::class, 'region_id'); } public function penawaran() { return $this->belongsTo(PenawaranTender::class, 'nomor_registrasi', 'nomor_registrasi'); } public function histories() { return $this->hasMany(PermohonanHistory::class, 'permohonan_id', 'id')->orderBy('created_at', 'desc'); } public function dokumenjaminan() { return $this->hasMany(DokumenJaminan::class); } public function pembatalan(){ return $this->hasMany(PermohonanPembatalan::class); } public function approveBayar(){ return $this->belongsTo(User::class, 'approve_bayar_by', 'id'); } public function approveEo(){ return $this->belongsTo(User::class, 'approval_eo', 'id'); } public function approveDd(){ return $this->belongsTo(User::class, 'approval_dd', 'id'); } public function approveSo(){ return $this->belongsTo(User::class, 'approval_so', 'id'); } public function authorization(){ return $this->belongsTo(Authorization::class, 'id', 'permohonan_id'); } }