From fa921add452eb3dc2e764bb960bc8e7ef6f9d964 Mon Sep 17 00:00:00 2001 From: majid Date: Tue, 18 Feb 2025 16:14:52 +0700 Subject: [PATCH] perbaikan print out call report --- app/Http/Controllers/PenilaiController.php | 100 +++-- app/Http/Controllers/SurveyorController.php | 7 + .../penilai/components/call-report.blade.php | 416 ++++++++---------- .../views/penilai/components/resume.blade.php | 7 - resources/views/penilai/show.blade.php | 69 ++- resources/views/surveyor/js/utils.blade.php | 10 + routes/web.php | 1 + 7 files changed, 299 insertions(+), 311 deletions(-) diff --git a/app/Http/Controllers/PenilaiController.php b/app/Http/Controllers/PenilaiController.php index be11bac..6dfc96c 100644 --- a/app/Http/Controllers/PenilaiController.php +++ b/app/Http/Controllers/PenilaiController.php @@ -63,7 +63,7 @@ class PenilaiController extends Controller $forminspeksi = json_decode($inpeksi->data_form, true); } - return view('lpj::penilai.lampiran', compact('permohonan', 'formFoto', 'forminspeksi','basicData', 'penilai')); + return view('lpj::penilai.lampiran', compact('permohonan', 'formFoto', 'forminspeksi', 'basicData', 'penilai')); } public function create() @@ -406,7 +406,7 @@ class PenilaiController extends Controller $permohonan = $this->surveyorController->getPermohonanJaminanId($permohonanId, $documentId, $jaminanId); $nomorLaporan = $this->generateNoLaporan($permohonan, $documentId, 'call-report'); $basicData = $this->surveyorController->getCommonData(); - // $inspeksi = Inspeksi::where('permohonan_id', $permohonanId)->where('dokument_id', $documentId)->first(); + $inspeksi = Inspeksi::where('permohonan_id', $permohonanId)->where('dokument_id', $documentId)->first(); // Penilai::updateOrCreate( // [ // 'permohonan_id' => $permohonanId, @@ -424,46 +424,46 @@ class PenilaiController extends Controller // $rap = null; // $forminspeksi = null; // if ($resume) { - // $forminspeksi = json_decode($inspeksi->data_form, true); + $forminspeksi = json_decode($inspeksi->data_form, true); // $rap = json_decode($resume->rap, true); // } // Default: gunakan data dari debitur - // $debitur = Debiture::find($permohonan->debiture_id); + $debitur = Debiture::find($permohonan->debiture_id); - // $provinceCode = $debitur->province_code; - // $cityCode = $debitur->city_code; - // $districtCode = $debitur->district_code; + $provinceCode = $debitur->province_code; + $cityCode = $debitur->city_code; + $districtCode = $debitur->district_code; - // $cekAlamat = $forminspeksi['asset']['alamat']['tidak sesuai'] ?? null; + $cekAlamat = $forminspeksi['asset']['alamat']['tidak sesuai'] ?? null; - // if ($cekAlamat) { - // $provinceCode = $cekAlamat['province_code'] ?? $provinceCode; - // $cityCode = $cekAlamat['city_code'] ?? $cityCode; - // $districtCode = $cekAlamat['district_code'] ?? $districtCode; - // } + if ($cekAlamat) { + $provinceCode = $cekAlamat['province_code'] ?? $provinceCode; + $cityCode = $cekAlamat['city_code'] ?? $cityCode; + $districtCode = $cekAlamat['district_code'] ?? $districtCode; + } - // $cities = City::where('province_code', $provinceCode)->get(); - // $districts = District::where('city_code', $cityCode)->get(); - // $villages = Village::where('district_code', $districtCode)->get(); + $cities = City::where('province_code', $provinceCode)->get(); + $districts = District::where('city_code', $cityCode)->get(); + $villages = Village::where('district_code', $districtCode)->get(); - // if ($forminspeksi) { - // if (isset($forminspeksi['alamat']['sesuai']['province_code'])) { - // $cities = City::where('province_code', $forminspeksi['alamat']['sesuai']['province_code'])->get(); - // } + if ($forminspeksi) { + if (isset($forminspeksi['alamat']['sesuai']['province_code'])) { + $cities = City::where('province_code', $forminspeksi['alamat']['sesuai']['province_code'])->get(); + } - // if (isset($forminspeksi['alamat']['sesuai']['city_code'])) { - // $districts = District::where('city_code', $forminspeksi['alamat']['sesuai']['city_code'])->get(); - // } + if (isset($forminspeksi['alamat']['sesuai']['city_code'])) { + $districts = District::where('city_code', $forminspeksi['alamat']['sesuai']['city_code'])->get(); + } - // if (isset($forminspeksi['alamat']['sesuai']['district_code'])) { - // $villages = Village::where('district_code', $forminspeksi['alamat']['sesuai']['district_code'])->get(); - // } - // } + if (isset($forminspeksi['alamat']['sesuai']['district_code'])) { + $villages = Village::where('district_code', $forminspeksi['alamat']['sesuai']['district_code'])->get(); + } + } // return view('lpj::penilai.components.call-report', compact('permohonan', 'rap', 'provinces', 'cities', // 'districts', // 'villages','forminspeksi', 'noLpRAP', 'basicData','cekAlamat')); - return view('lpj::penilai.components.call-report', compact('permohonan','basicData', 'nomorLaporan')); + return view('lpj::penilai.components.call-report', compact('permohonan', 'basicData', 'nomorLaporan', 'forminspeksi', 'cities', 'districts', 'villages', 'cekAlamat')); } /** @@ -988,6 +988,47 @@ class PenilaiController extends Controller } + public function storeCallReport(Request $request) + { + try { + + $validated = $request->validate([ + 'permohonan_id' => 'required|exists:permohonan,id', + 'dokument_id' => 'required|exists:dokument,id', + 'inspeksi_id' => 'required|exists:inspeksi,id', + 'data' => 'required' + ]); + + DB::beginTransaction(); + $data = $request->input('data'); + + Penilai::updateOrCreate( + [ + 'permohonan_id' => $request->permohonanId, + 'dokument_id' => $request->documentId, + 'inspeksi_id' => $request->inspeksiId, + ], + [ + 'call-report' => json_encode($data), + ] + ); + DB::commit(); + return response()->json([ + 'success' => true, + 'message' => 'Berhasil menyimpan data', + 'data' => $result + ], 200); + } catch (\Throwable $e) { + DB::rollBack(); + return response()->json([ + 'success' => false, + 'message' => 'Terjadi kesalahan saat menyimpan data', + 'error' => $e->getMessage(), + 'trace' => $e->getTraceAsString() + ], 500); + } + } + public function print_out(Request $request) @@ -1044,7 +1085,7 @@ class PenilaiController extends Controller if ($statusLpj) { // $pdf = view('lpj::' . $viewLaporan, compact( - $pdf = PDF::loadView('lpj::' . $viewLaporan, compact( + $pdf = PDF::loadView('lpj::' . $viewLaporan, compact( 'permohonan', 'forminspeksi', 'lpjData', @@ -1454,4 +1495,5 @@ class PenilaiController extends Controller } + } diff --git a/app/Http/Controllers/SurveyorController.php b/app/Http/Controllers/SurveyorController.php index 408494f..c0c9f07 100644 --- a/app/Http/Controllers/SurveyorController.php +++ b/app/Http/Controllers/SurveyorController.php @@ -814,11 +814,17 @@ class SurveyorController extends Controller // If validation passes, update permohonan status $permohonan = Permohonan::findOrFail($id); + + + $permohonan->update([ 'status' => 'survey-completed', 'submitted_at' => now() ]); + + + return response()->json([ 'success' => true, 'message' => 'Form surveyor berhasil disubmit' @@ -2200,6 +2206,7 @@ class SurveyorController extends Controller 'branch', 'tujuanPenilaian', 'penilaian', + 'penawaran', 'debiture.documents' => function ($query) use ($dokumentId, $jaminanId) { $query->where('id', $dokumentId) ->where('jenis_jaminan_id', $jaminanId); diff --git a/resources/views/penilai/components/call-report.blade.php b/resources/views/penilai/components/call-report.blade.php index f10797d..a53c2f4 100644 --- a/resources/views/penilai/components/call-report.blade.php +++ b/resources/views/penilai/components/call-report.blade.php @@ -9,11 +9,13 @@ @php $senior_officer = null; $jenisJaminan = null; + $tanggalPenilaian = null; if ($permohonan->debiture && $permohonan->documents) { foreach ($permohonan->documents as $dokumen) { $penilai = $permohonan->penilaian->userPenilai->where('role', 'penilai')->first(); $teams = $permohonan->region->teams; + $tanggalPenilaian = $permohonan->penilaian->waktu_penilaian; $jenisJaminan = $dokumen->jenisJaminan->name; if ($teams) { foreach ($teams as $team) { @@ -57,21 +59,21 @@
+ value="{{ $callReport['kepada'] ?? old('kepada') }}">
+ value="{{ $callReport['dari'] ?? ($permohonan->branch->name ?? old('dari')) }}">
- +
{{-- 250109828129/ --}} @@ -106,34 +108,36 @@
-
- +
-
- +
+
- +
@@ -141,34 +145,14 @@
- -
-
-
- -
- -
-
-
- -
- -
-
-
- -
- +
+ +
@@ -177,6 +161,98 @@
+
+
+

