From 73d76a000de360540f0c0c21bad1d35baea7e247 Mon Sep 17 00:00:00 2001 From: Daeng Deni Mardaeni Date: Wed, 5 Mar 2025 16:25:43 +0700 Subject: [PATCH 1/5] fix(dokumen): perbaikan pengambilan detail dokumen jaminan - Memperbaiki pengambilan data `details` pada `DokumenJaminanController`. - Mengubah indeks pengambilan `custom_field` dari `$value` menjadi `$key`. - Memperbaiki tampilan detail dokumen jaminan di view `jaminan.blade.php`. - Menambahkan penanganan untuk menampilkan nomor dokumen dan detail yang sesuai. --- .../Controllers/DokumenJaminanController.php | 2 +- .../debitur/components/dokumen.blade.php | 173 +++++++++++------- .../debitur/components/jaminan.blade.php | 67 ++++--- 3 files changed, 145 insertions(+), 97 deletions(-) diff --git a/app/Http/Controllers/DokumenJaminanController.php b/app/Http/Controllers/DokumenJaminanController.php index cdfaa22..a64cef0 100644 --- a/app/Http/Controllers/DokumenJaminanController.php +++ b/app/Http/Controllers/DokumenJaminanController.php @@ -89,7 +89,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 = []; diff --git a/resources/views/debitur/components/dokumen.blade.php b/resources/views/debitur/components/dokumen.blade.php index 9d3b3da..1d5980d 100644 --- a/resources/views/debitur/components/dokumen.blade.php +++ b/resources/views/debitur/components/dokumen.blade.php @@ -273,50 +273,52 @@ - -
- -
-
-
- - - -
-
-
- - @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] }} - @endif - - {{ basename($dokumen) }} - - -
- @endforeach +
+
+ +
+
+
+ + +
+
+
+ + @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] }} + @endif + + {{ basename($dokumen) }} + + +
+ @endforeach +
+ @endif @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} ?? ''; @@ -591,33 +593,36 @@
- -
- -
-
- ${item.dokumen_jaminan ? renderExistingFiles(item.dokumen_jaminan, debiturId, item.id, item.dokumen_nomor) : ""} -
-
- - - +
+
+ +
+
+ ${item.dokumen_jaminan ? renderExistingFiles(item.dokumen_jaminan, debiturId, item.id, item.dokumen_nomor) : ""} +
+
+ + + +
-
- ${item.custom_fields && item.custom_fields.length > 0 ? item.custom_fields.map(field => ` -
- -
- ${getCustomFieldInput(field.type, field.name, item.details, item.jenis_legalitas_jaminan_id)} + ${item.custom_fields && item.custom_fields.length > 0 ? item.custom_fields.map(field => ` +
+ +
+ ${getCustomFieldInput(index, field.type, field.name, item.details, item.jenis_legalitas_jaminan_id, 0)} +
+ `).join('') : ""} + +
- `).join('') : ""}
-
-
-
- @if(isset($detail->details)) - @if(json_decode($detail->details)) - @foreach (json_decode($detail->details) as $key => $value) -
- - {{ str_replace("_"," ",$key) ?? "" }} - -

- {{ $value ?? "" }} -

