diff --git a/app/Helpers/Lpj.php b/app/Helpers/Lpj.php index 5262587..347d9c7 100644 --- a/app/Helpers/Lpj.php +++ b/app/Helpers/Lpj.php @@ -430,7 +430,8 @@ function getWilayahName($code, $type) } -function formatLabel($key) { +function formatLabel($key) +{ static $labelCache = []; if (isset($labelCache[$key])) { @@ -468,3 +469,35 @@ function calculateSLA($permohonan, $type) return $slaMap[$type] ?? null; } + + +/** + * Menghitung total nilai berdasarkan key dan jenis legalitas. + * + * @param array $detailsArray + * @param string $key + * @param int $jenisLegalitas + * @return int + */ +function calculateTotalLuas($detailsArray, $key, $jenisLegalitas) +{ + $total = 0; + + if ($detailsArray) { + foreach ($detailsArray as $item) { + if (isset($item->jenis_legalitas_jaminan_id) && $item->jenis_legalitas_jaminan_id === $jenisLegalitas) { + $details = json_decode($item->details, true); + + if (is_array($details)) { + foreach ($details as $detail) { + if (isset($detail[$key])) { + $total += (int) $detail[$key]; + } + } + } + } + } + } + + return $total; +} diff --git a/app/Http/Controllers/DokumenJaminanController.php b/app/Http/Controllers/DokumenJaminanController.php index 04feb22..d7bd597 100644 --- a/app/Http/Controllers/DokumenJaminanController.php +++ b/app/Http/Controllers/DokumenJaminanController.php @@ -90,7 +90,7 @@ 'jenis_legalitas_jaminan_id' => $value, 'name' => $request->name[$key], 'keterangan' => $request->keterangan[$key], - 'details' => isset($request->custom_field[$value]) ? json_encode($request->custom_field[$value]) : '' + 'details' => isset($request->custom_field[$key]) ? json_encode($request->custom_field[$key]) : '' ]; $dokumenJaminan = []; @@ -104,7 +104,7 @@ $file_name, ); $dokumenJaminan[] = 'jaminan/' . $debitur->id . '/' . $document->id . '/' . $file_name; - $dokumenNomor[] = $request->dokumen_nomor[$key][$index] ?? ''; + $dokumenNomor[] = $request->dokumen_nomor[$key][$index] ?? '-'; } } } @@ -249,7 +249,7 @@ 'jenis_legalitas_jaminan_id' => $value, 'name' => $request->name[$key], 'keterangan' => $request->keterangan[$key], - 'details' => isset($request->custom_field[$value]) ? json_encode($request->custom_field[$value]) : '' + 'details' => isset($request->custom_field[$key]) ? json_encode($request->custom_field[$key]) : '' ]; $dokumenJaminan = []; @@ -257,60 +257,75 @@ if (isset($request->dokumen_jaminan[$key]) && is_array($request->dokumen_jaminan[$key])) { foreach ($request->dokumen_jaminan[$key] as $index => $file) { - if ($file) { + if ($file instanceof \Illuminate\Http\UploadedFile) { + // Jika file baru diupload $file_name = $file->getClientOriginalName(); $file->storeAs( 'public/jaminan/' . $debitur->id . '/' . $document->id . '/', $file_name, ); $dokumenJaminan[] = 'jaminan/' . $debitur->id . '/' . $document->id . '/' . $file_name; - $dokumenNomor[] = $request->dokumen_nomor[$key][$index] ?? ''; + } elseif (is_string($file) && !empty($file)) { + // Jika file tidak diubah, gunakan path yang sudah ada + $dokumenJaminan[] = $file; + } else { + // Jika file kosong atau null, tambahkan placeholder atau skip + $dokumenJaminan[] = null; // atau skip dengan continue; } + + // Selalu update dokumen_nomor, baik file diubah atau tidak + $dokumenNomor[] = $request->dokumen_nomor[$key][$index] ?? '-'; } } + + + // Setelah loop, periksa apakah ada dokumen yang dihapus + $existingDetail = $existingDetails->get($request->detail_dokumen_jaminan_id[$key] ?? null); + + if ($existingDetail) { + $existingDokumen = json_decode($existingDetail->dokumen_jaminan, true) ?? []; + $existingNomor = json_decode($existingDetail->dokumen_nomor, true) ?? []; + + + + // Jika jumlah dokumen berkurang, berarti ada yang dihapus + if (count($existingDokumen) > count($dokumenJaminan)) { + $dokumenJaminan = $existingDokumen; + $dokumenNomor = $existingNomor; + foreach ($request->dokumen_jaminan[$key] as $index => $file) { + if ($file === null) { + // Hapus dokumen yang tidak ada lagi + unset($dokumenJaminan[$index]); + unset($dokumenNomor[$index]); + } elseif (is_string($file) && !empty($file)) { + // Update nomor dokumen untuk file yang tidak diubah + $dokumenNomor[$index] = $request->dokumen_nomor[$key][$index] ?? '-'; + } + } + // Reset array keys + $dokumenJaminan = array_values($dokumenJaminan); + $dokumenNomor = array_values($dokumenNomor); + } + } + + if (!empty($dokumenJaminan)) { $detailData['dokumen_jaminan'] = json_encode($dokumenJaminan); - $detailData['dokumen_nomor'] = json_encode($dokumenNomor); + $detailData['dokumen_nomor'] = json_encode($dokumenNomor); } if (isset($request->detail_dokumen_jaminan_id[$key])) { $detailId = $request->detail_dokumen_jaminan_id[$key]; $detailDocument = $existingDetails->get($detailId); - if ($detailDocument) { - // Merge new files with existing ones - if (!empty($dokumenJaminan)) { - $existingFiles = json_decode( - $detailDocument->dokumen_jaminan, - true, - ) ?: []; - $existingNomor = json_decode( - $detailDocument->dokumen_nomor, - true, - ) ?: []; - $mergedFiles = array_merge($existingFiles, $dokumenJaminan); - $mergedNomor = array_merge($existingNomor, $dokumenNomor); - $detailData['dokumen_jaminan'] = json_encode($mergedFiles); - $detailData['dokumen_nomor'] = json_encode($mergedNomor); - } - $detailDocument->update($detailData); - $existingDetails->forget($detailId); - } + $detailDocument->update($detailData); + } else { DetailDokumenJaminan::create($detailData); } } } - // Delete any remaining existing details that weren't updated - foreach ($existingDetails as $detail) { - $files = json_decode($detail->dokumen_jaminan, true) ?: []; - foreach ($files as $file) { - Storage::delete('public/' . $file); - } - $detail->delete(); - } - DB::commit(); return redirect()->route('debitur.jaminan.index', $id)->with( 'success', @@ -342,6 +357,7 @@ $jenisLegalitasJaminan = JenisLegalitasJaminan::all(); $_jenisJaminan = JenisJaminan::find($document->jenis_jaminan_id); + $legalitas = ''; if ($_jenisJaminan) { $legalitasJaminan = json_decode($_jenisJaminan->jenis_legalitas_jaminan_id, true); diff --git a/app/Http/Controllers/JenisLegalitasJaminanController.php b/app/Http/Controllers/JenisLegalitasJaminanController.php index b087589..48ec006 100644 --- a/app/Http/Controllers/JenisLegalitasJaminanController.php +++ b/app/Http/Controllers/JenisLegalitasJaminanController.php @@ -150,4 +150,16 @@ { return Excel::download(new JenisLegalitasJaminanExport, 'jenis_legalitas_jaminan.xlsx'); } + + public function getCustomFields($id) + { + $jenisLegalitasJaminan = JenisLegalitasJaminan::findOrFail($id); + if(!$jenisLegalitasJaminan->custom_fields) { + return response()->json([]); + } + + $customFields = CustomField::whereIn('id', $jenisLegalitasJaminan->custom_fields)->get(); + + return response()->json($customFields); + } } diff --git a/app/Http/Controllers/PenilaiController.php b/app/Http/Controllers/PenilaiController.php index a9d0cec..0afcc21 100644 --- a/app/Http/Controllers/PenilaiController.php +++ b/app/Http/Controllers/PenilaiController.php @@ -1344,6 +1344,8 @@ class PenilaiController extends Controller // return $pdf; $cleanNomorLaporan = str_replace(['/', '\\'], '-', $nomorLaporan); $pdf->setPaper('A4', 'portrait'); + $pdf->set_option('isHtml5ParserEnabled', true); + $pdf->set_option('isPhpEnabled', true); return response($pdf->output(), 200) ->header('Content-Type', 'application/pdf') ->header('Content-Disposition', 'inline; filename="Laporan_' . $tipeLaporan . '_' . $permohonan->debiture->name . '_' . $cleanNomorLaporan . '.pdf"'); @@ -1371,6 +1373,8 @@ class PenilaiController extends Controller // return $pdf; $cleanNomorLaporan = str_replace(['/', '\\'], '-', $nomorLaporan); $pdf->setPaper('A4', 'portrait'); + $pdf->set_option('isHtml5ParserEnabled', true); + $pdf->set_option('isPhpEnabled', true); return $pdf->download('Laporan_' . $tipeLaporan . '_' . $permohonan->debiture->name . '_' . $cleanNomorLaporan . '_data.pdf'); } } catch (\Exception $e) { diff --git a/app/Http/Controllers/SurveyorController.php b/app/Http/Controllers/SurveyorController.php index 22a4a14..c8a9a6f 100644 --- a/app/Http/Controllers/SurveyorController.php +++ b/app/Http/Controllers/SurveyorController.php @@ -2309,6 +2309,41 @@ class SurveyorController extends Controller ]; + + + private function updateOrDeleteFile($data, $request, $fileKey) + { + if ($request->hasFile($fileKey)) { + $file = $request->file($fileKey); + if ($file->isValid()) { + $fileName = time() . '_' . $file->getClientOriginalName(); + $path = $file->storeAs("public/surveyor/{$request->type}", $fileName); + + if ($path === false) { + throw new Exception("Failed to store file for {$fileKey}"); + } + if (isset($data[$fileKey]) && $data[$fileKey]) { + $this->deleteFile($data[$fileKey]); + } + return str_replace('public/', '', $path); + } else { + throw new Exception("Invalid file upload for {$fileKey}"); + } + } elseif (isset($data[$fileKey]) && $data[$fileKey]) { + return $data[$fileKey]; + } else { + return null; + } + } + + private function deleteFile($filePath) + { + $fullPath = storage_path('app/public/' . $filePath); + if (file_exists($fullPath)) { + unlink($fullPath); + } + } + /** * Helper untuk upload file * @@ -2334,7 +2369,6 @@ class SurveyorController extends Controller return str_replace('public/', '', $path); } - /** * Helper untuk memetakan array dengan inputannya * @@ -2598,7 +2632,8 @@ class SurveyorController extends Controller // Tentukan nama file PDF $namaDebiture = $permohonan->debiture->name . '-' . $permohonan->nomor_registrasi; $fileName = 'inspeksi-' . $namaDebiture . '-data.pdf'; - + $pdf->set_option('isHtml5ParserEnabled', true); + $pdf->set_option('isPhpEnabled', true); return $pdf->stream($fileName); } diff --git a/app/Services/SaveFormInspesksiService.php b/app/Services/SaveFormInspesksiService.php index 89d46db..ebfbab6 100644 --- a/app/Services/SaveFormInspesksiService.php +++ b/app/Services/SaveFormInspesksiService.php @@ -222,7 +222,7 @@ class SaveFormInspesksiService $tusuk_sate_key = ($data['tusuk_sate'] ?? null) === 'Ya' ? 'Ya' : 'Tidak'; $tusuk_sate = []; - $tusuk_sate[$tusuk_sate_key] = $data['tusuk_sate_ya'] ?? null; + $tusuk_sate[$tusuk_sate_key] = $data['tusuk_sate_ya'] ?? "Tidak"; return [ diff --git a/resources/views/component/detail-jaminan.blade.php b/resources/views/component/detail-jaminan.blade.php index edba9aa..fd74707 100644 --- a/resources/views/component/detail-jaminan.blade.php +++ b/resources/views/component/detail-jaminan.blade.php @@ -68,36 +68,36 @@ {{ $penawaran->tujuanPenilaianKjpp->name }} - @else + @else -
-

- Tujan Permohonan: -

- +
+

+ Tujan Permohonan: +

+ {{ $permohonan->tujuanPenilaian->name }} -
+
-
-

- Nilai Plafond: -

- +
+

+ Nilai Plafond: +

+ {{ $permohonan->nilaiPlafond->name }} -
+
-
-

- Status Bayar: -

- +
+

+ Status Bayar: +

+ {{ str_replace('_', ' ', $permohonan->status_bayar) }} -
- @endif +
+ @endif @@ -263,81 +263,79 @@ @endif + +
Download Semua Dokumen - @foreach ($dokumen->detail as $detail) + @php $document = $dokumen; @endphp + @foreach($document->detail as $detail) - - - @if(isset($detail->details)) - @if(json_decode($detail->details)) - @foreach (json_decode($detail->details) as $key => $value) - - - - - @endforeach - @endif - @endif - - - + + + + + @if(isset($detail->details) && isset(json_decode($detail->details)[$index])) + @foreach (json_decode($detail->details)[$index] as $key => $value) + + + + @endforeach @endif + @endforeach + @endif - - - - @endforeach @@ -349,6 +347,9 @@ @if (!isset($status)) + @include('lpj::component.history-permohonan') + + @endif @include('lpj::component.pdfviewer') diff --git a/resources/views/component/print-out-dokument.blade.php b/resources/views/component/print-out-dokument.blade.php new file mode 100644 index 0000000..6faedd7 --- /dev/null +++ b/resources/views/component/print-out-dokument.blade.php @@ -0,0 +1,32 @@ + + @if (@isset($dokumen)) + @foreach ($dokumen->detail as $detail) + @if (isset($detail->dokumen_jaminan)) + + + + @endif + + @if (isset($detail->details)) + @if (json_decode($detail->details)) + @foreach (json_decode($detail->details) as $value) + @foreach ($value as $key => $item) + + + + + + @endforeach + @endforeach + @endif + @endif + @endforeach + @endif + diff --git a/resources/views/debitur/components/dokumen.blade.php b/resources/views/debitur/components/dokumen.blade.php index 3f5fb73..2debb71 100644 --- a/resources/views/debitur/components/dokumen.blade.php +++ b/resources/views/debitur/components/dokumen.blade.php @@ -255,7 +255,7 @@
@if(isset($document->id)) - @php $n = 0; @endphp + @php $n = 0; $p_index = 0; @endphp @foreach($document->detail as $detail)
@@ -282,127 +282,177 @@
- -
- -
-
-
- - - -
-
-
- - @if(isset($detail->dokumen_jaminan)) +
+
+ +
@if(isset($detail->dokumen_jaminan)) @php $dokumen_jaminan = is_array(json_decode($detail->dokumen_jaminan)) ? json_decode($detail->dokumen_jaminan) : [$detail->dokumen_jaminan]; $dokumen_nomor = is_array(json_decode($detail->dokumen_nomor)) ? json_decode($detail->dokumen_nomor) : ($detail->dokumen_nomor ? [$detail->dokumen_nomor] : []); @endphp -
+
@foreach($dokumen_jaminan as $index => $dokumen) -
- @if(!empty($dokumen_nomor)) - Nomor Dokumen : {{ $dokumen_nomor[$index] }} +
+
+ + + + + + {{ basename($dokumen) }} + + + + +
+ + @if($detail->details) + @if($detail->jenisLegalitasJaminan->custom_fields) + @foreach($detail->jenisLegalitasJaminan->custom_fields as $key) +
+ @php + $customField = getCustomField($key); + $fieldValue = json_decode($detail->details)[$index]->{$customField->name} ?? ''; + @endphp + +
+ @switch($customField->type) + @case('text') + + @break + @case('number') + + @break + @case('date') + + @break + @case('textarea') + + @break + @case('select') + + @break + @default + + @endswitch +
+
+ @endforeach + @endif + @else + @if($detail->jenisLegalitasJaminan->custom_fields) + @foreach($detail->jenisLegalitasJaminan->custom_fields as $key) +
+ @php + $customField = getCustomField($key); + @endphp + +
+ @switch($customField->type) + @case('text') + + @break + @case('number') + + @break + @case('date') + + @break + @case('textarea') + + @break + @case('select') + + @break + @default + + @endswitch +
+
+ @endforeach + @endif @endif - - {{ basename($dokumen) }} - -
+ @php $p_index++; @endphp @endforeach
+
+ +
+ @else +
+
+ + + + +
+ @if($detail->jenisLegalitasJaminan->custom_fields) + @foreach($detail->jenisLegalitasJaminan->custom_fields as $key) +
+ @php + $customField = getCustomField($key); + @endphp + +
+ @switch($customField->type) + @case('text') + + @break + @case('number') + + @break + @case('date') + + @break + @case('textarea') + + @break + @case('select') + + @break + @default + + @endswitch +
+
+ @endforeach + @endif +
+
+ +
+ @php $p_index++; @endphp @endif - @endif +
- @if($detail->details) - @if($detail->jenisLegalitasJaminan->custom_fields) - @foreach($detail->jenisLegalitasJaminan->custom_fields as $key) -
- @php - $customField = getCustomField($key); - $fieldValue = json_decode($detail->details)->{$customField->name} ?? ''; - @endphp - -
- @switch($customField->type) - @case('text') - - @break - @case('number') - - @break - @case('date') - - @break - @case('textarea') - - @break - @case('select') - - @break - @default - - @endswitch -
-
- @endforeach - @endif - @else - @if($detail->jenisLegalitasJaminan->custom_fields) - @foreach($detail->jenisLegalitasJaminan->custom_fields as $key) -
- @php - $customField = getCustomField($key); - @endphp - -
- @switch($customField->type) - @case('text') - - @break - @case('number') - - @break - @case('date') - - @break - @case('textarea') - - @break - @case('select') - - @break - @default - - @endswitch -
-
- @endforeach - @endif - @endif -
@php $n++; @endphp @endforeach + @if($legalitas) @foreach($legalitas as $item) -
- - -
- -
- -
- -
-
- -
- -
-
-
- - - -
-
-
-
-
- - @if($item->custom_fields) - @foreach($item->custom_fields as $field) - @php $custom_field = getCustomField($field) @endphp +
+
-
+ +
+
- @switch($custom_field->type) - @case('text') - - @break - @case('number') - - @break - @case('date') - - @break - @case('textarea') - - @break - @case('select') - - @break - @default - - @endswitch +
- @endforeach - @endif -
- -
- +
+ +
+
+
+ + +
+ + @if($item->custom_fields) + @foreach($item->custom_fields as $field) + @php $custom_field = getCustomField($field) @endphp +
+ +
+ @switch($custom_field->type) + @case('text') + + @break + @case('number') + + @break + @case('date') + + @break + @case('textarea') + + @break + @case('select') + + @break + @default + + @endswitch +
+
+ @endforeach + @endif +
+
+
+
+
+ +
+ +
+ +
+ +
- @php $n++; @endphp + @php $n++;$p_index++; @endphp @endforeach @endif + @endif
@@ -504,6 +561,7 @@
+ @push('scripts') {{--Pemilik Jaminan--}} diff --git a/resources/views/surveyor/components/print-out/print.blade.php b/resources/views/surveyor/components/print-out/print.blade.php deleted file mode 100644 index a246b27..0000000 --- a/resources/views/surveyor/components/print-out/print.blade.php +++ /dev/null @@ -1,704 +0,0 @@ - - - - - - - - - Laporan Penilai Jaminan - - - - -@php - $data = ''; - $dokument = null; - foreach ($permohonan->documents as $dokumen) { - $data .= $dokumen->jenisJaminan->name . ', '; - $dokument = $dokumen; - } - $data = rtrim($data, ', '); - - $senior_officer = null; - if ($permohonan->debiture && $permohonan->documents) { - foreach ($permohonan->documents as $dokumen) { - $penilai = $permohonan->penilaian->userPenilai->where('role', 'penilai')->first(); - $teams = $permohonan->region->teams; - - if ($teams) { - foreach ($teams as $team) { - $team_users = $team->teamsUsers; - // print_r($team_users); - if ($team_users) { - foreach ($team_users as $team_user) { - $user = $team_user->user; - - if ($user && $user->hasRole('senior-officer')) { - $senior_officer = $user; - break 3; - } - } - } - } - } - } - } -@endphp - - -
- {{ $loop->index + 1 }}. {{ $detail->jenisLegalitasJaminan->name }} - - {{ $detail->name ?? '' }} + + + {{ $loop->index+1 }}. {{ $detail->jenisLegalitasJaminan->name }} +
- {{formatLabel($key)}} - - {{ $value ?? "" }} -
- Dokumen Jaminan - - @if (isset($detail->dokumen_jaminan)) - @php - $dokumen_jaminan = is_array(json_decode($detail->dokumen_jaminan)) - ? json_decode($detail->dokumen_jaminan) - : [$detail->dokumen_jaminan]; - $dokumen_nomor = is_array(json_decode($detail->dokumen_nomor)) - ? json_decode($detail->dokumen_nomor) - : ($detail->dokumen_nomor - ? [$detail->dokumen_nomor] - : []); - @endphp - @foreach ($dokumen_jaminan as $index => $dokumen) -
- @if (in_array(Auth::user()->roles[0]->name, ['administrator', 'pemohon-eo'])) - @if (!empty($dokumen_nomor)) - Nomor Dokumen : - {{ $dokumen_nomor[$index] }} - @endif - - {{ basename($dokumen) }} - - - @endif - Preview -
-
+ @if(isset($detail->dokumen_jaminan)) + @php + $dokumen_jaminan = is_array(json_decode($detail->dokumen_jaminan)) ? json_decode($detail->dokumen_jaminan) : [$detail->dokumen_jaminan]; + $dokumen_nomor = is_array(json_decode($detail->dokumen_nomor)) ? json_decode($detail->dokumen_nomor) : ($detail->dokumen_nomor ? [$detail->dokumen_nomor] : []); + @endphp + @foreach($dokumen_jaminan as $index => $dokumen) +
+ + {{ $loop->index+1 }}. Nomor : {{ $dokumen_nomor[$index] }} + + + @if(in_array(Auth::user()->roles[0]->name,['administrator','pemohon-eo'])) + + {{ basename($dokumen) }} + + + @endif + + Preview + +
+ + - {{ str_replace("_"," ",$key) ?? "" }} + + +

+ {{ $value }} +

+
- Keterangan + + + - keterangan + - {{ $detail->keterangan ?? '' }} + +

+ {{ $detail->keterangan }} +

{{ $detail->name ?? '' }}
+ {{ formatLabel($key) }} + : + {{ $item }} + @if ($key == 'luas_bangunan' || $key == 'luas_tanah') + m2 + @endif +
- - - - -
- @include('lpj::component.logo-bag') - -
-

Tanggal: {{ date('Y-m-d') }}

-

Waktu: {{ date('H:i:s') }}

-

User: {{ Auth::user()->name }}

-
-
- - - - - - -
-

- Tujuan Penilaian -

-
- - - - - {{-- - - - - - - - --}} - - {{-- - - - - - - - - - - - - - - - - - - --}} - - - {{-- - - - --}} - - - - - - - - {{--
- - - - - - - - - - - - - - - - -
Cabang/Pemohon: - {{ $permohonan->debiture->branch->name ?? '' }} -
Tujuan Penilai: - {{ $permohonan->jenisFasilitasKredit->name ?? '' }}
Ao:{{ $permohonan->user->name ?? '' }}
-
- - - --}} - - -
- @if (isset($basicData['tujuanPenilaian'])) - - - @foreach ($basicData['tujuanPenilaian'] as $index => $item) - @if ($index % 3 == 0 && $index > 0) - - - @endif - - @endforeach - -
- -
- @endif - - - - - - - - - - - - - -
Permintaan (A/O. Tlp/Hp){{ $permohonan->user->name }}Tanggal{{ formatTanggalIndonesia($permohonan->created_at) }}
Nama Debitur/ Wakil Debitur{{ $permohonan->debiture->name ?? '' }} - @if (isset($forminspeksi['asset']['debitur_perwakilan']) && !empty($forminspeksi['asset']['debitur_perwakilan'])) - @foreach ($forminspeksi['asset']['debitur_perwakilan'] as $key => $item) - {{ $item }} - @endforeach - @endif - Kunjungan Tanggal{{ formatTanggalIndonesia($permohonan->penilaian->tanggal_kunjungan) }}
-
- - - {{--
- B - - IDENTITAS DEBITUR -
- - - - - - - -
Nama Debitur{{ $permohonan->debiture->name ?? '' }}
-
- C - - JENIS DAN LOKASI JAMINAN + KORDINAT -
- - @if (isset($basicData['jenisJaminan'])) - - - - @foreach ($basicData['jenisJaminan'] as $index => $item) - @if ($index % 3 == 0 && $index > 0) - - - @endif - - @endforeach - -
- -
- @endif - - - - - - - - - - - - - - - - - - - - - - -
Terletak di {{ $alamat['address'] ?? '' }}
Kelurahan{{ $alamat['village_code'] ?? '' }}
Kecamatan{{ $alamat['district_code'] ?? '' }}
Kotamadya {{ $alamat['city_code'] ?? '' }}
Propinsi{{ $alamat['province_code'] ?? '' }}
- - - - - -
Titik Kordinat{{ isset($forminspeksi['asset']['kordinat_lat']) ? $forminspeksi['asset']['kordinat_lat'] : '' }} , - {{ isset($forminspeksi['asset']['kordinat_lng']) ? $forminspeksi['asset']['kordinat_lng'] : '' }}
-
- D - - STATUS KEPEMILIKAN, HUBUNGAN DAN PENGHUNI -
- - - - @if (@isset($dokumen)) - @foreach ($dokumen->detail as $detail) - @if (isset($detail->dokumen_jaminan)) - - - - - - - @endif - - @if (isset($detail->details)) - @if (json_decode($detail->details)) - @foreach (json_decode($detail->details) as $key => $value) - @if (!is_null($value) && $value !== '') - - - - - @endif - @endforeach - @endif - @endif - @endforeach - @endif - - - - - - - - - @php - // Ambil nilai hub_cadeb langsung - $hubCadeb = isset($forminspeksi['asset']['hub_cadeb']) - ? $forminspeksi['asset']['hub_cadeb'] - : null; - - // Jika nilai adalah array dengan key 'sesuai', ambil nilainya - if (is_array($hubCadeb) && isset($hubCadeb['sesuai'])) { - $hubCadeb = $hubCadeb['sesuai']; - } - @endphp - - - - - - @php - $statusKey = isset($forminspeksi['asset']['hub_cadeb_penghuni']['sesuai']) - ? 'sesuai' - : 'tidak sesuai'; - $selectedData = $forminspeksi['asset']['hub_cadeb_penghuni'][$statusKey] ?? null; - @endphp - - - - -
{{ $detail->name ?? '' }}
- @if (isset($detail->dokumen_jaminan)) - @php - $dokumen_jaminan = is_array(json_decode($detail->dokumen_jaminan)) - ? json_decode($detail->dokumen_jaminan) - : [$detail->dokumen_jaminan]; - $dokumen_nomor = is_array(json_decode($detail->dokumen_nomor)) - ? json_decode($detail->dokumen_nomor) - : ($detail->dokumen_nomor - ? [$detail->dokumen_nomor] - : []); - @endphp - - @foreach ($dokumen_jaminan as $index => $dokumen) -
- @if (!empty($dokumen_nomor[$index])) - {{ $dokumen_nomor[$index] }} - @endif -
- @endforeach - @endif -
- {{ ucwords(str_replace('_', ' ', $key)) ?? '' }} - - {{ $value }} - @if ($key == 'luas_bangunan' || $key == 'luas_tanah') - m2 - @endif -
Atas Nama{{ $dokument->pemilik->name ?? '' }}
Hubungan Pemilik Jaminan dengan Debitur - - @if (isset($basicData['hubCadeb'])) - - @php $count = 0; @endphp - - @foreach ($basicData['hubCadeb'] as $item) - - @php $count++; @endphp - - @if ($count % 3 === 0) - - - @endif - @endforeach - - @if ($count % 3 !== 0) - @for ($i = 0; $i < 3 - ($count % 3); $i++) - - @endfor - @endif - -
- -
- @endif -
Hubungan Penghuni Jaminan dengan Debitur - @if (isset($selectedData)) - - - - -
- {{ $selectedData ?? '' }} -
- @endif -
-
- G - - ASURANSI -
- - - - - - - - - - -
- Jakarta {{ formatTanggalIndonesia($permohonan->penilaian->waktu_penilaian) }} -
- TTD -
- - - @if (isset($forminspeksi['signature']['penilai']['image']) && !empty($forminspeksi['signature']['penilai']['image'])) - @php - $imagePath = $forminspeksi['signature']['penilai']['image']; - - $isBase64 = str_starts_with($imagePath, 'data:image'); - - if (!$isBase64) { - $relativePath = str_replace(url('storage') . '/', '', $imagePath); - $absolutePath = storage_path('app/public/' . $relativePath); - } else { - $absolutePath = $imagePath; - } - - @endphp - - @endif - - @if (isset($forminspeksi['signature']['cabang'])) - @php - $imagePath = $forminspeksi['signature']['cabang']['image']; - - $isBase64 = str_starts_with($imagePath, 'data:image'); - - if (!$isBase64) { - $relativePath = str_replace(url('storage') . '/', '', $imagePath); - $absolutePath = storage_path('app/public/' . $relativePath); - } else { - $absolutePath = $imagePath; - } - - @endphp - - @endif - - - @if (isset($forminspeksi['signature']['debitur'])) - - @endif - - - @if (isset($forminspeksi['signature']['kjjp'])) - - @endif - - - - - @if (isset($forminspeksi['signature']['penilai']['name'])) - - @endif - @if (isset($forminspeksi['signature']['cabang']['name'])) - - @endif - @if (isset($forminspeksi['signature']['debitur']['name'])) - - @endif - @if (isset($forminspeksi['signature']['kjjp']['name'])) - - @endif - -
- - - - - Debitur/Perwakilan - - KJPP -
- {{ ucwords(strtolower($forminspeksi['signature']['penilai']['name'])) }} -
- {{ ucwords(strtolower('PENILAI')) }} -
- {{ ucwords(strtolower($forminspeksi['signature']['cabang']['name'])) }} -
- {{ ucwords(strtolower('CABANG')) }} -
- {{ ucwords(strtolower($forminspeksi['signature']['debitur']['name'])) }} -
- {{ ucwords(strtolower('DEBITUR/PERWAKILAN')) }} -
- {{ ucwords(strtolower($forminspeksi['signature']['kjjp']['name'])) }} -
- {{ strtoupper('K.J.P.P') }} -
-
--}} - - - - - - diff --git a/resources/views/surveyor/components/tanah.blade.php b/resources/views/surveyor/components/tanah.blade.php index 3e856f6..3c8391b 100644 --- a/resources/views/surveyor/components/tanah.blade.php +++ b/resources/views/surveyor/components/tanah.blade.php @@ -10,28 +10,22 @@
+ @if (isset($permohonan->documents)) @foreach ($permohonan->documents as $item) @php - $luas_tanah = 0; + $total_luas_tanah = 0; $jenis_legalitas_jaminan_id = 0; - if ($item->detail) { - foreach ($item->detail as $luas) { - if (isset($luas->name) && $luas->jenis_legalitas_jaminan_id === 1) { - $jenis_legalitas_jaminan_id = $luas->jenis_legalitas_jaminan_id; - $details = json_decode($luas->details, true); - $luas_tanah = isset($details['luas_tanah']) ? $details['luas_tanah'] : 0; - break; - } - } + if (isset($item->detail)) { + $total_luas_tanah = calculateTotalLuas($item->detail, 'luas_tanah', 1); } @endphp - - -

{{ $luas_tanah }} m2

+ + +

{{ $total_luas_tanah }} m2

@endforeach @endif
@@ -283,14 +277,14 @@ {{ old('tusuk_sate') == 'Ya' || (isset($forminspeksi['tanah']['tusuk_sate']['Ya']) && $forminspeksi['tanah']['tusuk_sate']['Ya']) ? 'checked' : '' }}> Ya - @php - $statusKey = isset($forminspeksi['tanah']['tusuk_sate']['Ya']) ? 'Ya' : 'Tidak'; - $selectedData = $forminspeksi['tanah']['tusuk_sate'][$statusKey] ?? null; - @endphp - + @php + $statusKey = isset($forminspeksi['tanah']['tusuk_sate']['Ya']) ? 'Ya' : 'Tidak'; + $selectedData = $forminspeksi['tanah']['tusuk_sate'][$statusKey] ?? null; + @endphp +