lokasi objek + +

+
+ +
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+
+ +
+ +
+
+

Dokument

+
+ +
+ @include('lpj::component.detail-jaminan', ['status' => true]) +
+
+
+
+

Nilai Likuidasi

+
+ +
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+
+
@@ -192,8 +268,8 @@
-
@@ -202,16 +278,19 @@
- +
-
@@ -219,11 +298,23 @@
-
- -
+ + @if (isset($forminspeksi['asset']['debitur_perwakilan'])) + @foreach ($forminspeksi['asset']['debitur_perwakilan'] as $item) +
+ +
+ @endforeach + @else +
+ +
+ @endif +
@@ -319,132 +410,10 @@
@endsection @push('scripts') - {{-- + --}} + }); + @include('lpj::surveyor.js.utils') @endpush diff --git a/resources/views/penilai/components/resume.blade.php b/resources/views/penilai/components/resume.blade.php index 9dac8a5..eeebc11 100644 --- a/resources/views/penilai/components/resume.blade.php +++ b/resources/views/penilai/components/resume.blade.php @@ -782,14 +782,7 @@ }); }); - function handleCurrencyInput(input) { - const value = input.value.replace(/[^\d]/g, ''); - input.value = formatCurrency(value); - } - function cleanCurrencyValue(value) { - return value.replace(/[^\d]/g, ''); - } function calculateTotal(element) { diff --git a/resources/views/penilai/show.blade.php b/resources/views/penilai/show.blade.php index 59a01d7..e1d3c54 100644 --- a/resources/views/penilai/show.blade.php +++ b/resources/views/penilai/show.blade.php @@ -279,35 +279,22 @@ LPJ - - @endif @endif @if ($permohonan->penilaian->jenis_penilaian_id == 2 && $permohonan->tujuanPenilaian->id == 4) - + @endif @@ -359,20 +346,28 @@ $jenisJaminanId = null; $inspeksiId = null; $documentId = null; - foreach ($permohonan->documents as $item) { - $documentId = $item->id; - } - foreach ($dokumen->inspeksi as $item) { - $inspeksiId = $item->id; + $firstDocument = $permohonan->documents->first(); // Ambil dokumen pertama + + if ($firstDocument) { + $documentId = $firstDocument->id; + + // Ambil ID inspeksi pertama (jika ada) + if ($firstDocument->inspeksi->isNotEmpty()) { + $inspeksiId = $firstDocument->inspeksi->first()->id; + } + + // Ambil jenis jaminan jika ada + if ($firstDocument->jenisjaminan) { + $jenisJaminanId = $firstDocument->jenisjaminan->id; + } + } else { + $documentId = 'Tidak ada dokumen'; + $inspeksiId = 'Tidak ada inspeksi'; + $jenisJaminanId = 'Tidak ada jenis jaminan'; } + @endphp - @foreach ($permohonan->documents as $document) - @if ($document->jenisjaminan) - @php - $jenisJaminanId = $document->jenisjaminan->id; - @endphp - @endif - @endforeach +
diff --git a/resources/views/surveyor/js/utils.blade.php b/resources/views/surveyor/js/utils.blade.php index 9fcb130..ff4a2a7 100644 --- a/resources/views/surveyor/js/utils.blade.php +++ b/resources/views/surveyor/js/utils.blade.php @@ -502,4 +502,14 @@ alamatTidakSesuai.style.display = 'grid'; // Tampilkan "Alamat Tidak Sesuai" } } + + + function handleCurrencyInput(input) { + const value = input.value.replace(/[^\d]/g, ''); + input.value = formatCurrency(value); + } + + function cleanCurrencyValue(value) { + return value.replace(/[^\d]/g, ''); + } diff --git a/routes/web.php b/routes/web.php index 986f063..adf06af 100644 --- a/routes/web.php +++ b/routes/web.php @@ -604,6 +604,7 @@ Route::middleware(['auth'])->group(function () { Route::get('memo', [PenilaiController::class, 'memo'])->name('memo'); Route::get('paparan', [PenilaiController::class, 'paparan'])->name('paparan'); Route::get('call-report', [PenilaiController::class, 'call_report'])->name('call-report'); + Route::get('storeCallReport', [PenilaiController::class, 'storeCallReport'])->name('storeCallReport'); Route::post('storePaparan/{id}', [PenilaiController::class, 'storePaparan'])->name('storePaparan'); Route::get('rap', [PenilaiController::class, 'rap'])->name('rap'); Route::get('/check-status-lpj', [PenilaiController::class, 'checkStatusLpj'])->name('check.status.lpj');