-
-
-
- @endforeach - @endif + @endforeach @endif +
keterangan From 03d28479c430799aafb51ef4ed68230678d099dc Mon Sep 17 00:00:00 2001 From: Daeng Deni Mardaeni Date: Fri, 7 Mar 2025 16:50:09 +0700 Subject: [PATCH 2/5] fix(dokumen_jaminan): perbaiki pengambilan data detail dokumen - Memperbaiki logika pengambilan data 'details' pada Dokumen Jaminan. - Mengubah cara pengolahan data luas tanah dan luas bangunan untuk akurasi. - Memperbaiki tampilan data pada email dan komponen jaminan. --- .../Controllers/DokumenJaminanController.php | 2 +- .../views/component/detail-jaminan.blade.php | 179 +++++++++--------- .../debitur/components/dokumen.blade.php | 174 ++++++++++------- .../debitur/components/jaminan.blade.php | 68 ++++--- .../views/penawaran/kirimEmail.blade.php | 62 +++--- 5 files changed, 271 insertions(+), 214 deletions(-) diff --git a/app/Http/Controllers/DokumenJaminanController.php b/app/Http/Controllers/DokumenJaminanController.php index 04feb22..b552df1 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 = []; diff --git a/resources/views/component/detail-jaminan.blade.php b/resources/views/component/detail-jaminan.blade.php index edba9aa..3c5b231 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,84 +263,82 @@
@endif + +
Download Semua Dokumen - @foreach ($dokumen->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->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 -
-
- @endforeach + @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(isset($detail->details) && json_decode($detail->details)[$index]) + @foreach (json_decode($detail->details)[$index] as $key => $value) + + + + + @endforeach + @endif @endforeach + @endif + + + + + + @endforeach
- {{ $loop->index + 1 }}. {{ $detail->jenisLegalitasJaminan->name }} - - {{ $detail->name ?? '' }} -
- {{formatLabel($key)}} - - {{ $value ?? "" }} -
- Dokumen Jaminan - + @php $document = $dokumen; @endphp + @foreach($document->detail as $detail) +
+ + {{ $loop->index+1 }}. {{ $detail->jenisLegalitasJaminan->name }} + +
+ + {{ $loop->index+1 }}. Nomor : {{ $dokumen_nomor[$index] }} + + + @if(in_array(Auth::user()->roles[0]->name,['administrator','pemohon-eo'])) + + {{ basename($dokumen) }} + + @endif + + Preview + +
- Keterangan - - {{ $detail->keterangan ?? '' }} -
+ + - {{ str_replace("_"," ",$key) ?? "" }} + + +

+ {{ $value }} +

+
+ + - keterangan + + +

+ {{ $detail->keterangan }} +

+
@@ -349,6 +347,9 @@
@if (!isset($status)) + @include('lpj::component.history-permohonan') + + @endif @include('lpj::component.pdfviewer') diff --git a/resources/views/debitur/components/dokumen.blade.php b/resources/views/debitur/components/dokumen.blade.php index 3f5fb73..bb5d62a 100644 --- a/resources/views/debitur/components/dokumen.blade.php +++ b/resources/views/debitur/components/dokumen.blade.php @@ -282,50 +282,52 @@ - -
- -
-
-
- - - -
-
-
- - @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] }} - @endif - - {{ basename($dokumen) }} - - -
- @endforeach +
+
+ +
+
+
+ + +
+
+
+ + @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] }} + @endif + + {{ basename($dokumen) }} + + +
+ @endforeach +
+ @endif @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} ?? ''; @@ -504,6 +506,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 - - - - - - - - -
-

