fix(surveyor): perbaikan luas tanah, bangunan, unit not found

This commit is contained in:
majid
2025-03-04 09:36:15 +07:00
committed by putrakuningan
parent fe3b1bebce
commit 3ba43b8579
6 changed files with 105 additions and 50 deletions

View File

@@ -2007,7 +2007,21 @@ class SurveyorController extends Controller
'analisa_unit' => 'luas_unit',
};
$this->updateDetails($permohonan, $key, $request->input($key));
$jenis_jaminan_mapping = [
'luas_unit' => $request->input('jenis_legalistas_jaminan_unit_id'),
'luas_bangunan' => $request->input('jenis_legalistas_jaminan_bangunan_id'),
'luas_tanah' => $request->input('jenis_legalistas_jaminan_tanah_id'),
];
$jenis_jaminan_id = $jenis_jaminan_mapping[$key] ?? 0;
// dd($jenis_jaminan_id);
$inputValue = $request->input($key);
$cleanedValue = preg_replace('/\D/', '', $inputValue);
$this->updateDetails($permohonan, $key, $cleanedValue, $jenis_jaminan_id);
}
return response()->json([
@@ -2031,7 +2045,7 @@ class SurveyorController extends Controller
]);
}
private function updateDetails($permohonan, $key, $newValue)
private function updateDetails($permohonan, $key, $newValue, $jenis_jaminan_id)
{
$document = $permohonan->documents->first();
@@ -2039,7 +2053,12 @@ class SurveyorController extends Controller
throw new \Exception("Document not found");
}
$detailsUpdate = DetailDokumenJaminan::where('dokumen_jaminan_id', $document->id)->first();
// dd($jenis_jaminan_id);
$detailsUpdate = DetailDokumenJaminan::where('dokumen_jaminan_id', $document->id)
->where('jenis_legalitas_jaminan_id', $jenis_jaminan_id)
->first();
// dd($detailsUpdate);
if (!$detailsUpdate) {
throw new \Exception("DetailDokumenJaminan not found");
@@ -2055,7 +2074,7 @@ class SurveyorController extends Controller
if (array_key_exists($key, $datas)) {
$datas[$key] = $newValue;
} else {
throw new \Exception("Key '{$key}' not found in details");
$datas[$key] = $newValue;
}
// Simpan kembali ke database

View File

@@ -194,6 +194,8 @@
let laporanButton = '';
let resumeButton = '';
if(data.penilai.resume) {
resumeButton = `
<a href="{{ route('penilai.print-out') }}?permohonanId=${data.id}&documentId=${dokumenID}&inspeksiId=${inspeksiId}&jaminanId=${jenisJaminanID}&statusLpj=0" class="btn btn-sm btn-success">
@@ -203,7 +205,7 @@
if(data.nilai_liquidasi==null) {
laporanButton = `
<a href="laporan/${data.id}" class="btn btn-sm btn-dark">
<a href="laporan/${data.id}" class="btn btn-sm btn-primary">
Laporan
</a>`;
}
@@ -211,19 +213,20 @@
if(data.status_bayar=="sudah_bayar" && data.nilai_liquidasi >0) {
if(data.penilai.type_penilai=='resume' && !data.penilai.resume){
laporanButton = `
<a href="{{ route('penilai.print-out') }}?permohonanId=${data.id}&documentId=${dokumenID}&inspeksiId=${inspeksiId}&jaminanId=${jenisJaminanID}&statusLpj=0&type=${type}" class="btn btn-sm btn-dark">
<a href="{{ route('penilai.print-out') }}?permohonanId=${data.id}&documentId=${dokumenID}&inspeksiId=${inspeksiId}&jaminanId=${jenisJaminanID}&statusLpj=0&type=${type}" class="btn btn-sm btn-primary">
Laporan
</a>`;
} else {
laporanButton = `
<a href="{{ route('penilai.print-out') }}?permohonanId=${data.id}&documentId=${dokumenID}&inspeksiId=${inspeksiId}&jaminanId=${jenisJaminanID}&statusLpj=0&type=${typePenilaian}" class="btn btn-sm btn-dark">
<a href="{{ route('penilai.print-out') }}?permohonanId=${data.id}&documentId=${dokumenID}&inspeksiId=${inspeksiId}&jaminanId=${jenisJaminanID}&statusLpj=0&type=${typePenilaian}" class="btn btn-sm btn-primary">
Laporan
</a>`;
}
}
return `${resumeButton} ${laporanButton}`;
return `<div class="flex flex-wrap justify-end gap-1.5"> ${resumeButton} ${laporanButton} </div>`;
},
}
},

View File

@@ -13,21 +13,27 @@
@if (isset($permohonan->documents))
@foreach ($permohonan->documents as $item)
@php
$luas_units = 'N/A';
$luas_tanah = 0;
$jenis_legalitas_jaminan_id = 0;
if ($item->detail) {
foreach ($item->detail as $luas) {
if (isset($luas->name) && $luas->name === 'Sertifikat') {
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_units = isset($details['luas_tanah']) ? $details['luas_tanah'] : 'N/A';
$luas_tanah = isset($details['luas_tanah']) ? $details['luas_tanah'] : 0;
break;
}
}
}
@endphp
<input type="hidden" name="luas_unit_sesuai" class="input" value="{{ $luas_units }}">
<p class="text-2sm text-gray-700">{{ $luas_units }} m<sup>2</sup></p>
@endforeach
<input type="hidden"
id="jenis_legalistas_jaminan_unit_id"
name="jenis_legalistas_jaminan_unit_id"
class="input" value="{{ $jenis_legalitas_jaminan_id }}">
<input type="hidden" name="luas_unit_sesuai" class="input" value="{{ $luas_tanah }}">
<p class="text-2sm text-gray-700">{{ $luas_tanah }} m<sup>2</sup></p>
@endforeach
@endif
<div class="flex flex-wrap items-baseline w-full">

View File

@@ -14,9 +14,11 @@
@foreach ($permohonan->documents as $item)
@php
$luas_bangunan = 0;
$jenis_legalitas_jaminan_id = 0;
if ($item->detail) {
foreach ($item->detail as $luas) {
if (isset($luas->name) && $luas->jenis_legalitas_jaminan_id === 10) {
$jenis_legalitas_jaminan_id = $luas->jenis_legalitas_jaminan_id;
$details = json_decode($luas->details, true);
$luas_bangunan = isset($details['luas_bangunan']) ? $details['luas_bangunan'] : 0;
break;
@@ -25,6 +27,10 @@
}
@endphp
<input type="hidden"
id="jenis_legalistas_jaminan_bangunan_id"
name="jenis_legalistas_jaminan_bangunan_id"
class="input" value="{{ $jenis_legalitas_jaminan_id }}">
<input type="hidden" name="luas_bangunan_sesuai" class="input" value="{{ $luas_bangunan }}">
<p class="text-2sm text-gray-700">{{ $luas_bangunan }} m<sup>2</sup></p>
@endforeach

View File

@@ -14,9 +14,11 @@
@foreach ($permohonan->documents as $item)
@php
$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;
@@ -24,6 +26,10 @@
}
}
@endphp
<input type="hidden"
id="jenis_legalistas_jaminan_tanah_id"
name="jenis_legalistas_jaminan_tanah_id"
class="input" value="{{ $jenis_legalitas_jaminan_id }}">
<input type="hidden" name="luas_tanah_sesuai" class="input" value="{{ $luas_tanah }}">
<p class="text-2sm text-gray-700">{{ $luas_tanah }} m<sup>2</sup></p>
@endforeach

View File

@@ -352,9 +352,24 @@
const inputValue = document.getElementById(inputMap[params]).value;
const data = {
[params === 'jenis_asset' ? 'jenis_asset' : params.replace('analisa_', 'luas_')]: inputValue,
types: params
types: params,
...(document.getElementById('jenis_legalistas_jaminan_bangunan_id') && {
jenis_legalistas_jaminan_bangunan_id: document.getElementById(
'jenis_legalistas_jaminan_bangunan_id').value
}),
...(document.getElementById('jenis_legalistas_jaminan_tanah_id') && {
jenis_legalistas_jaminan_tanah_id: document.getElementById('jenis_legalistas_jaminan_tanah_id')
.value
}),
...(document.getElementById('jenis_legalistas_jaminan_unit_id') && {
jenis_legalistas_jaminan_unit_id: document.getElementById('jenis_legalistas_jaminan_unit_id')
.value
})
};
console.log(data);
$.ajax({
url: '{{ route('surveyor.update_analisa', ['id' => $permohonan->id]) }}',
type: 'POST',