Files
lpj/resources/views/component/kertas-kerja.blade.php
2024-12-20 14:54:18 +07:00

548 lines
19 KiB
PHP

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Penilaian Aset</title>
<style>
* {
box-sizing: border-box;
}
body {
font-family: Arial, sans-serif;
margin: 0;
padding: 15px;
font-size: 12px;
line-height: 1.4;
}
.header-table,
.data-table {
width: 100%;
border-collapse: collapse;
margin-bottom: 15px;
}
.header-table td {
padding: 5px 8px;
border: 1px solid #ddd;
vertical-align: top;
}
.header-table .title {
font-weight: bold;
background-color: #f1f3f5;
width: 30%;
}
.header-table .value {
background-color: #f9f9f9;
width: 70%;
}
.data-table th,
.data-table td {
border: 1px solid #ddd;
padding: 5px 8px;
text-align: left;
word-wrap: break-word;
max-width: 150px;
overflow: hidden;
text-overflow: ellipsis;
}
.data-table th {
background-color: #f1f3f5;
text-align: center;
font-weight: bold;
}
.data-table tr:nth-child(even) {
background-color: #f9f9f9;
}
.text-center {
text-align: center;
}
@media print {
body {
font-size: 10px;
}
}
</style>
</head>
<body>
<table class="header-table">
<tr>
<td class="title">Pendekatan Pasar</td>
<td class="value">Metode Perbandingan Data Pasar</td>
</tr>
<tr>
<td class="title">Tanggal Penilaian</td>
<td class="value">{{ $tanggal_penilaian ?? '-' }}</td>
</tr>
<tr>
<td class="title">Nama Pemilik Aset</td>
<td class="value">-</td>
</tr>
<tr>
<td class="title">Nama Pemberi Tugas</td>
<td class="value">-</td>
</tr>
<tr>
<td class="title">Lokasi</td>
<td class="value">{{ $lokasi ?? '-' }}</td>
</tr>
<tr>
<td class="title">Nama Debitur</td>
<td class="value">-</td>
</tr>
</table>
<h4>A Informasi Umum
</h4>
<table class="data-table">
<thead>
<tr>
<th width="5">No.</th>
<th width="20">Uraian</th>
<th width="15">Objek Penilaian</th>
<th width="20">Data Pembanding 1</th>
<th width="20">Data Pembanding 2</th>
<th width="20">Data Pembanding 3</th>
</tr>
</thead>
<tbody>
@php
$dataform = json_decode(isset($data->data_form) ? $data->data_form : '', true) ?? [];
$dataPembanding = json_decode(isset($data->data_pembanding) ? $data->data_pembanding : '', true) ?? [];
// print_r($dataform);
// echo $dataform;
@endphp
@php
function getNestedValue($data, $keyPath, $default = '-')
{
// Pecah path kunci menjadi array
$keys = explode('.', $keyPath);
// Mulai dari data awal
$value = $data;
// Telusuri setiap kunci
foreach ($keys as $key) {
// Cek apakah kunci ada di level saat ini
if (is_array($value) && array_key_exists($key, $value)) {
$value = $value[$key];
} else {
// Jika kunci tidak ditemukan, kembalikan default
return $default;
}
}
// Kembalikan nilai akhir atau default jika kosong
return $value ?? $default;
}
$rows = [
[
'label' => 'Jenis Aset',
'key' => 'asset.jenis_aset',
'default' => 'Rumah Tinggal',
'variants' => [
'sesuai' => 'Sesuai',
'tidak sesuai' => 'Tidak Sesuai',
],
],
[
'label' => 'Luas Tanah (M²)',
'key' => 'tanah.luas_tanah',
'default' => '-',
'variants' => [
'sesuai' => 'Sesuai',
'tidak sesuai' => 'Tidak Sesuai',
],
],
[
'label' => 'Luas Bangunan (M²)',
'key' => 'bangunan.luas_tanah_bangunan',
'default' => '-',
'variants' => [
'sesuai' => 'Sesuai',
'tidak sesuai' => 'Tidak Sesuai',
],
],
[
'label' => 'Penawaran Transaksi',
'key' => '-',
'default' => '-',
'variants' => [
'sesuai' => 'Sesuai',
'tidak sesuai' => 'Tidak Sesuai',
],
],
[
'label' => 'Tanggal Penawaran',
'key' => 'bangunan.luas_tanah_bangunan',
'default' => '-',
'variants' => [
'sesuai' => 'Sesuai',
'tidak sesuai' => 'Tidak Sesuai',
],
],
[
'label' => 'Discon',
'key' => 'bangunan.luas_tanah_bangunan',
'default' => '-',
'variants' => [
'sesuai' => 'Sesuai',
'tidak sesuai' => 'Tidak Sesuai',
],
],
[
'label' => 'Estimasi Harga',
'key' => 'bangunan.luas_tanah_bangunan',
'default' => '-',
'variants' => [
'sesuai' => 'Sesuai',
'tidak sesuai' => 'Tidak Sesuai',
],
],
[
'label' => 'Telepon Contact person',
'key' => 'bangunan.luas_tanah_bangunan',
'default' => '-',
'variants' => [
'sesuai' => 'Sesuai',
'tidak sesuai' => 'Tidak Sesuai',
],
],
[
'label' => 'Nama Nara Sumber',
'key' => 'bangunan.luas_tanah_bangunan',
'default' => '-',
'variants' => [
'sesuai' => 'Sesuai',
'tidak sesuai' => 'Tidak Sesuai',
],
],
[
'label' => 'Status Nara Sumber',
'key' => 'bangunan.luas_tanah_bangunan',
'default' => '-',
'variants' => [
'sesuai' => 'Sesuai',
'tidak sesuai' => 'Tidak Sesuai',
],
],
[
'label' => 'Waktu Penawaran',
'key' => 'bangunan.luas_tanah_bangunan',
'default' => '-',
'variants' => [
'sesuai' => 'Sesuai',
'tidak sesuai' => 'Tidak Sesuai',
],
],
[
'label' => 'Alamat',
'key' => 'bangunan.luas_tanah_bangunan',
'default' => '-',
'variants' => [
'sesuai' => 'Sesuai',
'tidak sesuai' => 'Tidak Sesuai',
],
],
[
'label' => 'Jalan',
'key' => 'bangunan.luas_tanah_bangunan',
'default' => '-',
'variants' => [
'sesuai' => 'Sesuai',
'tidak sesuai' => 'Tidak Sesuai',
],
],
[
'label' => 'Desa/Kelurahan',
'key' => 'bangunan.luas_tanah_bangunan',
'default' => '-',
'variants' => [
'sesuai' => 'Sesuai',
'tidak sesuai' => 'Tidak Sesuai',
],
],
[
'label' => 'Kecamatan',
'key' => 'bangunan.luas_tanah_bangunan',
'default' => '-',
'variants' => [
'sesuai' => 'Sesuai',
'tidak sesuai' => 'Tidak Sesuai',
],
],
[
'label' => 'Kota/Kabupaten',
'key' => 'bangunan.luas_tanah_bangunan',
'default' => '-',
'variants' => [
'sesuai' => 'Sesuai',
'tidak sesuai' => 'Tidak Sesuai',
],
],
[
'label' => 'Provinsi',
'key' => 'bangunan.luas_tanah_bangunan',
'default' => '-',
'variants' => [
'sesuai' => 'Sesuai',
'tidak sesuai' => 'Tidak Sesuai',
],
],
[
'label' => 'Jarak Pembanding dengan Objek',
'key' => 'bangunan.luas_tanah_bangunan',
'default' => '-',
'variants' => [
'sesuai' => 'Sesuai',
'tidak sesuai' => 'Tidak Sesuai',
],
],
[
'label' => 'Esitmasi Rangking Tanah',
'key' => 'bangunan.luas_tanah_bangunan',
'default' => '-',
'variants' => [
'sesuai' => 'Sesuai',
'tidak sesuai' => 'Tidak Sesuai',
],
],
[
'label' => 'Estimasi Ranking bangunan',
'key' => 'bangunan.luas_tanah_bangunan',
'default' => '-',
'variants' => [
'sesuai' => 'Sesuai',
'tidak sesuai' => 'Tidak Sesuai',
],
],
];
@endphp
@foreach ($rows as $index => $item)
<tr>
<td class="text-center">{{ $index + 1 }}</td>
<td>{{ $item['label'] }}</td>
<td>
@php
// Coba berbagai varian kunci
$objekValue = '-';
foreach (['sesuai', 'tidak sesuai'] as $variant) {
$fullKey = $item['key'] . '.' . $variant;
$objekValue = getNestedValue($dataform, $fullKey, $item['default']);
// Jika nilai ditemukan, hentikan pencarian
if ($objekValue !== $item['default']) {
break;
}
}
@endphp
{{ $objekValue }}
</td>
@for ($i = 0; $i < 3; $i++)
<td>
@php
$pembandingValue = '-';
// Pastikan data pembanding tersedia
if (isset($dataPembanding['data_pembanding'][$i])) {
$pembandingItem = $dataPembanding['data_pembanding'][$i];
// Mapping key berdasarkan label
switch ($item['label']) {
case 'Jenis Aset':
$pembandingValue = $pembandingItem['jenis_aset'] ?? '-';
break;
case 'Luas Tanah (M²)':
$pembandingValue = $pembandingItem['luas_tanah'] ?? '-';
break;
case 'Luas Bangunan (M²)':
$pembandingValue = $pembandingItem['luas_bangunan'] ?? '-';
break;
default:
$pembandingValue = '-';
}
}
@endphp
{{ $pembandingValue }}
</td>
@endfor
</tr>
@endforeach
</tbody>
</table>
<h4> B. Estimasi Nilai Tanah Pembanding dengan Teknik Penyisaan Tanah untuk mendapatkan per meter persegi estimasi
Nilai Tanah Pembanding</h4>
<table>
<table class="data-table">
<thead>
<tr>
<th width="5">No.</th>
<th width="20">Uraian</th>
<th width="15">Objek Penilaian</th>
<th width="20">Data Pembanding 1</th>
<th width="20">Data Pembanding 2</th>
<th width="20">Data Pembanding 3</th>
</tr>
</thead>
<tbody>
@php
$estimasi = [
[
'label' => 'Biaya Teknis Bangunan',
],
[
'label' => 'Estimasi Biaya Pengganti Baru Bangunan',
],
[
'label' => 'Estimasi Biaya Pengganti SPL (Rp)',
],
[
'label' => 'Penyusutan Fisik Banguan',
],
];
@endphp
@foreach ($estimasi as $index => $item)
<tr>
<td class="text-center">{{ $index + 1 }}</td>
<td>{{ $item['label'] }}</td>
<td>-</td>
@for ($i = 0; $i < 3; $i++)
<td>
@php
$pembandingValue = '-';
// Pastikan data pembanding tersedia
if (isset($dataPembanding['data_pembanding'][$i])) {
$pembandingItem = $dataPembanding['data_pembanding'][$i];
// Mapping key berdasarkan label
switch ($item['label']) {
case 'Jenis Aset':
$pembandingValue = $pembandingItem['jenis_aset'] ?? '-';
break;
case 'Luas Tanah (M²)':
$pembandingValue = $pembandingItem['luas_tanah'] ?? '-';
break;
case 'Luas Bangunan (M²)':
$pembandingValue = $pembandingItem['luas_bangunan'] ?? '-';
break;
default:
$pembandingValue = '-';
}
}
@endphp
{{ $pembandingValue }}
</td>
@endfor
</tr>
@endforeach
</tbody>
</table>
<h4>Peta Objek dan Pembanding</h4>
@php
$fotoTypes = ['foto_gistaru', 'foto_bhumi', 'foto_argis_region', 'foto_tempat'];
@endphp
<div class="grid grid-cols-4 gap-4">
@forelse ($fotoTypes as $type)
<div class="text-center">
@php
$imagePath = $dataform[$type];
@endphp
@if ($imagePath && Storage::exists($imagePath))
<img
src="{{ asset('storage/' . $imagePath) }}"
alt="{{ $type }}"
class="max-w-full h-auto mx-auto"
onerror="this.src='{{ asset('default-image.png') }}'"
>
<p class="mt-2 text-sm">{{ Str::title(str_replace('_', ' ', $type)) }}</p>
@else
<div class="bg-gray-200 p-4 text-center">
<p>Tidak ada gambar</p>
</div>
@endif
</div>
@empty
<p>Tidak ada tipe foto yang tersedia</p>
@endforelse
</div>
<h4 class="mt-6">FOTO OBJEK DAN DATA PEMBANDING</h4>
<div class="grid grid-cols-4 gap-4">
@forelse ($dataPembanding['data_pembanding'] ?? [] as $index => $item)
<div class="text-center">
@php
$fotoObjek = $item['foto_objek'];
@endphp
@if ($fotoObjek && Storage::exists($fotoObjek))
<img
src="{{ asset('storage/' . $fotoObjek) }}"
alt="Foto Objek Pembanding {{ $loop->iteration }}"
class="max-w-full h-auto mx-auto"
onerror="this.src='{{ asset('default-image.png') }}'"
>
<p class="mt-2 text-sm">Data Pembanding {{ $loop->iteration }}</p>
@else
<div class="bg-gray-200 p-4 text-center">
<p>Tidak ada gambar pembanding</p>
</div>
@endif
</div>
@empty
<p class="col-span-4">Tidak ada data pembanding</p>
@endforelse
</div>
<h4 class="mt-6">FOTO OBJEK</h4>
</body>
</html>
<script>
const data = @json($dataform);
console.log(data);
</script>