- 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') }} -
-
--}} - - -
- Cabang : {{ $permohonan->debiture->branch->name ?? '' }} -
- - - 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 +
diff --git a/resources/views/debitur/components/dokumen.blade.php b/resources/views/debitur/components/dokumen.blade.php index bb5d62a..91a9e03 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,129 +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] }} + @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) +
+
+ + + + + + {{ 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 - - {{ basename($dokumen) }} - - + @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 $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 + @endif +
+
+ +
+ @php $p_index++; @endphp @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
@@ -608,30 +663,31 @@ -
+
${item.dokumen_jaminan ? renderExistingFiles(item.dokumen_jaminan, debiturId, item.id, item.dokumen_nomor) : ""} -
-
+ +
- +
+ ${item.custom_fields && item.custom_fields.length > 0 ? item.custom_fields.map(field => ` +
+ +
+ ${getCustomFieldInput(index, field.type, field.name, item.details, item.jenis_legalitas_jaminan_id, 0)} +
+
+ `).join('') : ""}
- ${item.custom_fields && item.custom_fields.length > 0 ? item.custom_fields.map(field => ` -
- -
- ${getCustomFieldInput(index, field.type, field.name, item.details, item.jenis_legalitas_jaminan_id, 0)} -
-
- `).join('') : ""} - -
+
+ +
@@ -648,14 +704,23 @@ .catch(error => console.error("Error:", error)); } - function addFileInput(index) { + function addFileInput(index, pindex = null) { const documentContainer = document.getElementById(`document-container-${index}`); - const customFields = documentContainer.querySelectorAll('.custom-field'); - const container = documentContainer.querySelector('#document_container'); + let container = null; + const parentContainer = documentContainer.querySelector('#document_container'); + if (pindex !== null) { + + container = parentContainer.querySelector(`#document_container_${pindex}`); + } else { + container = documentContainer.querySelector('#document_container'); + } + + const customFields = container.querySelectorAll('.custom-field'); + // Get the current number of custom field sets const currentFieldSets = container.querySelectorAll('.custom-field-set').length; - const newFieldIndex = currentFieldSets+1; + const newFieldIndex = currentFieldSets + 1; const newInput = document.createElement("div"); newInput.className = "flex flex-col w-full gap-2 mb-4 custom-field-set"; @@ -677,23 +742,22 @@ newInput.innerHTML = `
-
-   -
- +
- ${customFieldsHtml} + ${customFieldsHtml} + `; - container.appendChild(newInput); + parentContainer.appendChild(newInput); } function removeFileInput(button) { - button.closest(".flex.flex-col.w-full.gap-2.mb-4").remove(); + button.closest(".custom-field-set").remove(); + } function renderExistingFiles(dokumenJaminan, debiturId, itemId, dokumenNomor) { diff --git a/resources/views/debitur/components/jaminan.blade.php b/resources/views/debitur/components/jaminan.blade.php index 28ff127..1af9f4b 100644 --- a/resources/views/debitur/components/jaminan.blade.php +++ b/resources/views/debitur/components/jaminan.blade.php @@ -110,7 +110,7 @@
@if(isset($detail->details)) - @if(json_decode($detail->details)[$index]) + @if(isset(json_decode($detail->details)[$index])) @foreach (json_decode($detail->details)[$index] as $key => $value)
From 211e44f804b5e7b408ae886d11c03f4d89e8998d Mon Sep 17 00:00:00 2001 From: Daeng Deni Mardaeni Date: Sat, 8 Mar 2025 17:52:02 +0700 Subject: [PATCH 5/5] fix(penawaran): perbaiki pengolahan luas tanah dan bangunan pada dokumen - Mengubah cara pengambilan dan penjumlahan luas tanah dan bangunan. - Memastikan nilai luas tanah dan bangunan ditampilkan dengan benar. - Mengoptimalkan pengolahan data detail dokumen untuk meningkatkan kejelasan. --- .../debitur/components/dokumen.blade.php | 2 +- .../views/penawaran/kirimEmailKJPP.blade.php | 62 ++++++++++--------- .../views/penawaran/surat_tender.blade.php | 62 ++++++++++--------- .../penawaran/surat_tender_download.blade.php | 62 ++++++++++--------- .../penawaran/surat_tender_kjpp.blade.php | 62 ++++++++++--------- .../surat_tender_kjpp_download.blade.php | 62 ++++++++++--------- 6 files changed, 171 insertions(+), 141 deletions(-) diff --git a/resources/views/debitur/components/dokumen.blade.php b/resources/views/debitur/components/dokumen.blade.php index 91a9e03..6f35db5 100644 --- a/resources/views/debitur/components/dokumen.blade.php +++ b/resources/views/debitur/components/dokumen.blade.php @@ -748,7 +748,7 @@
- ${customFieldsHtml} + ${customFieldsHtml} `; diff --git a/resources/views/penawaran/kirimEmailKJPP.blade.php b/resources/views/penawaran/kirimEmailKJPP.blade.php index 3f452b0..791212f 100644 --- a/resources/views/penawaran/kirimEmailKJPP.blade.php +++ b/resources/views/penawaran/kirimEmailKJPP.blade.php @@ -126,35 +126,41 @@ @endphp @foreach ($permohonan->documents as $document) - @foreach ($document->detail as $detail) - @php - $details = json_decode($detail->details); - @endphp + @foreach ($document->detail as $index => $detail) + @if($detail->details) + @php $luastanah = $luasbangunan = null; @endphp + @foreach (json_decode($detail->details) as $key => $value) + @foreach($value as $k => $v) + @if($k=='luas_tanah') + @php + $luastanah += preg_replace('/[^0-9.]/', '', str_replace('m2', '', $v)); + @endphp + @endif + @if($k=='luas_bangunan') + @php + $luasbangunan += preg_replace('/[^0-9.]/', '', str_replace('m2', '', $v)); + @endphp + @endif + @endforeach + @endforeach + + @if (isset($luastanah) && isset($luasbangunan)) + {{ $n }}. {{ $detail->name }}
+ Luas Tanah / Luas Bangunan: {{ $luastanah }} m2 / {{ $luasbangunan }} m2 +
+ @php $n++; @endphp + @elseif (isset($luastanah)) + {{ $n }}. {{ $detail->name }}
+ Luas Tanah : {{ $luastanah }} m2 +
+ @php $n++; @endphp + @elseif (isset($luasbangunan)) + {{ $n }}. {{ $detail->name }}
+ Luas Bangunan: {{ $luasbangunan }} m2 +
+ @php $n++; @endphp + @endif - @if (isset($details->luas_tanah) && isset($details->luas_bangunan)) - {{ $n }}. {{ $detail->name }}
- Luas Tanah / Luas Bangunan: - {{ preg_replace('/[^0-9.]/', '', str_replace('m2', '', $details->luas_tanah)) }} - m2 - / - {{ preg_replace('/[^0-9.]/', '', str_replace('m2', '', $details->luas_bangunan)) }} - m2 -
- @php $n++; @endphp - @elseif (isset($details->luas_tanah)) - {{ $n }}. {{ $detail->name }}
- Luas Tanah : - {{ preg_replace('/[^0-9.]/', '', str_replace('m2', '', $details->luas_tanah)) }} - m2 -
- @php $n++; @endphp - @elseif (isset($details->luas_bangunan)) - {{ $n }}. {{ $detail->name }}
- Luas Bangunan: - {{ preg_replace('/[^0-9.]/', '', str_replace('m2', '', $details->luas_bangunan)) }} - m2 -
- @php $n++; @endphp @endif @endforeach @endforeach diff --git a/resources/views/penawaran/surat_tender.blade.php b/resources/views/penawaran/surat_tender.blade.php index fe651cd..d7ad287 100644 --- a/resources/views/penawaran/surat_tender.blade.php +++ b/resources/views/penawaran/surat_tender.blade.php @@ -109,35 +109,41 @@ @endphp @foreach ($permohonan->documents as $document) - @foreach ($document->detail as $detail) - @php - $details = json_decode($detail->details); - @endphp + @foreach ($document->detail as $index => $detail) + @if($detail->details) + @php $luastanah = $luasbangunan = null; @endphp + @foreach (json_decode($detail->details) as $key => $value) + @foreach($value as $k => $v) + @if($k=='luas_tanah') + @php + $luastanah += preg_replace('/[^0-9.]/', '', str_replace('m2', '', $v)); + @endphp + @endif + @if($k=='luas_bangunan') + @php + $luasbangunan += preg_replace('/[^0-9.]/', '', str_replace('m2', '', $v)); + @endphp + @endif + @endforeach + @endforeach + + @if (isset($luastanah) && isset($luasbangunan)) + {{ $n }}. {{ $detail->name }}
+ Luas Tanah / Luas Bangunan: {{ $luastanah }} m2 / {{ $luasbangunan }} m2 +
+ @php $n++; @endphp + @elseif (isset($luastanah)) + {{ $n }}. {{ $detail->name }}
+ Luas Tanah : {{ $luastanah }} m2 +
+ @php $n++; @endphp + @elseif (isset($luasbangunan)) + {{ $n }}. {{ $detail->name }}
+ Luas Bangunan: {{ $luasbangunan }} m2 +
+ @php $n++; @endphp + @endif - @if (isset($details->luas_tanah) && isset($details->luas_bangunan)) - {{ $n }}. {{ $detail->name }}
- Luas Tanah / Luas Bangunan: - {{ preg_replace('/[^0-9.]/', '', str_replace('m2', '', $details->luas_tanah)) }} - m2 - / - {{ preg_replace('/[^0-9.]/', '', str_replace('m2', '', $details->luas_bangunan)) }} - m2 -
- @php $n++; @endphp - @elseif (isset($details->luas_tanah)) - {{ $n }}. {{ $detail->name }}
- Luas Tanah : - {{ preg_replace('/[^0-9.]/', '', str_replace('m2', '', $details->luas_tanah)) }} - m2 -
- @php $n++; @endphp - @elseif (isset($details->luas_bangunan)) - {{ $n }}. {{ $detail->name }}
- Luas Bangunan: - {{ preg_replace('/[^0-9.]/', '', str_replace('m2', '', $details->luas_bangunan)) }} - m2 -
- @php $n++; @endphp @endif @endforeach @endforeach diff --git a/resources/views/penawaran/surat_tender_download.blade.php b/resources/views/penawaran/surat_tender_download.blade.php index 42180b1..db007cc 100644 --- a/resources/views/penawaran/surat_tender_download.blade.php +++ b/resources/views/penawaran/surat_tender_download.blade.php @@ -124,35 +124,41 @@ @endphp @foreach ($permohonan->documents as $document) - @foreach ($document->detail as $detail) - @php - $details = json_decode($detail->details); - @endphp + @foreach ($document->detail as $index => $detail) + @if($detail->details) + @php $luastanah = $luasbangunan = null; @endphp + @foreach (json_decode($detail->details) as $key => $value) + @foreach($value as $k => $v) + @if($k=='luas_tanah') + @php + $luastanah += preg_replace('/[^0-9.]/', '', str_replace('m2', '', $v)); + @endphp + @endif + @if($k=='luas_bangunan') + @php + $luasbangunan += preg_replace('/[^0-9.]/', '', str_replace('m2', '', $v)); + @endphp + @endif + @endforeach + @endforeach + + @if (isset($luastanah) && isset($luasbangunan)) + {{ $n }}. {{ $detail->name }}
+ Luas Tanah / Luas Bangunan: {{ $luastanah }} m2 / {{ $luasbangunan }} m2 +
+ @php $n++; @endphp + @elseif (isset($luastanah)) + {{ $n }}. {{ $detail->name }}
+ Luas Tanah : {{ $luastanah }} m2 +
+ @php $n++; @endphp + @elseif (isset($luasbangunan)) + {{ $n }}. {{ $detail->name }}
+ Luas Bangunan: {{ $luasbangunan }} m2 +
+ @php $n++; @endphp + @endif - @if (isset($details->luas_tanah) && isset($details->luas_bangunan)) - {{ $n }}. {{ $detail->name }}
- Luas Tanah / Luas Bangunan: - {{ preg_replace('/[^0-9.]/', '', str_replace('m2', '', $details->luas_tanah)) }} - m2 - / - {{ preg_replace('/[^0-9.]/', '', str_replace('m2', '', $details->luas_bangunan)) }} - m2 -
- @php $n++; @endphp - @elseif (isset($details->luas_tanah)) - {{ $n }}. {{ $detail->name }}
- Luas Tanah : - {{ preg_replace('/[^0-9.]/', '', str_replace('m2', '', $details->luas_tanah)) }} - m2 -
- @php $n++; @endphp - @elseif (isset($details->luas_bangunan)) - {{ $n }}. {{ $detail->name }}
- Luas Bangunan: - {{ preg_replace('/[^0-9.]/', '', str_replace('m2', '', $details->luas_bangunan)) }} - m2 -
- @php $n++; @endphp @endif @endforeach @endforeach diff --git a/resources/views/penawaran/surat_tender_kjpp.blade.php b/resources/views/penawaran/surat_tender_kjpp.blade.php index 37e54f0..8402599 100644 --- a/resources/views/penawaran/surat_tender_kjpp.blade.php +++ b/resources/views/penawaran/surat_tender_kjpp.blade.php @@ -107,35 +107,41 @@ @endphp @foreach ($permohonan->documents as $document) - @foreach ($document->detail as $detail) - @php - $details = json_decode($detail->details); - @endphp + @foreach ($document->detail as $index => $detail) + @if($detail->details) + @php $luastanah = $luasbangunan = null; @endphp + @foreach (json_decode($detail->details) as $key => $value) + @foreach($value as $k => $v) + @if($k=='luas_tanah') + @php + $luastanah += preg_replace('/[^0-9.]/', '', str_replace('m2', '', $v)); + @endphp + @endif + @if($k=='luas_bangunan') + @php + $luasbangunan += preg_replace('/[^0-9.]/', '', str_replace('m2', '', $v)); + @endphp + @endif + @endforeach + @endforeach + + @if (isset($luastanah) && isset($luasbangunan)) + {{ $n }}. {{ $detail->name }}
+ Luas Tanah / Luas Bangunan: {{ $luastanah }} m2 / {{ $luasbangunan }} m2 +
+ @php $n++; @endphp + @elseif (isset($luastanah)) + {{ $n }}. {{ $detail->name }}
+ Luas Tanah : {{ $luastanah }} m2 +
+ @php $n++; @endphp + @elseif (isset($luasbangunan)) + {{ $n }}. {{ $detail->name }}
+ Luas Bangunan: {{ $luasbangunan }} m2 +
+ @php $n++; @endphp + @endif - @if (isset($details->luas_tanah) && isset($details->luas_bangunan)) - {{ $n }}. {{ $detail->name }}
- Luas Tanah / Luas Bangunan: - {{ preg_replace('/[^0-9.]/', '', str_replace('m2', '', $details->luas_tanah)) }} - m2 - / - {{ preg_replace('/[^0-9.]/', '', str_replace('m2', '', $details->luas_bangunan)) }} - m2 -
- @php $n++; @endphp - @elseif (isset($details->luas_tanah)) - {{ $n }}. {{ $detail->name }}
- Luas Tanah : - {{ preg_replace('/[^0-9.]/', '', str_replace('m2', '', $details->luas_tanah)) }} - m2 -
- @php $n++; @endphp - @elseif (isset($details->luas_bangunan)) - {{ $n }}. {{ $detail->name }}
- Luas Bangunan: - {{ preg_replace('/[^0-9.]/', '', str_replace('m2', '', $details->luas_bangunan)) }} - m2 -
- @php $n++; @endphp @endif @endforeach @endforeach diff --git a/resources/views/penawaran/surat_tender_kjpp_download.blade.php b/resources/views/penawaran/surat_tender_kjpp_download.blade.php index 0c14894..7bd9b0b 100644 --- a/resources/views/penawaran/surat_tender_kjpp_download.blade.php +++ b/resources/views/penawaran/surat_tender_kjpp_download.blade.php @@ -126,35 +126,41 @@ @endphp @foreach ($permohonan->documents as $document) - @foreach ($document->detail as $detail) - @php - $details = json_decode($detail->details); - @endphp + @foreach ($document->detail as $index => $detail) + @if($detail->details) + @php $luastanah = $luasbangunan = null; @endphp + @foreach (json_decode($detail->details) as $key => $value) + @foreach($value as $k => $v) + @if($k=='luas_tanah') + @php + $luastanah += preg_replace('/[^0-9.]/', '', str_replace('m2', '', $v)); + @endphp + @endif + @if($k=='luas_bangunan') + @php + $luasbangunan += preg_replace('/[^0-9.]/', '', str_replace('m2', '', $v)); + @endphp + @endif + @endforeach + @endforeach + + @if (isset($luastanah) && isset($luasbangunan)) + {{ $n }}. {{ $detail->name }}
+ Luas Tanah / Luas Bangunan: {{ $luastanah }} m2 / {{ $luasbangunan }} m2 +
+ @php $n++; @endphp + @elseif (isset($luastanah)) + {{ $n }}. {{ $detail->name }}
+ Luas Tanah : {{ $luastanah }} m2 +
+ @php $n++; @endphp + @elseif (isset($luasbangunan)) + {{ $n }}. {{ $detail->name }}
+ Luas Bangunan: {{ $luasbangunan }} m2 +
+ @php $n++; @endphp + @endif - @if (isset($details->luas_tanah) && isset($details->luas_bangunan)) - {{ $n }}. {{ $detail->name }}
- Luas Tanah / Luas Bangunan: - {{ preg_replace('/[^0-9.]/', '', str_replace('m2', '', $details->luas_tanah)) }} - m2 - / - {{ preg_replace('/[^0-9.]/', '', str_replace('m2', '', $details->luas_bangunan)) }} - m2 -
- @php $n++; @endphp - @elseif (isset($details->luas_tanah)) - {{ $n }}. {{ $detail->name }}
- Luas Tanah : - {{ preg_replace('/[^0-9.]/', '', str_replace('m2', '', $details->luas_tanah)) }} - m2 -
- @php $n++; @endphp - @elseif (isset($details->luas_bangunan)) - {{ $n }}. {{ $detail->name }}
- Luas Bangunan: - {{ preg_replace('/[^0-9.]/', '', str_replace('m2', '', $details->luas_bangunan)) }} - m2 -
- @php $n++; @endphp @endif @endforeach @endforeach