diff --git a/app/Http/Controllers/PenilaianController.php b/app/Http/Controllers/PenilaianController.php index 5aeb88b..ab5897b 100644 --- a/app/Http/Controllers/PenilaianController.php +++ b/app/Http/Controllers/PenilaianController.php @@ -10,6 +10,7 @@ use Illuminate\Support\Facades\DB; use Modules\Lpj\Http\Requests\PenilaianRequest; use Modules\Lpj\Models\Authorization; use Modules\Lpj\Models\JenisPenilaian; +use Modules\Lpj\Models\LaporanAdminKredit; use Modules\Lpj\Models\Penilaian; use Modules\Lpj\Models\PenilaianTeam; use Modules\Lpj\Models\Permohonan; @@ -473,6 +474,7 @@ class PenilaianController extends Controller } else { $permohonan = Permohonan::find($id); } + if (!$permohonan) { return response()->json([ 'message' => 'Data permohonan tidak ditemukan.', @@ -512,6 +514,35 @@ class PenilaianController extends Controller $status = 'done'; } + if($status=='done'){ + $_permohonan = Permohonan::with(['documents.jenisJaminan','penilaian._user_penilai','penilai','documents.detail.jenisLegalitasJaminan'])->find(6); + + if(isset($_permohonan->penilai->lpj)){ + $npw = json_decode($_permohonan->penilai->lpj, true); + $npw = $npw['total_nilai_pasar_wajar'] ?? 0; + } + + $dataAdk = [ + 'debiture_id' => $_permohonan->debiture_id, + 'jenis_agunan' => $_permohonan->documents->pluck('jenisJaminan.name')->unique()->implode(', '), + 'alamat_agunan' => $_permohonan->documents->map(function ($document) { + return formatAlamat($document); + })->unique()->implode(', '), + 'nama_pemilik' => $_permohonan->documents->pluck('pemilik.name')->unique()->implode(', '), + 'tanggal_kunjungan' => $_permohonan->penilaian->tanggal_kunjungan, + 'nama_penilai' => $_permohonan->penilaian->_user_penilai->userPenilaiTeam->name, + 'nilai_likuidasi' => $_permohonan->nilai_liquidasi, + 'nilai_pasar_wajar' => str_replace('.', '', $npw), + 'bukti_kepemilikan' => $_permohonan->documents->flatMap(function ($document) { + return $document->detail->map(function ($detail) { + return $detail->jenisLegalitasJaminan->name ?? null; + }); + })->filter()->unique()->implode(', '), + + ]; + LaporanAdminKredit::create($dataAdk); + } + if ($approvalField) { $this->updatePermohonan($permohonan, $status, $approvalField, $request->keterangan); } diff --git a/app/Models/Penilaian.php b/app/Models/Penilaian.php index 7383245..88679b7 100644 --- a/app/Models/Penilaian.php +++ b/app/Models/Penilaian.php @@ -37,6 +37,12 @@ class Penilaian extends Model return $this->hasMany(PenilaianTeam::class, 'penilaian_id', 'id'); } + public function _user_penilai() + { + return $this->hasOne(PenilaianTeam::class, 'penilaian_id', 'id') + ->where('role', 'penilai') + ->with('userPenilaiTeam'); + } public function permohonan() {