diff --git a/app/Http/Controllers/PenilaiController.php b/app/Http/Controllers/PenilaiController.php index ddc280b..5587ab2 100644 --- a/app/Http/Controllers/PenilaiController.php +++ b/app/Http/Controllers/PenilaiController.php @@ -763,6 +763,22 @@ class PenilaiController extends Controller $permohonan = Permohonan::findOrFail($id); + + if ($permohonan->status === 'proses-laporan') { + return response()->json([ + 'success' => false, + 'message' => 'Masih proses laporan', + ], 400); + } + + if ($permohonan->status === 'proses-paparan') { + return response()->json([ + 'success' => false, + 'message' => 'Masih proses paparan', + ]); + } + + $permohonan->update([ 'status' => 'proses-laporan', ]); @@ -1322,7 +1338,7 @@ class PenilaiController extends Controller public function generateNoLaporan($permohonan, $documentId, $type) { - $typeMapping = ['lpj' => 'LPJ', 'memo' => 'MAK', 'rap' => 'RAP', 'call-report' => 'CR']; + $typeMapping = ['sederhana' => 'LPJ', 'standard' => 'LPJ', 'memo' => 'MAK', 'rap' => 'RAP', 'call-report' => 'CR']; // Cek apakah data sudah ada $laporan = Laporan::where([ @@ -1593,6 +1609,22 @@ class PenilaiController extends Controller public function revisiSurveyor(Request $request, $id) { $permohonan = Permohonan::findOrFail($id); + + if ($permohonan->status === 'proses-laporan') { + return response()->json([ + 'success' => false, + 'message' => 'Masih proses laporan', + ], 400); + } + + if ($permohonan->status === 'proses-paparan') { + return response()->json([ + 'success' => false, + 'message' => 'Masih proses paparan', + ], 400); + } + + $permohonan->update([ 'status' => 'revisi-survey', 'keterangan' => $request->message, diff --git a/app/Http/Controllers/PenilaianController.php b/app/Http/Controllers/PenilaianController.php index 03cc742..5e88202 100644 --- a/app/Http/Controllers/PenilaianController.php +++ b/app/Http/Controllers/PenilaianController.php @@ -482,14 +482,14 @@ class PenilaianController extends Controller $permohonan->update([ 'status_bayar' => $newStatus, - 'keterangan' => $request->message, + 'keterangan' => $request->keterangan, ]); break; case 'pembatalan': $permohonan->update([ 'status' => 'batal', - 'keterangan' => $request->message, + 'keterangan' => $request->keterangan, ]); break; @@ -509,7 +509,7 @@ class PenilaianController extends Controller } if ($approvalField) { - $this->updatePermohonan($permohonan, $status, $approvalField, $request->message); + $this->updatePermohonan($permohonan, $status, $approvalField, $request->keterangan); } break; @@ -559,11 +559,12 @@ class PenilaianController extends Controller 'status_so' => '1', 'approve_so' => Auth::user()->id, 'approve_so_at' => now(), - 'keterangan_so' => $request->message, + 'keterangan_so' => $request->keterangan, ]); $permohonan->update([ - 'tanggal_paparan' => $request->tanggalPaparan + 'tanggal_paparan' => $request->tanggalPaparan, + 'keterangan' => $request->keterangan ]); } elseif (Auth::user()->roles[0]->name === 'EO Appraisal') { $status = '2'; @@ -578,7 +579,7 @@ class PenilaianController extends Controller 'status_eo' => '1', 'approve_eo' => Auth::user()->id, 'approve_eo_at' => now(), - 'keterangan_eo' => $request->message, + 'keterangan_eo' => $request->keterangan, ]); } elseif (Auth::user()->roles[0]->name === 'DD Appraisal' || Auth::user()->roles[0]->name === 'administrator' && $authorization->approve_so && $authorization->approve_dd === null) { $authorization->update([ @@ -586,7 +587,7 @@ class PenilaianController extends Controller 'status_dd' => '1', 'approve_dd' => Auth::user()->id, 'approve_dd_at' => now(), - 'keterangan_dd' => $request->message, + 'keterangan_dd' => $request->keterangan, ]); $permohonan->update([ @@ -893,25 +894,27 @@ class PenilaianController extends Controller $permohonan = Permohonan::findOrFail($id); $userRole = Auth::user()->roles[0]->name; - if ($permohonan->status === 'proses-paparan' && in_array($userRole, ['EO Appraisal', 'DD Appraisal'])) { - Authorization::delete([ - 'permohonan_id' => $permohonan->id, - 'jenis' => 'paparan', - 'request' => 'paparan', - ]); + $authorization = Authorization::where('permohonan_id', $permohonan->id) + ->where('jenis', 'paparan')->first(); + + if ($permohonan->status === 'proses-paparan') { + if ($authorization) { + $authorization->delete(); + } + $status = 'revisi-paparan'; } elseif ($permohonan->status === 'proses-laporan' && $userRole === 'EO Appraisal') { $permohonan->update([ - 'approve_so' => null, - 'approve_so_at' => null, + 'approval_so' => 0, + 'approval_so_at' => null, ]); $status = 'revisi-laporan'; } elseif ($permohonan->status === 'proses-laporan' && $userRole === 'DD Appraisal') { $permohonan->update([ - 'approve_so' => null, - 'approve_so_at' => null, - 'approve_eo' => null, - 'approve_eo_at' => null, + 'approval_so' => 0, + 'approval_so_at' => null, + 'approval_eo' => 0, + 'approval_eo_at' => null, ]); $status = 'revisi-laporan'; @@ -925,7 +928,7 @@ class PenilaianController extends Controller // Perbarui status dan informasi lainnya $permohonan->update([ 'status' => $status, - 'keterangan' => $request->message, + 'keterangan' => $request->keterangan, 'submitted_at' => now(), ]); diff --git a/app/Http/Controllers/RegistrasiController.php b/app/Http/Controllers/RegistrasiController.php index a0fb3ba..42efcea 100644 --- a/app/Http/Controllers/RegistrasiController.php +++ b/app/Http/Controllers/RegistrasiController.php @@ -231,7 +231,7 @@ class RegistrasiController extends Controller { $permohonan = Permohonan::find($id); $debitur = Debiture::find($permohonan->debiture_id); - $documents = DokumenJaminan::with('pemilik', 'detail')->where('debiture_id', $id)->get(); + $documents = DokumenJaminan::with('pemilik', 'detail')->where('permohonan_id', $id)->get(); return view('lpj::registrasi.show', compact('id', 'permohonan', 'documents', 'debitur')); } diff --git a/app/Http/Controllers/SurveyorController.php b/app/Http/Controllers/SurveyorController.php index 0164cc4..01076f5 100644 --- a/app/Http/Controllers/SurveyorController.php +++ b/app/Http/Controllers/SurveyorController.php @@ -2007,7 +2007,21 @@ class SurveyorController extends Controller 'analisa_unit' => 'luas_unit', }; - $this->updateDetails($permohonan, $key, $request->input($key)); + + $jenis_jaminan_mapping = [ + 'luas_unit' => $request->input('jenis_legalistas_jaminan_unit_id'), + 'luas_bangunan' => $request->input('jenis_legalistas_jaminan_bangunan_id'), + 'luas_tanah' => $request->input('jenis_legalistas_jaminan_tanah_id'), + ]; + + + $jenis_jaminan_id = $jenis_jaminan_mapping[$key] ?? 0; + // dd($jenis_jaminan_id); + + $inputValue = $request->input($key); + + $cleanedValue = preg_replace('/\D/', '', $inputValue); + $this->updateDetails($permohonan, $key, $cleanedValue, $jenis_jaminan_id); } return response()->json([ @@ -2031,7 +2045,7 @@ class SurveyorController extends Controller ]); } - private function updateDetails($permohonan, $key, $newValue) + private function updateDetails($permohonan, $key, $newValue, $jenis_jaminan_id) { $document = $permohonan->documents->first(); @@ -2039,7 +2053,12 @@ class SurveyorController extends Controller throw new \Exception("Document not found"); } - $detailsUpdate = DetailDokumenJaminan::where('dokumen_jaminan_id', $document->id)->first(); + // dd($jenis_jaminan_id); + $detailsUpdate = DetailDokumenJaminan::where('dokumen_jaminan_id', $document->id) + ->where('jenis_legalitas_jaminan_id', $jenis_jaminan_id) + ->first(); + + // dd($detailsUpdate); if (!$detailsUpdate) { throw new \Exception("DetailDokumenJaminan not found"); @@ -2055,7 +2074,7 @@ class SurveyorController extends Controller if (array_key_exists($key, $datas)) { $datas[$key] = $newValue; } else { - throw new \Exception("Key '{$key}' not found in details"); + $datas[$key] = $newValue; } // Simpan kembali ke database diff --git a/resources/views/laporan/index.blade.php b/resources/views/laporan/index.blade.php index de09784..788f865 100644 --- a/resources/views/laporan/index.blade.php +++ b/resources/views/laporan/index.blade.php @@ -194,6 +194,8 @@ let laporanButton = ''; let resumeButton = ''; + + if(data.penilai.resume) { resumeButton = ` @@ -203,7 +205,7 @@ if(data.nilai_liquidasi==null) { laporanButton = ` - + Laporan `; } @@ -211,19 +213,20 @@ if(data.status_bayar=="sudah_bayar" && data.nilai_liquidasi >0) { if(data.penilai.type_penilai=='resume' && !data.penilai.resume){ laporanButton = ` - + Laporan `; } else { laporanButton = ` - + Laporan `; } } - return `${resumeButton} ${laporanButton}`; + + return `