fix(surveyor): perbaikan luas tanah, bangunan, unit not found
This commit is contained in:
@@ -2007,7 +2007,21 @@ class SurveyorController extends Controller
|
|||||||
'analisa_unit' => 'luas_unit',
|
'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([
|
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();
|
$document = $permohonan->documents->first();
|
||||||
|
|
||||||
@@ -2039,7 +2053,12 @@ class SurveyorController extends Controller
|
|||||||
throw new \Exception("Document not found");
|
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) {
|
if (!$detailsUpdate) {
|
||||||
throw new \Exception("DetailDokumenJaminan not found");
|
throw new \Exception("DetailDokumenJaminan not found");
|
||||||
@@ -2055,7 +2074,7 @@ class SurveyorController extends Controller
|
|||||||
if (array_key_exists($key, $datas)) {
|
if (array_key_exists($key, $datas)) {
|
||||||
$datas[$key] = $newValue;
|
$datas[$key] = $newValue;
|
||||||
} else {
|
} else {
|
||||||
throw new \Exception("Key '{$key}' not found in details");
|
$datas[$key] = $newValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Simpan kembali ke database
|
// Simpan kembali ke database
|
||||||
|
|||||||
@@ -194,6 +194,8 @@
|
|||||||
let laporanButton = '';
|
let laporanButton = '';
|
||||||
let resumeButton = '';
|
let resumeButton = '';
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if(data.penilai.resume) {
|
if(data.penilai.resume) {
|
||||||
resumeButton = `
|
resumeButton = `
|
||||||
<a href="{{ route('penilai.print-out') }}?permohonanId=${data.id}&documentId=${dokumenID}&inspeksiId=${inspeksiId}&jaminanId=${jenisJaminanID}&statusLpj=0" class="btn btn-sm btn-success">
|
<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) {
|
if(data.nilai_liquidasi==null) {
|
||||||
laporanButton = `
|
laporanButton = `
|
||||||
<a href="laporan/${data.id}" class="btn btn-sm btn-dark">
|
<a href="laporan/${data.id}" class="btn btn-sm btn-primary">
|
||||||
Laporan
|
Laporan
|
||||||
</a>`;
|
</a>`;
|
||||||
}
|
}
|
||||||
@@ -211,19 +213,20 @@
|
|||||||
if(data.status_bayar=="sudah_bayar" && data.nilai_liquidasi >0) {
|
if(data.status_bayar=="sudah_bayar" && data.nilai_liquidasi >0) {
|
||||||
if(data.penilai.type_penilai=='resume' && !data.penilai.resume){
|
if(data.penilai.type_penilai=='resume' && !data.penilai.resume){
|
||||||
laporanButton = `
|
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
|
Laporan
|
||||||
</a>`;
|
</a>`;
|
||||||
} else {
|
} else {
|
||||||
laporanButton = `
|
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
|
Laporan
|
||||||
</a>`;
|
</a>`;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return `${resumeButton} ${laporanButton}`;
|
|
||||||
|
return `<div class="flex flex-wrap justify-end gap-1.5"> ${resumeButton} ${laporanButton} </div>`;
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -12,22 +12,28 @@
|
|||||||
<label class="form-label max-w-56">Luas Unit</label>
|
<label class="form-label max-w-56">Luas Unit</label>
|
||||||
@if (isset($permohonan->documents))
|
@if (isset($permohonan->documents))
|
||||||
@foreach ($permohonan->documents as $item)
|
@foreach ($permohonan->documents as $item)
|
||||||
@php
|
@php
|
||||||
$luas_units = 'N/A';
|
$luas_tanah = 0;
|
||||||
if ($item->detail) {
|
$jenis_legalitas_jaminan_id = 0;
|
||||||
foreach ($item->detail as $luas) {
|
if ($item->detail) {
|
||||||
if (isset($luas->name) && $luas->name === 'Sertifikat') {
|
foreach ($item->detail as $luas) {
|
||||||
$details = json_decode($luas->details, true);
|
if (isset($luas->name) && $luas->jenis_legalitas_jaminan_id === 1) {
|
||||||
$luas_units = isset($details['luas_tanah']) ? $details['luas_tanah'] : 'N/A';
|
$jenis_legalitas_jaminan_id = $luas->jenis_legalitas_jaminan_id;
|
||||||
break;
|
$details = json_decode($luas->details, true);
|
||||||
}
|
$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>
|
@endphp
|
||||||
@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
|
@endif
|
||||||
|
|
||||||
<div class="flex flex-wrap items-baseline w-full">
|
<div class="flex flex-wrap items-baseline w-full">
|
||||||
|
|||||||
@@ -14,9 +14,11 @@
|
|||||||
@foreach ($permohonan->documents as $item)
|
@foreach ($permohonan->documents as $item)
|
||||||
@php
|
@php
|
||||||
$luas_bangunan = 0;
|
$luas_bangunan = 0;
|
||||||
|
$jenis_legalitas_jaminan_id = 0;
|
||||||
if ($item->detail) {
|
if ($item->detail) {
|
||||||
foreach ($item->detail as $luas) {
|
foreach ($item->detail as $luas) {
|
||||||
if (isset($luas->name) && $luas->jenis_legalitas_jaminan_id === 10) {
|
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);
|
$details = json_decode($luas->details, true);
|
||||||
$luas_bangunan = isset($details['luas_bangunan']) ? $details['luas_bangunan'] : 0;
|
$luas_bangunan = isset($details['luas_bangunan']) ? $details['luas_bangunan'] : 0;
|
||||||
break;
|
break;
|
||||||
@@ -25,6 +27,10 @@
|
|||||||
}
|
}
|
||||||
@endphp
|
@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 }}">
|
<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>
|
<p class="text-2sm text-gray-700">{{ $luas_bangunan }} m<sup>2</sup></p>
|
||||||
@endforeach
|
@endforeach
|
||||||
|
|||||||
@@ -14,9 +14,11 @@
|
|||||||
@foreach ($permohonan->documents as $item)
|
@foreach ($permohonan->documents as $item)
|
||||||
@php
|
@php
|
||||||
$luas_tanah = 0;
|
$luas_tanah = 0;
|
||||||
|
$jenis_legalitas_jaminan_id = 0;
|
||||||
if ($item->detail) {
|
if ($item->detail) {
|
||||||
foreach ($item->detail as $luas) {
|
foreach ($item->detail as $luas) {
|
||||||
if (isset($luas->name) && $luas->jenis_legalitas_jaminan_id === 1) {
|
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);
|
$details = json_decode($luas->details, true);
|
||||||
$luas_tanah = isset($details['luas_tanah']) ? $details['luas_tanah'] : 0;
|
$luas_tanah = isset($details['luas_tanah']) ? $details['luas_tanah'] : 0;
|
||||||
break;
|
break;
|
||||||
@@ -24,6 +26,10 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
@endphp
|
@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 }}">
|
<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>
|
<p class="text-2sm text-gray-700">{{ $luas_tanah }} m<sup>2</sup></p>
|
||||||
@endforeach
|
@endforeach
|
||||||
|
|||||||
@@ -27,39 +27,39 @@
|
|||||||
|
|
||||||
|
|
||||||
function formatNumber(input) {
|
function formatNumber(input) {
|
||||||
// Ambil posisi kursor saat ini
|
// Ambil posisi kursor saat ini
|
||||||
const cursorPosition = input.selectionStart;
|
const cursorPosition = input.selectionStart;
|
||||||
|
|
||||||
// Ambil nilai input tanpa "m²" dan karakter non-angka
|
// Ambil nilai input tanpa "m²" dan karakter non-angka
|
||||||
let value = input.value.replace(/[^\d]/g, '');
|
let value = input.value.replace(/[^\d]/g, '');
|
||||||
|
|
||||||
// Update nilai input dengan format angka dan "m²"
|
// Update nilai input dengan format angka dan "m²"
|
||||||
input.value = value ? value + ' m²' : 'm²';
|
input.value = value ? value + ' m²' : 'm²';
|
||||||
|
|
||||||
// Atur posisi kursor di depan "m²"
|
// Atur posisi kursor di depan "m²"
|
||||||
input.setSelectionRange(cursorPosition, cursorPosition);
|
input.setSelectionRange(cursorPosition, cursorPosition);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
function formatCurrency(value, isDiskon = false) {
|
function formatCurrency(value, isDiskon = false) {
|
||||||
// Ensure the value is a valid number
|
// Ensure the value is a valid number
|
||||||
const numericValue = parseFloat(value);
|
const numericValue = parseFloat(value);
|
||||||
if (isNaN(numericValue)) {
|
if (isNaN(numericValue)) {
|
||||||
return 0;
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Format the number with commas for thousands separators
|
||||||
|
const formattedValue = numericValue.toLocaleString('id-ID', {
|
||||||
|
style: 'currency',
|
||||||
|
currency: 'IDR', // Indonesian Rupiah
|
||||||
|
minimumFractionDigits: isDiskon ? 2 : 0, // Include decimals for discounts
|
||||||
|
maximumFractionDigits: isDiskon ? 2 : 0,
|
||||||
|
});
|
||||||
|
|
||||||
|
return formattedValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Format the number with commas for thousands separators
|
|
||||||
const formattedValue = numericValue.toLocaleString('id-ID', {
|
|
||||||
style: 'currency',
|
|
||||||
currency: 'IDR', // Indonesian Rupiah
|
|
||||||
minimumFractionDigits: isDiskon ? 2 : 0, // Include decimals for discounts
|
|
||||||
maximumFractionDigits: isDiskon ? 2 : 0,
|
|
||||||
});
|
|
||||||
|
|
||||||
return formattedValue;
|
|
||||||
}
|
|
||||||
|
|
||||||
function previewImage(input, previewId) {
|
function previewImage(input, previewId) {
|
||||||
if (input.files && input.files[0]) {
|
if (input.files && input.files[0]) {
|
||||||
var reader = new FileReader();
|
var reader = new FileReader();
|
||||||
@@ -352,9 +352,24 @@
|
|||||||
const inputValue = document.getElementById(inputMap[params]).value;
|
const inputValue = document.getElementById(inputMap[params]).value;
|
||||||
const data = {
|
const data = {
|
||||||
[params === 'jenis_asset' ? 'jenis_asset' : params.replace('analisa_', 'luas_')]: inputValue,
|
[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({
|
$.ajax({
|
||||||
url: '{{ route('surveyor.update_analisa', ['id' => $permohonan->id]) }}',
|
url: '{{ route('surveyor.update_analisa', ['id' => $permohonan->id]) }}',
|
||||||
type: 'POST',
|
type: 'POST',
|
||||||
@@ -505,9 +520,9 @@
|
|||||||
|
|
||||||
|
|
||||||
function handleCurrencyInput(input) {
|
function handleCurrencyInput(input) {
|
||||||
const value = input.value.replace(/[^\d]/g, '');
|
const value = input.value.replace(/[^\d]/g, '');
|
||||||
input.value = formatCurrency(value);
|
input.value = formatCurrency(value);
|
||||||
}
|
}
|
||||||
|
|
||||||
function cleanCurrencyValue(value) {
|
function cleanCurrencyValue(value) {
|
||||||
return value.replace(/[^\d]/g, '');
|
return value.replace(/[^\d]/g, '');
|
||||||
|
|||||||
Reference in New Issue
Block a user