feat(lpj-module): tambah tampilan laporan inspeksi & refactor detail lokasi

Ringkasan:
- Menambahkan halaman hasil inspeksi dan tampilan cetak laporan.
- Mengekstrak komponen detail lokasi ke partial baru agar reusable.
- Menambahkan null-safe access dan perbaikan binding data di view.
- Merapikan tombol cetak dan navigasi agar konsisten antar halaman.

Perubahan utama:
1. activitydetail.blade.php → ubah tombol print jadi route, tambah null-safe user/branch.
2. detail-lokasi.blade.php (baru) → komponen reusable untuk detail lokasi dengan formatLabel & tanggal.
3. form-penilai.blade.php → refactor luas menggunakan match, hapus fungsi debug & Swal loading.
4. print-out-dokument.blade.php → gunakan partial lpj::component.detail-lokasi untuk detail lokasi.
5. show-laporan-inspeksi.blade.php (baru) → tab 'Laporan' & 'Hasil Inspeksi' + tombol cetak dan back.
6. print-out-sederhana / print-out-standar → penyesuaian tampilan & binding data.
7. signature-approval.blade.php → perbaikan layout area tanda tangan.
8. surveyor/components/* → normalisasi tampilan, validasi gambar, dan penyelarasan fakta/lingkungan.
9. routes/web.php → tambah dan ubah rute untuk laporan inspeksi dan cetak laporan.

Catatan:
- Tidak ada perubahan query database; semua modifikasi bersifat tampilan.
- Logging tambahan untuk observabilitas proses render laporan.
This commit is contained in:
Daeng Deni Mardaeni
2025-11-09 21:19:58 +07:00
parent 535be2cff3
commit 0d5b6b1529
31 changed files with 2193 additions and 1865 deletions

View File

@@ -1,13 +1,10 @@
<div class="no-break" >
<table style="width: 100%; border: 1px solid #000; border-collapse: collapse;">
<tr>
<td style="text-align: center; margin-top: 5px;">
<h2 style=" text-transform: uppercase; text-align: center; margin: 0;">
ANalisa Fakta
Analisa Fakta
</h2>
</td>
</tr>
</table>
@@ -28,6 +25,7 @@
@endisset
</td>
</tr>
<tr>
<td width="20%" style="vertical-align: top;">Faktor Negatif</td>
<td width="1%" style="vertical-align: top;">:</td>
@@ -55,64 +53,63 @@
</td>
</tr>
<tr>
<td width="20%" style="vertical-align: top;">Rute Munuju</td>
<td width="1%" style="vertical-align: top;">:</td>
<td style="vertical-align: top;">
<p>{{ $forminspeksi['fakta']['rute_menuju'] ?? '' }}</p>
</td>
</tr>
@if (!empty($forminspeksi['fakta']['rute_menuju']))
<tr>
<td width="20%" style="vertical-align: top;">Rute Munuju</td>
<td width="1%" style="vertical-align: top;">:</td>
<td style="vertical-align: top;">
<p>{{ $forminspeksi['fakta']['rute_menuju'] ?? '' }}</p>
</td>
</tr>
@endif
<tr>
<td width="20%" style="vertical-align: top;">Batas Batas </td>
<td width="1%" style="vertical-align: top;">:</td>
<td style="vertical-align: top;">
@foreach ($forminspeksi['fakta']['batas_batas_input'] ?? [] as $arah => $batas)
@if ($batas)
@if (!empty($forminspeksi['fakta']['batas_batas_input']))
<tr>
<td width="20%" style="vertical-align: top;">Batas Batas </td>
<td width="1%" style="vertical-align: top;">:</td>
<td style="vertical-align: top;">
@foreach (array_filter($forminspeksi['fakta']['batas_batas_input'] ?? []) as $arah => $batas)
<p> - {{ $arah }} : {{ $batas }}</p>
@endif
@endforeach
</td>
</tr>
<tr>
<td width="20%" style="vertical-align: top;">Kondisi lain terkait lingkungan </td>
<td width="1%" style="vertical-align: top;">:</td>
<td style="vertical-align: top;">
@foreach ($forminspeksi['fakta']['kondisi_lingkungan'] ?? [] as $kondisi)
<p>{!! nl2br(e($kondisi)) !!}</p>
@endforeach
</td>
</tr>
<tr>
<td width="20%" style="vertical-align: top;">Kondisi lain terkait Bangunan </td>
<td width="1%" style="vertical-align: top;">:</td>
<td style="vertical-align: top;">
@foreach ($forminspeksi['fakta']['kondisi_lain_bangunan'] ?? [] as $kondisiLain)
<p>{!! nl2br(e($kondisiLain)) !!}</p>
@endforeach
</td>
</tr>
<tr>
<td width="20%" style="vertical-align: top;">Informasi Terkait Dokumen </td>
<td width="1%" style="vertical-align: top;">:</td>
<td style="vertical-align: top;">
@foreach ($forminspeksi['fakta']['informasi_dokument'] ?? [] as $informasi)
<p>{!! nl2br(e($informasi)) !!}</p>
@endforeach
</td>
</tr>
@endforeach
</td>
</tr>
@endif
@if (!empty($forminspeksi['fakta']['kondisi_lingkungan']))
<tr>
<td width="20%" style="vertical-align: top;">Kondisi lain terkait lingkungan </td>
<td width="1%" style="vertical-align: top;">:</td>
<td style="vertical-align: top;">
@foreach ($forminspeksi['fakta']['kondisi_lingkungan'] ?? [] as $kondisi)
<p>{!! nl2br(e($kondisi)) !!}</p>
@endforeach
</td>
</tr>
@endif
@if (!empty($forminspeksi['fakta']['kondisi_lain_bangunan']))
<tr>
<td width="20%" style="vertical-align: top;">Kondisi lain terkait Bangunan </td>
<td width="1%" style="vertical-align: top;">:</td>
<td style="vertical-align: top;">
@foreach ($forminspeksi['fakta']['kondisi_lain_bangunan'] ?? [] as $kondisiLain)
<p>{!! nl2br(e($kondisiLain)) !!}</p>
@endforeach
</td>
</tr>
@endif
@if (!empty($forminspeksi['fakta']['informasi_dokument']))
<tr>
<td width="20%" style="vertical-align: top;">Informasi Terkait Dokumen </td>
<td width="1%" style="vertical-align: top;">:</td>
<td style="vertical-align: top;">
@foreach ($forminspeksi['fakta']['informasi_dokument'] ?? [] as $informasi)
<p>{!! nl2br(e($informasi)) !!}</p>
@endforeach
</td>
</tr>
@endif
</table>
</div>

View File

@@ -1,103 +1,99 @@
<div class="no-break" >
<table
style="width: 100%; border: 1px solid #000; border-collapse: collapse; ">
<tr>
<td style="text-align: center; margin-top: 5px;">
<h2 style="text-transform: uppercase; text-align: center; margin: 0;">Informasi Dinas Tata Ruang</h2>
</td>
</tr>
</table>
<table>
@php
use Illuminate\Support\Facades\Storage;
// Daftar kunci informasi dan tipe foto yang akan ditampilkan
$informasi = [
'peruntukan', 'kdb', 'kdh', 'gsb', 'max_lantai', 'klb', 'gss', 'pelebaran_jalan', 'nama_petugas',
];
<tr>
<td width="20%" style="vertical-align: top;">Informasi Dinas Tata Ruang </td>
<td width="1%" style="vertical-align: top;">:</td>
<td style="vertical-align: top;">
@php
$informasi = [
'peruntukan',
'kdb',
'kdh',
'gsb',
'max_lantai',
'klb',
'gss',
'pelebaran_jalan',
'nama_petugas',
];
@endphp
$fotoTypes = [
'upload_gs', 'foto_sentuh_tanahku', 'foto_gistaru', 'foto_bhumi', 'foto_argis_region', 'foto_tempat',
];
@foreach ($informasi as $key)
@if (isset($forminspeksi['fakta'][$key]) && $forminspeksi['fakta'][$key] !== '-')
@php
$displayKey = ucfirst(str_replace('_', ' ', $key));
if (strlen($key) == 3) {
$displayKey = strtoupper($key);
}
@endphp
<p> - {{ $displayKey }}: {{ $forminspeksi['fakta'][$key] }}</p>
@endif
@endforeach
</td>
</tr>
$customLabels = [
'upload_gs' => 'Gambar Situasi',
'foto_sentuh_tanahku' => 'Sentuh Tanahku',
'foto_gistaru' => 'Gistaru',
'foto_bhumi' => 'Bhumi',
'foto_argis_region' => 'Blad Tata Ruang',
'foto_tempat' => 'Peta Lokasi',
];
@php
$fotoTypes = [
'upload_gs',
'foto_sentuh_tanahku',
'foto_gistaru',
'foto_bhumi',
'foto_argis_region',
'foto_tempat',
];
// Periksa apakah ada informasi dinas tata ruang yang valid
$hasInformasi = collect($informasi)->some(fn ($key) => isset($forminspeksi['fakta'][$key]) && $forminspeksi['fakta'][$key] !== '-');
$customLabels = [
'upload_gs' => 'Gambar Situasi',
'foto_sentuh_tanahku' => 'Sentuh Tanahku',
'foto_gistaru' => 'Gistaru',
'foto_bhumi' => 'Bhumi',
'foto_argis_region' => 'Blad Tata Ruang ',
'foto_tempat' => 'Peta Lokasi',
];
// Memindahkan foto_tempat ke depan jika ada
if (($key = array_search('upload_gs', $fotoTypes)) !== false) {
unset($fotoTypes[$key]);
array_unshift($fotoTypes, 'upload_gs');
}
// Filter fotoTypes untuk memastikan hanya yang memiliki imagePath valid
$validPhotoTypes = array_filter($fotoTypes, function ($type) use ($forminspeksi) {
return isset($forminspeksi[$type]) && !empty($forminspeksi[$type]) && is_string($forminspeksi[$type]);
});
@endphp
@foreach ($validPhotoTypes as $type)
@php
$imagePath = $forminspeksi[$type] ?? null;
$imageUrl = is_string($imagePath) ? asset('storage/' . $imagePath) : null;
// Periksa apakah ada foto yang valid (menggunakan Storage disk public)
$hasValidPhotos = collect($fotoTypes)->some(function ($type) use ($forminspeksi) {
$imagePath = $forminspeksi[$type] ?? null;
return is_string($imagePath) && Storage::disk('public')->exists($imagePath);
});
@endphp
@if ($imagePath && file_exists(storage_path('app/public/' . $imagePath)))
// Siapkan catatan sebagai array, kemudian periksa apakah ada catatan yang perlu diperhatikan
$notes = (array) ($forminspeksi['fakta']['keterangan'] ?? []);
$hasNotes = count($notes) > 0;
// Log render status untuk debugging
\Log::info('Render print-out informasi tata ruang', [
'hasInformasi' => $hasInformasi,
'hasValidPhotos' => $hasValidPhotos,
'hasNotes' => $hasNotes,
]);
@endphp
@if ($hasInformasi || $hasValidPhotos || $hasNotes)
<div class="no-break">
<table style="width: 100%; border: 1px solid #000; border-collapse: collapse;">
<tr>
<td style="text-align: center; margin-top: 5px;">
<h2 style="text-transform: uppercase; text-align: center; margin: 0;">Informasi Dinas Tata Ruang</h2>
</td>
</tr>
</table>
<table>
@if ($hasInformasi)
<tr>
<td style="20%"> {{ $customLabels[$type] ?? '' }}</td>
<td width="1%" style="vertical-align: top;"></td>
<td style="width: 79%">
<img src="{{ storage_path('app/public/' . $imagePath) }}" alt="{{ $imageUrl }}"
style="max-height: 400px; height: auto; max-width: 100%;">
<td width="20%" style="vertical-align: top;">Informasi Dinas Tata Ruang</td>
<td width="1%" style="vertical-align: top;">:</td>
<td style="vertical-align: top;">
@foreach ($informasi as $key)
@if (($val = $forminspeksi['fakta'][$key] ?? null) && $val !== '-')
<p>- {{ strlen($key) === 3 ? strtoupper($key) : ucfirst(str_replace('_', ' ', $key)) }}: {{ $val }}</p>
@endif
@endforeach
</td>
</tr>
@endif
@endforeach
<tr>
<td width="20%" style="vertical-align: top;">Catatan yang Perlu Diperhatikan </td>
<td width="1%" style="vertical-align: top;">:</td>
<td style="vertical-align: top;">
@foreach ($forminspeksi['fakta']['keterangan'] ?? [] as $informasi)
<p>{!! nl2br(e($informasi)) !!}</p>
@if ($hasValidPhotos)
@foreach ($fotoTypes as $type)
@php
$imagePath = $forminspeksi[$type] ?? null;
@endphp
@if (is_string($imagePath) && Storage::disk('public')->exists($imagePath))
<tr>
<td width="20%" style="vertical-align: top;">{{ $customLabels[$type] ?? '' }}</td>
<td width="1%" style="vertical-align: top;"></td>
<td style="width: 79%">
<img src="{{ asset('storage/' . $imagePath) }}" alt="{{ $customLabels[$type] ?? '' }}"
style="max-height: 400px; height: auto; max-width: 100%;">
</td>
</tr>
@endif
@endforeach
@endif
</td>
</tr>
</table>
</div>
@if ($hasNotes)
<tr>
<td width="20%" style="vertical-align: top;">Catatan yang Perlu Diperhatikan</td>
<td width="1%" style="vertical-align: top;">:</td>
<td style="vertical-align: top;">
@foreach ($notes as $note)
<p>{!! nl2br(e($note)) !!}</p>
@endforeach
</td>
</tr>
@endif
</table>
</div>
@endif

View File

@@ -1,6 +1,5 @@
<div class="no-break">
<table style="width: 100%; border: 1px solid #000; border-collapse: collapse; ">
<tr>
<td style="text-align: center; margin-top: 5px;">
<h2 style=" text-transform: uppercase; text-align: center; margin: 0;">
@@ -38,27 +37,26 @@
<tr>
@foreach ($basicData['perkerasanJalan'] as $index => $item)
@if ($index % 3 == 0 && $index > 0)
</tr><tr>
@endif
<td class="checkbox-item">
<label class="checkbox-label">
<input type="checkbox"
@checked(isset($forminspeksi['lingkungan']['perkerasan_jalan']['perkerasan_jalan']) &&
in_array($item->name, $forminspeksi['lingkungan']['perkerasan_jalan']['perkerasan_jalan']))
>
{{ $item->name }}
@if ($item->name == 'Lainnya' && !empty($forminspeksi['lingkungan']['perkerasan_jalan']['lainnya']))
({{ $forminspeksi['lingkungan']['perkerasan_jalan']['lainnya'] }})
@endif
</label>
</td>
@endforeach
</tr>
<tr>
</table>
@endif
<td class="checkbox-item">
<label class="checkbox-label">
<input type="checkbox"
{{ isset($forminspeksi['lingkungan']['perkerasan_jalan']['perkerasan_jalan']) && in_array($item->name, $forminspeksi['lingkungan']['perkerasan_jalan']['perkerasan_jalan']) ? 'checked' : '' }}>
{{ $item->name }}
@if ($item->name == 'Lainnya')
{{ isset($forminspeksi['lingkungan']['perkerasan_jalan']['lainnya']) ? ' (' . $forminspeksi['lingkungan']['perkerasan_jalan']['lainnya'] . ')' : '' }}
@endif
</label>
</td>
@endforeach
</tr>
</table>
@endif
</td>
</tr>
<tr>
<td style="vertical-align: top;">Lalu Lintas Depan Lokasi</td>
@@ -69,245 +67,242 @@
<tr>
@foreach ($basicData['laluLintasLokasi'] as $index => $item)
@if ($index % 3 == 0 && $index > 0)
</tr><tr>
@endif
<td class="checkbox-item">
<label class="checkbox-label">
<input type="checkbox"
@checked(isset($forminspeksi['lingkungan']['lalu_lintas'])
&& is_array($forminspeksi['lingkungan']['lalu_lintas'])
&& in_array($item->name, $forminspeksi['lingkungan']['lalu_lintas']))
>
{{ $item->name }}
</label>
</td>
@endforeach
</tr>
<tr>
</table>
@endif
</td>
</tr>
<tr>
<td style="vertical-align: top;">Golongan Masyarakat Sekitar</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>
@if (isset($basicData['golMasySekitar']))
<table class="checkbox-list">
<tr>
@foreach ($basicData['golMasySekitar'] as $index => $item)
@if ($index % 3 == 0 && $index > 0)
</tr><tr>
@endif
<td class="checkbox-item">
<label class="checkbox-label">
<input type="checkbox"
@checked(isset($forminspeksi['lingkungan']['gol_mas_sekitar'])
&& is_array($forminspeksi['lingkungan']['gol_mas_sekitar'])
&& in_array($item->name, $forminspeksi['lingkungan']['gol_mas_sekitar']))
>
{{ $item->name }}
</label>
</td>
@endforeach
</tr>
</table>
@endif
</td>
</tr>
<tr>
<td style="vertical-align: top;">Tingkat Keramaian</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>
@if (isset($basicData['tingkatKeramaian']))
<table class="checkbox-list">
<tr>
@foreach ($basicData['tingkatKeramaian'] as $index => $item)
@if ($index % 3 == 0 && $index > 0)
</tr><tr>
@endif
<td class="checkbox-item">
<label class="checkbox-label">
<input type="checkbox"
@checked(isset($forminspeksi['lingkungan']['tingkat_keramaian']) &&
is_array($forminspeksi['lingkungan']['tingkat_keramaian']) &&
in_array($item->name, $forminspeksi['lingkungan']['tingkat_keramaian']))
>
{{ $item->name }}
</label>
</td>
@endforeach
</tr>
</table>
@endif
</td>
</tr>
<tr>
<td style="vertical-align: top;">Terletak Di Area</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>
@if (isset($basicData['terletakDiArea']))
<table class="checkbox-list">
<tr>
@foreach ($basicData['terletakDiArea'] as $index => $item)
@if ($index % 3 == 0 && $index > 0)
</tr><tr>
@endif
<td class="checkbox-item">
<label class="checkbox-label">
<input type="checkbox"
@checked(isset($forminspeksi['lingkungan']['terletak_diarea']['terletak_diarea']) &&
in_array($item->name, $forminspeksi['lingkungan']['terletak_diarea']['terletak_diarea'] ?? []))
>
{{ $item->name }}
@if ($item->name == 'Lainnya' && !empty($forminspeksi['lingkungan']['terletak_diarea']['lainnya']))
({{ $forminspeksi['lingkungan']['terletak_diarea']['lainnya'] }})
@endif
</label>
</td>
@endforeach
</tr>
</table>
@endif
</td>
</tr>
<tr>
<td style="vertical-align: top;">Disekitar Lokasi</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>
<div class="checkbox-item">
<label class="checkbox-label">
<input type="radio" name="disekitar_lokasi" value="Telah ada bangunan"
{{ ($forminspeksi['lingkungan']['disekitar_lokasi'] ?? '') == 'ya' ? 'checked' : '' }}>
Telah ada bangunan
@if (($forminspeksi['lingkungan']['disekitar_lokasi'] ?? '') == 'ya')
- Kondisi Bangunan:
{{ $forminspeksi['lingkungan']['kondisi_bagunan_disekitar_lokasi'] ?? '' }}
, Sifat Bangunan:
{{ $forminspeksi['lingkungan']['sifat_bagunan_disekitar_lokasi'] ?? '' }}
@endif
</label>
<label class="checkbox-label">
<input type="radio" name="disekitar_lokasi" value="Belum ada bangunan"
{{ ($forminspeksi['lingkungan']['disekitar_lokasi'] ?? '') == 'tidak' ? 'checked' : '' }}>
Belum ada bangunan
</label>
</div>
</td>
</tr>
<tr>
<td style="vertical-align: top;">Dekat Makam</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>
<div class="checkbox-item">
<label class="checkbox-label">
<input type="radio" name="disekitar_lokasi" value="ya"
{{ ($forminspeksi['lingkungan']['dekat_makam'] ?? '') == 'ya' ? 'checked' : '' }}>
Ya
@if (($forminspeksi['lingkungan']['dekat_makam'] ?? '') == 'ya')
- Nama Makam: {{ $forminspeksi['lingkungan']['nama_makam'] ?? '' }}
, Jarak Makam: {{ $forminspeksi['lingkungan']['jarak_makam'] ?? '' }}
@endif
</label>
<label class="checkbox-label">
<input type="radio" name="disekitar_lokasi" value="tidak"
{{ ($forminspeksi['lingkungan']['dekat_makam'] ?? '') == 'tidak' ? 'checked' : '' }}>
Tidak
</label>
</div>
</td>
</tr>
<tr>
<td style="vertical-align: top;">Dekat TPS</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>
<div class="checkbox-item">
<label class="checkbox-label">
<input type="radio" name="disekitar_lokasi" value="ya"
{{ ($forminspeksi['lingkungan']['dekat_tps'] ?? '') == 'ya' ? 'checked' : '' }}>
Ya
@if (($forminspeksi['lingkungan']['dekat_tps'] ?? '') == 'ya')
- Nama TPS:
{{ $forminspeksi['lingkungan']['nama_tps'] ?? '' }}
, Jarak TPS:
{{ $forminspeksi['lingkungan']['jarak_tps'] ?? '' }}
@endif
</label>
<label class="checkbox-label">
<input type="radio" name="disekitar_lokasi" value="tidak"
{{ ($forminspeksi['lingkungan']['dekat_tps'] ?? '') == 'tidak' ? 'checked' : '' }}>
Tidak
</label>
</div>
</td>
</tr>
<tr>
<td style="vertical-align: top;">Dekat Lainnya</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>{{ $forminspeksi['lingkungan']['dekat_lainnya'] ?? '' }}</td>
</tr>
<tr>
<td style="vertical-align: top;">Merupakan Daerah</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>
@if (isset($basicData['merupakanDaerah']))
<table class="checkbox-list">
<tr>
@foreach ($basicData['merupakanDaerah'] as $index => $item)
@if ($index % 3 == 0 && $index > 0)
</tr><tr>
@endif
<td class="checkbox-item">
<label class="checkbox-label">
<input type="checkbox"
@checked(isset($forminspeksi['lingkungan']['merupakan_daerah']) &&
in_array($item->name, $forminspeksi['lingkungan']['merupakan_daerah']))
>
{{ $item->name }}
</label>
</td>
@endforeach
</tr>
</table>
@endif
</td>
</tr>
<tr>
<td style="vertical-align: top;">Fasilitas Umum Dekat Lokasi</td>
<td width="1%" style="vertical-align: top;">:</td>
<td style="vertical-align: top;">
@if (isset($basicData['fasilitasObjek']))
<table class="checkbox-list">
<tr>
@foreach ($basicData['fasilitasObjek'] as $index => $item)
@if ($index % 3 == 0 && $index > 0)
</tr><tr>
@endif
<td class="checkbox-item">
<label class="checkbox-label">
<input type="checkbox"
@checked(isset($forminspeksi['lingkungan']['fasilitas_dekat_object_input'][$item->name]) &&
$forminspeksi['lingkungan']['fasilitas_dekat_object_input'][$item->name]))
>
{{ $item->name }}
@if (!empty($forminspeksi['lingkungan']['fasilitas_dekat_object_input'][$item->name]))
({{ $forminspeksi['lingkungan']['fasilitas_dekat_object_input'][$item->name] }})
@endif
</label>
</td>
@endforeach
</tr>
</table>
@endif
<td class="checkbox-item">
<label class="checkbox-label">
<input type="checkbox"
{{ isset($forminspeksi['lingkungan']['lalu_lintas']) && in_array($item->name, $forminspeksi['lingkungan']['lalu_lintas']) ? 'checked' : '' }}>
{{ $item->name }}
</label>
</td>
@endforeach
</tr>
</table>
@endif
</td>
</tr>
<tr>
<td style="vertical-align: top;">Golongan Masyarakat Sekitar</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>
@if (isset($basicData['golMasySekitar']))
<table class="checkbox-list">
<tr>
@foreach ($basicData['golMasySekitar'] as $index => $item)
@if ($index % 3 == 0 && $index > 0)
</tr>
<tr>
@endif
<td class="checkbox-item">
<label class="checkbox-label">
<input type="checkbox"
{{ isset($forminspeksi['lingkungan']['gol_mas_sekitar']) && in_array($item->name, $forminspeksi['lingkungan']['gol_mas_sekitar']) ? 'checked' : '' }}>
{{ $item->name }}
</label>
</td>
@endforeach
</tr>
</table>
@endif
</td>
</tr>
<tr>
<td style="vertical-align: top;">Tingkat Keramaian</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>
@if (isset($basicData['tingkatKeramaian']))
<table class="checkbox-list">
<tr>
@foreach ($basicData['tingkatKeramaian'] as $index => $item)
@if ($index % 3 == 0 && $index > 0)
</tr>
<tr>
@endif
<td class="checkbox-item">
<label class="checkbox-label">
<input type="checkbox"
{{ isset($forminspeksi['lingkungan']['tingkat_keramaian']) && in_array($item->name, $forminspeksi['lingkungan']['tingkat_keramaian']) ? 'checked' : '' }}>
{{ $item->name }}
</label>
</td>
@endforeach
</tr>
</table>
@endif
</td>
</tr>
<tr>
<td style="vertical-align: top;">Terletak Di Area</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>
@if (isset($basicData['terletakDiArea']))
<table class="checkbox-list">
<tr>
@foreach ($basicData['terletakDiArea'] as $index => $item)
@if ($index % 3 == 0 && $index > 0)
</tr>
<tr>
@endif
<td class="checkbox-item">
<label class="checkbox-label">
<input type="checkbox"
{{ isset($forminspeksi['lingkungan']['terletak_diarea']['terletak_diarea']) && in_array($item->name, $forminspeksi['lingkungan']['terletak_diarea']['terletak_diarea'] ?? '') ? 'checked' : '' }}>
{{ $item->name }}
@if ($item->name == 'Lainnya')
{{ isset($forminspeksi['lingkungan']['terletak_diarea']['lainnya']) ? ' (' . $forminspeksi['lingkungan']['terletak_diarea']['lainnya'] . ')' : '' }}
@endif
</label>
</td>
@endforeach
</tr>
</table>
@endif
</td>
</tr>
<tr>
<td style="vertical-align: top;">Disekitar Lokasi</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>
<div class="checkbox-item">
<label class="checkbox-label">
<input type="radio" name="disekitar_lokasi" value="Telah ada bangunan"
{{ ($forminspeksi['lingkungan']['disekitar_lokasi'] ?? '') == 'ya' ? 'checked' : '' }}>
Telah ada bangunan
@if (($forminspeksi['lingkungan']['disekitar_lokasi'] ?? '') == 'ya')
- Kondisi Bangunan:
{{ $forminspeksi['lingkungan']['kondisi_bagunan_disekitar_lokasi'] ?? '' }}
, Sifat Bangunan:
{{ $forminspeksi['lingkungan']['sifat_bagunan_disekitar_lokasi'] ?? '' }}
@endif
</label>
<label class="checkbox-label">
<input type="radio" name="disekitar_lokasi" value="Belum ada bangunan"
{{ ($forminspeksi['lingkungan']['disekitar_lokasi'] ?? '') == 'tidak' ? 'checked' : '' }}>
Belum ada bangunan
</label>
</div>
</td>
</tr>
<tr>
<td style="vertical-align: top;">Dekat Makam</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>
<div class="checkbox-item">
<label class="checkbox-label">
<input type="radio" name="disekitar_lokasi" value="ya"
{{ ($forminspeksi['lingkungan']['dekat_makam'] ?? '') == 'ya' ? 'checked' : '' }}>
Ya
@if (($forminspeksi['lingkungan']['dekat_makam'] ?? '') == 'ya')
- Nama Makam:
{{ $forminspeksi['lingkungan']['nama_makam'] ?? '' }}
, Jarak Makam:
{{ $forminspeksi['lingkungan']['jarak_makam'] ?? '' }}
@endif
</label>
<label class="checkbox-label">
<input type="radio" name="disekitar_lokasi" value="tidak"
{{ ($forminspeksi['lingkungan']['dekat_makam'] ?? '') == 'tidak' ? 'checked' : '' }}>
Tidak
</label>
</div>
</td>
</tr>
<tr>
<td style="vertical-align: top;">Dekat TPS</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>
<div class="checkbox-item">
<label class="checkbox-label">
<input type="radio" name="disekitar_lokasi" value="ya"
{{ ($forminspeksi['lingkungan']['dekat_tps'] ?? '') == 'ya' ? 'checked' : '' }}>
Ya
@if (($forminspeksi['lingkungan']['dekat_tps'] ?? '') == 'ya')
- Nama TPS:
{{ $forminspeksi['lingkungan']['nama_tps'] ?? '' }}
, Jarak TPS:
{{ $forminspeksi['lingkungan']['jarak_tps'] ?? '' }}
@endif
</label>
<label class="checkbox-label">
<input type="radio" name="disekitar_lokasi" value="tidak"
{{ ($forminspeksi['lingkungan']['dekat_tps'] ?? '') == 'tidak' ? 'checked' : '' }}>
Tidak
</label>
</div>
</td>
</tr>
<tr>
<td style="vertical-align: top;">Dekat Lainnya</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>{{ $forminspeksi['lingkungan']['dekat_lainnya'] ?? '' }}</td>
</tr>
<tr>
<td style="vertical-align: top;">Merupakan Daerah</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>
@if (isset($basicData['merupakanDaerah']))
<table class="checkbox-list">
<tr>
@foreach ($basicData['merupakanDaerah'] as $index => $item)
@if ($index % 3 == 0 && $index > 0)
</tr>
<tr>
@endif
<td class="checkbox-item">
<label class="checkbox-label">
<input type="checkbox"
{{ isset($forminspeksi['lingkungan']['merupakan_daerah']) && in_array($item->name, $forminspeksi['lingkungan']['merupakan_daerah']) ? 'checked' : '' }}>
{{ $item->name }}
</label>
</td>
@endforeach
</tr>
</table>
@endif
</td>
</tr>
<tr>
<td style="vertical-align: top;">Fasilitas Umum Dekat Lokasi</td>
<td width="1%" style="vertical-align: top;">:</td>
<td style="vertical-align: top;">
@if (isset($basicData['fasilitasObjek']))
<table class="checkbox-list">
<tr>
@foreach ($basicData['fasilitasObjek'] as $index => $item)
@if ($index % 3 == 0 && $index > 0)
</tr>
<tr>
@endif
<td class="checkbox-item">
<label class="checkbox-label">
<input type="checkbox"
{{ isset($forminspeksi['lingkungan']['fasilitas_dekat_object']) && $forminspeksi['lingkungan']['fasilitas_dekat_object_input'][$item->name] ? 'checked' : '' }}>
{{ $item->name}} {{isset($forminspeksi['lingkungan']['fasilitas_dekat_object_input'][$item->name]) ? '('. $forminspeksi['lingkungan']['fasilitas_dekat_object_input'][$item->name] .')' : ''}}
</label>
</td>
@endforeach
</tr>
</table>
@endif
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>

View File

@@ -148,11 +148,9 @@
td, th {
border: 1px solid #000;
}
}
</style>
</head>
@php
@@ -167,14 +165,14 @@
$senior_officer = null;
if ($permohonan->debiture && $permohonan->documents) {
foreach ($permohonan->documents as $dokumen) {
$penilai = $permohonan->penilaian->userPenilai->where('role', 'penilai')->first();
$penilai = $permohonan->penilaian->userPenilai->where('role', 'penilai')->first();
$surveyor = $permohonan->penilaian->userPenilai->where('role', 'surveyor')->first();
$teams = $permohonan->region->teams;
$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;
@@ -189,8 +187,8 @@
}
}
}
use Modules\Usermanagement\Models\User;
$surveyorUser = User::where('id', $surveyor->userPenilaiTeam->id)->first();
$surveyorUser = getUser($surveyor->userPenilaiTeam->id);
@endphp
<body style="width: 90%; margin: auto">
@@ -218,11 +216,11 @@
<div style="text-align: center; text-transform: uppercase; font-weight: bold;">
<h1 style="font-size: 14px;">
FORM INSPEKSI {{ $data ?? '' }}
</h1></div>
<div >
<table
style="width: 100%; border: 1px solid #000; border-collapse: collapse; ">
</h1>
</div>
<div>
<table style="width: 100%; border: 1px solid #000; border-collapse: collapse;">
<tr>
<td style="text-align: center; margin-top: 5px; ">
<h2 style=" text-transform: uppercase; text-align: center; margin: 0;">
@@ -254,11 +252,12 @@
<td style="width: 25%; padding: 2px; vertical-align: top;">Debitur/Perwakilan</td>
<td style="width: 1%; padding: 2px; vertical-align: top;">:</td>
<td style="vertical-align: top; padding: 2px;">
@if (isset($forminspeksi['asset']['debitur_perwakilan']) && !empty($forminspeksi['asset']['debitur_perwakilan']))
@foreach ($forminspeksi['asset']['debitur_perwakilan'] as $key => $item)
<p style="margin: 0; padding:0;">
{{ $item }}
</p>
@php
$debitur = $forminspeksi['asset']['debitur_perwakilan'] ?? null;
@endphp
@if ($debitur)
@foreach (is_array($debitur) ? $debitur : [$debitur] as $item)
<p style="margin:0;padding:0;">{{ $item }}</p>
@endforeach
@endif
</td>
@@ -280,7 +279,7 @@
<td style="width: 25%; padding: 2px; vertical-align: top;">Pihak Bank</td>
<td style="width: 1%; vertical-align: top;">:</td>
<td style="vertical-align: top; vertical-align: top;">
{{ isset($forminspeksi['asset']['pihak_bank']) ? $forminspeksi['asset']['pihak_bank'] : '' }}
{{ $forminspeksi['asset']['pihak_bank'] ?? '' }}
</td>
</tr>
</table>
@@ -319,16 +318,13 @@
</tr>
</table>
<table style="width: 100%">
<tr>
<tr>ß
@php
$statusKey = isset($forminspeksi['asset']['jenis_asset']['sesuai']) ? 'sesuai' : 'tidak sesuai';
$selectedData = $forminspeksi['asset']['jenis_asset'][$statusKey] ?? null;
$lainnya = isset($forminspeksi['asset']['jenis_asset']['Lainnya'])
? $forminspeksi['asset']['jenis_asset']['Lainnya']
: null;
$jenisAsset = $forminspeksi['asset']['jenis_asset'] ?? [];
$selectedData = $jenisAsset['sesuai'] ?? $jenisAsset['tidak sesuai'] ?? null;
$lainnya = $jenisAsset['Lainnya'] ?? null;
@endphp
<td width="25%" style="padding: 2px; vertical-align: top;">Jenis Aset</td>
<td width="1%" style=" vertical-align: top;">:</td>
<td style="vertical-align: top; width: %;">
@@ -340,35 +336,31 @@
<td style="width: 25%; padding: 2px; vertical-align: top;">Alamat</td>
<td style="width: 1%; vertical-align: top;">:</td>
<td style="vertical-align: top;">
<table style="margin: 0">
<tr>
<td width="25%">Terletak di</td>
<td> {{ $alamat['address'] ?? '' }}</td>
</tr>
<tr>
<td>Kelurahan</td>
<td>{{ $alamat['village_code'] ?? '' }}</td>
</tr>
<tr>
<td>Kecamatan</td>
<td>{{ $alamat['district_code'] ?? '' }}</td>
</tr>
<tr>
<td>Kotamadya</td>
<td> {{ $alamat['city_code'] ?? '' }}</td>
</tr>
<tr>
<td>Propinsi</td>
<td>{{ $alamat['province_code'] ?? '' }}</td>
</tr>
</table>
@if ($permohonan->is_mig == 1 && $dokumen)
<table style="margin: 0">
@foreach ($dokumen->detail as $detail)
@if ($detail->name && $detail->details && $detail->dokumen_jaminan)
<tr><td width="25%"><strong>{{ $detail->name }}</strong></td></tr>
@endif
@if ($detail->name == 'LOKASI JAMINAN' && $detail->details)
@include('lpj::component.detail-lokasi', ['details' => json_decode($detail->details, true)])
@endif
@endforeach
</table>
@else
<table style="margin: 0">
<tr><td width="25%">Terletak di</td><td>{{ $alamat['address'] ?? '' }}</td></tr>
<tr><td>Kelurahan</td><td>{{ $alamat['village_code'] ?? '' }}</td></tr>
<tr><td>Kecamatan</td><td>{{ $alamat['district_code'] ?? '' }}</td></tr>
<tr><td>Kotamadya</td><td>{{ $alamat['city_code'] ?? '' }}</td></tr>
<tr><td>Propinsi</td><td>{{ $alamat['province_code'] ?? '' }}</td></tr>
</table>
@endif
</td>
</tr>
</table>
<table
style="width: 100%; border: 1px solid #000; border-collapse: collapse; ">
<table style="width: 100%; border: 1px solid #000; border-collapse: collapse; ">
<tr>
<td style="text-align: center; margin-top: 5px; ">
<h2 style=" text-transform: uppercase; text-align: center; margin: 0;">
@@ -383,16 +375,15 @@
<td style="width: 25%; padding: 2px; vertical-align: top;">Titik Kordinat</td>
<td style="width: 1%; vertical-align: top;">:</td>
<td style="vertical-align: top; width: 79%;">
{{ isset($forminspeksi['asset']['kordinat_lat']) ? $forminspeksi['asset']['kordinat_lat'] : '' }}
{{ isset($forminspeksi['asset']['kordinat_lat']) && !empty($forminspeksi['asset']['kordinat_lat']) ? $forminspeksi['asset']['kordinat_lat'] : '-' }}
,
{{ isset($forminspeksi['asset']['kordinat_lng']) ? $forminspeksi['asset']['kordinat_lng'] : '' }}
{{ isset($forminspeksi['asset']['kordinat_lng']) && !empty($forminspeksi['asset']['kordinat_lng']) ? $forminspeksi['asset']['kordinat_lng'] : '-' }}
</td>
</tr>
</table>
<div class="no-break" >
<table
style="width: 100%; border: 1px solid #000; border-collapse: collapse; ">
<div class="no-break" >
<table style="width: 100%; border: 1px solid #000; border-collapse: collapse; ">
<tr>
<td style="text-align: center; margin-top: 5px; ">
<h2 style=" text-transform: uppercase; text-align: center; margin: 0;">
@@ -408,8 +399,9 @@
<tr>
@php
// Ambil nilai sesuai dan tidak sesuai
$hubCadebSesuai = $forminspeksi['asset']['hub_cadeb']['sesuai'] ?? null;
$hubCadebTidakSesuai = $forminspeksi['asset']['hub_cadeb']['tidak sesuai'] ?? null;
$hubCadeb = $forminspeksi['asset']['hub_cadeb'] ?? [];
$hubCadebSesuai = $hubCadeb['sesuai'] ?? null;
$hubCadebTidakSesuai = $hubCadeb['tidak sesuai'] ?? null;
@endphp
<td style="vertical-align: top;">Hubungan Pemilik Jaminan dengan Debitur</td>
<td style="width:1%; padding: 2px; vertical-align: top;">:</td>
@@ -428,7 +420,6 @@
@if (!empty($basicData['hubCadeb']))
<table>
<tr>
@php $count = 0; @endphp
@foreach ($basicData['hubCadeb'] as $item)
<td>
<label>
@@ -437,46 +428,31 @@
{{ $item->name ?? '' }}
</label>
</td>
@php $count++; @endphp
@if ($count % 3 === 0)
@if ($loop->iteration % 3 === 0)
</tr>
<tr>
@endif
@endforeach
</tr>
<tr>
</table>
@endif
@endforeach
</td>
</tr>
@if ($count % 3 !== 0)
@for ($i = 0; $i < 3 - ($count % 3); $i++)
<td></td>
@endfor
@endif
<tr>
@php
$selectedData = $forminspeksi['asset']['hub_cadeb_penghuni']['sesuai']
?? $forminspeksi['asset']['hub_cadeb_penghuni']['tidak sesuai']
?? null;
@endphp
<td style="vertical-align: top; width: 20%; padding: 2px;">Hubungan Penghuni Jaminan dengan Debitur</td>
<td style="width:1%; padding: 2px; vertical-align: top;">:</td>
<td style="vertical-align: top;">
{{ $selectedData ?? '' }}
</td>
</tr>
</table>
@endif
</td>
</tr>
<tr>
@php
$statusKey = isset($forminspeksi['asset']['hub_cadeb_penghuni']['sesuai'])
? 'sesuai'
: 'tidak sesuai';
$selectedData = $forminspeksi['asset']['hub_cadeb_penghuni'][$statusKey] ?? null;
@endphp
<td style="vertical-align: top; width: 20%; padding: 2px;">Hubungan Penghuni Jaminan dengan Debitur</td>
<td style="width:1%; padding: 2px; vertical-align: top;">:</td>
<td style="vertical-align: top;">
@if (isset($selectedData))
{{ $selectedData ?? '' }}
</td>
@endif
</td>
</tr>
</table>
</div>
@@ -487,20 +463,12 @@
@foreach ($permohonan->documents as $dokumen)
@if ($dokumen->jenisJaminan)
@php
$formKategori = json_decode($dokumen->jenisJaminan->form_kategori, true);
$formKategori = json_decode($dokumen->jenisJaminan->form_kategori, true) ?: [];
$kategoriUnik = array_unique(is_array($formKategori) ? $formKategori : [$formKategori]);
@endphp
@if (isset($formKategori) && $formKategori)
@php
$kategoriArray = is_array($formKategori) ? $formKategori : [$formKategori];
$kategoriUnik = array_unique($kategoriArray);
@endphp
@endif
@foreach ($kategoriUnik as $kategori)
{{-- Tampilkan komponen sesuai kategori jika file komponen ada --}}
@includeIf('lpj::surveyor.components.print-out.' . str_replace('-', '-', $kategori), [
'dokumen' => $dokumen,
])
@includeIf('lpj::surveyor.components.print-out.' . $kategori, ['dokumen' => $dokumen])
@endforeach
@endif
@endforeach