Merge branch 'staging' into fix/save-penilai
This commit is contained in:
@@ -430,7 +430,8 @@ function getWilayahName($code, $type)
|
||||
}
|
||||
|
||||
|
||||
function formatLabel($key) {
|
||||
function formatLabel($key)
|
||||
{
|
||||
|
||||
static $labelCache = [];
|
||||
if (isset($labelCache[$key])) {
|
||||
@@ -468,3 +469,35 @@ function calculateSLA($permohonan, $type)
|
||||
|
||||
return $slaMap[$type] ?? null;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Menghitung total nilai berdasarkan key dan jenis legalitas.
|
||||
*
|
||||
* @param array $detailsArray
|
||||
* @param string $key
|
||||
* @param int $jenisLegalitas
|
||||
* @return int
|
||||
*/
|
||||
function calculateTotalLuas($detailsArray, $key, $jenisLegalitas)
|
||||
{
|
||||
$total = 0;
|
||||
|
||||
if ($detailsArray) {
|
||||
foreach ($detailsArray as $item) {
|
||||
if (isset($item->jenis_legalitas_jaminan_id) && $item->jenis_legalitas_jaminan_id === $jenisLegalitas) {
|
||||
$details = json_decode($item->details, true);
|
||||
|
||||
if (is_array($details)) {
|
||||
foreach ($details as $detail) {
|
||||
if (isset($detail[$key])) {
|
||||
$total += (int) $detail[$key];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $total;
|
||||
}
|
||||
|
||||
@@ -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 = [];
|
||||
@@ -104,7 +104,7 @@
|
||||
$file_name,
|
||||
);
|
||||
$dokumenJaminan[] = 'jaminan/' . $debitur->id . '/' . $document->id . '/' . $file_name;
|
||||
$dokumenNomor[] = $request->dokumen_nomor[$key][$index] ?? '';
|
||||
$dokumenNomor[] = $request->dokumen_nomor[$key][$index] ?? '-';
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -249,7 +249,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 = [];
|
||||
@@ -257,17 +257,58 @@
|
||||
|
||||
if (isset($request->dokumen_jaminan[$key]) && is_array($request->dokumen_jaminan[$key])) {
|
||||
foreach ($request->dokumen_jaminan[$key] as $index => $file) {
|
||||
if ($file) {
|
||||
if ($file instanceof \Illuminate\Http\UploadedFile) {
|
||||
// Jika file baru diupload
|
||||
$file_name = $file->getClientOriginalName();
|
||||
$file->storeAs(
|
||||
'public/jaminan/' . $debitur->id . '/' . $document->id . '/',
|
||||
$file_name,
|
||||
);
|
||||
$dokumenJaminan[] = 'jaminan/' . $debitur->id . '/' . $document->id . '/' . $file_name;
|
||||
$dokumenNomor[] = $request->dokumen_nomor[$key][$index] ?? '';
|
||||
} elseif (is_string($file) && !empty($file)) {
|
||||
// Jika file tidak diubah, gunakan path yang sudah ada
|
||||
$dokumenJaminan[] = $file;
|
||||
} else {
|
||||
// Jika file kosong atau null, tambahkan placeholder atau skip
|
||||
$dokumenJaminan[] = null; // atau skip dengan continue;
|
||||
}
|
||||
|
||||
// Selalu update dokumen_nomor, baik file diubah atau tidak
|
||||
$dokumenNomor[] = $request->dokumen_nomor[$key][$index] ?? '-';
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Setelah loop, periksa apakah ada dokumen yang dihapus
|
||||
$existingDetail = $existingDetails->get($request->detail_dokumen_jaminan_id[$key] ?? null);
|
||||
|
||||
if ($existingDetail) {
|
||||
$existingDokumen = json_decode($existingDetail->dokumen_jaminan, true) ?? [];
|
||||
$existingNomor = json_decode($existingDetail->dokumen_nomor, true) ?? [];
|
||||
|
||||
|
||||
|
||||
// Jika jumlah dokumen berkurang, berarti ada yang dihapus
|
||||
if (count($existingDokumen) > count($dokumenJaminan)) {
|
||||
$dokumenJaminan = $existingDokumen;
|
||||
$dokumenNomor = $existingNomor;
|
||||
foreach ($request->dokumen_jaminan[$key] as $index => $file) {
|
||||
if ($file === null) {
|
||||
// Hapus dokumen yang tidak ada lagi
|
||||
unset($dokumenJaminan[$index]);
|
||||
unset($dokumenNomor[$index]);
|
||||
} elseif (is_string($file) && !empty($file)) {
|
||||
// Update nomor dokumen untuk file yang tidak diubah
|
||||
$dokumenNomor[$index] = $request->dokumen_nomor[$key][$index] ?? '-';
|
||||
}
|
||||
}
|
||||
// Reset array keys
|
||||
$dokumenJaminan = array_values($dokumenJaminan);
|
||||
$dokumenNomor = array_values($dokumenNomor);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (!empty($dokumenJaminan)) {
|
||||
$detailData['dokumen_jaminan'] = json_encode($dokumenJaminan);
|
||||
@@ -277,40 +318,14 @@
|
||||
if (isset($request->detail_dokumen_jaminan_id[$key])) {
|
||||
$detailId = $request->detail_dokumen_jaminan_id[$key];
|
||||
$detailDocument = $existingDetails->get($detailId);
|
||||
if ($detailDocument) {
|
||||
// Merge new files with existing ones
|
||||
if (!empty($dokumenJaminan)) {
|
||||
$existingFiles = json_decode(
|
||||
$detailDocument->dokumen_jaminan,
|
||||
true,
|
||||
) ?: [];
|
||||
$existingNomor = json_decode(
|
||||
$detailDocument->dokumen_nomor,
|
||||
true,
|
||||
) ?: [];
|
||||
$mergedFiles = array_merge($existingFiles, $dokumenJaminan);
|
||||
$mergedNomor = array_merge($existingNomor, $dokumenNomor);
|
||||
$detailData['dokumen_jaminan'] = json_encode($mergedFiles);
|
||||
$detailData['dokumen_nomor'] = json_encode($mergedNomor);
|
||||
}
|
||||
$detailDocument->update($detailData);
|
||||
$existingDetails->forget($detailId);
|
||||
}
|
||||
|
||||
} else {
|
||||
DetailDokumenJaminan::create($detailData);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Delete any remaining existing details that weren't updated
|
||||
foreach ($existingDetails as $detail) {
|
||||
$files = json_decode($detail->dokumen_jaminan, true) ?: [];
|
||||
foreach ($files as $file) {
|
||||
Storage::delete('public/' . $file);
|
||||
}
|
||||
$detail->delete();
|
||||
}
|
||||
|
||||
DB::commit();
|
||||
return redirect()->route('debitur.jaminan.index', $id)->with(
|
||||
'success',
|
||||
@@ -342,6 +357,7 @@
|
||||
$jenisLegalitasJaminan = JenisLegalitasJaminan::all();
|
||||
|
||||
$_jenisJaminan = JenisJaminan::find($document->jenis_jaminan_id);
|
||||
|
||||
$legalitas = '';
|
||||
if ($_jenisJaminan) {
|
||||
$legalitasJaminan = json_decode($_jenisJaminan->jenis_legalitas_jaminan_id, true);
|
||||
|
||||
@@ -150,4 +150,16 @@
|
||||
{
|
||||
return Excel::download(new JenisLegalitasJaminanExport, 'jenis_legalitas_jaminan.xlsx');
|
||||
}
|
||||
|
||||
public function getCustomFields($id)
|
||||
{
|
||||
$jenisLegalitasJaminan = JenisLegalitasJaminan::findOrFail($id);
|
||||
if(!$jenisLegalitasJaminan->custom_fields) {
|
||||
return response()->json([]);
|
||||
}
|
||||
|
||||
$customFields = CustomField::whereIn('id', $jenisLegalitasJaminan->custom_fields)->get();
|
||||
|
||||
return response()->json($customFields);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -151,7 +151,7 @@ class LaporanExternalController extends Controller
|
||||
$filteredRecords = $query->count();
|
||||
|
||||
// Get the data for the current page
|
||||
$data = $query->with(['permohonan.debiture','permohonan.penawaran.tujuanPenilaianKjpp'])->get();
|
||||
$data = $query->with(['permohonan.debiture','permohonan.penawaran.tujuanPenilaianKjpp','permohonan.dokumenjaminan.jenisjaminan'])->get();
|
||||
|
||||
// Calculate the page count
|
||||
$pageCount = ceil($totalRecords / $request->get('size'));
|
||||
|
||||
@@ -1344,6 +1344,8 @@ class PenilaiController extends Controller
|
||||
// return $pdf;
|
||||
$cleanNomorLaporan = str_replace(['/', '\\'], '-', $nomorLaporan);
|
||||
$pdf->setPaper('A4', 'portrait');
|
||||
$pdf->set_option('isHtml5ParserEnabled', true);
|
||||
$pdf->set_option('isPhpEnabled', true);
|
||||
return response($pdf->output(), 200)
|
||||
->header('Content-Type', 'application/pdf')
|
||||
->header('Content-Disposition', 'inline; filename="Laporan_' . $tipeLaporan . '_' . $permohonan->debiture->name . '_' . $cleanNomorLaporan . '.pdf"');
|
||||
@@ -1371,6 +1373,8 @@ class PenilaiController extends Controller
|
||||
// return $pdf;
|
||||
$cleanNomorLaporan = str_replace(['/', '\\'], '-', $nomorLaporan);
|
||||
$pdf->setPaper('A4', 'portrait');
|
||||
$pdf->set_option('isHtml5ParserEnabled', true);
|
||||
$pdf->set_option('isPhpEnabled', true);
|
||||
return $pdf->download('Laporan_' . $tipeLaporan . '_' . $permohonan->debiture->name . '_' . $cleanNomorLaporan . '_data.pdf');
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
|
||||
@@ -2309,6 +2309,870 @@ class SurveyorController extends Controller
|
||||
'perizinan' => ['Perizinan', 'perizinan'],
|
||||
];
|
||||
|
||||
private function getAssetData(array $data): array
|
||||
{
|
||||
$alamatData = [
|
||||
'address' => $data['address'] ?? null,
|
||||
'village_code' => $data['village_code'] ?? null,
|
||||
'district_code' => $data['district_code'] ?? null,
|
||||
'city_code' => $data['city_code'] ?? null,
|
||||
'province_code' => $data['province_code'] ?? null,
|
||||
];
|
||||
|
||||
$alamatKey = ($data['alamat_sesuai'] ?? null) === 'sesuai' ? 'sesuai' : 'tidak sesuai';
|
||||
$alamat = [];
|
||||
|
||||
// Masukkan key baru yang sesuai
|
||||
$alamat[$alamatKey] = $alamatData;
|
||||
return [
|
||||
'asset' => [
|
||||
'debitur_perwakilan' => $data['debitur_perwakilan'] ?? [],
|
||||
'jenis_asset' => [
|
||||
$data['jenis_asset'] ?? null => ($data['jenis_asset'] ?? null) === 'sesuai'
|
||||
? ($data['jenis_asset_name'] ?? null)
|
||||
: ($data['jenis_asset_tidak_sesuai'] ?? null)
|
||||
],
|
||||
'alamat' => $alamat,
|
||||
'hub_cadeb' => [
|
||||
$data['hub_cadeb'] ?? null => ($data['hub_cadeb'] ?? null) === 'sesuai'
|
||||
? ($data['hub_cadeb_sesuai'] ?? null)
|
||||
: ($data['hub_cadeb_tidak_sesuai'] ?? null)
|
||||
],
|
||||
'hub_cadeb_penghuni' => [
|
||||
$data['hub_cadeb_penghuni'] ?? null => ($data['hub_cadeb_penghuni'] ?? null) === 'sesuai'
|
||||
? ($data['hub_cadeb_penghuni_sesuai'] ?? null)
|
||||
: ($data['hub_penghuni_tidak_sesuai'] ?? null)
|
||||
],
|
||||
|
||||
'pihak_bank' => $data['pihak_bank'] ?? null,
|
||||
|
||||
'kordinat_lng' => $data['kordinat_lng'] ?? null,
|
||||
'kordinat_lat' => $data['kordinat_lat'] ?? null,
|
||||
// 'nomor_nib' => $data['nomor_nib'] ?? null
|
||||
]
|
||||
];
|
||||
}
|
||||
|
||||
private function getTanahData(array $data): array
|
||||
{
|
||||
//luas tanah key
|
||||
// Luas tanah key
|
||||
$luas_tanah_key = ($data['luas_tanah'] ?? null) === 'sesuai' ? 'sesuai' : 'tidak sesuai';
|
||||
$luas_tanah = [];
|
||||
$hasil_tanah = $luas_tanah_key === 'sesuai'
|
||||
? ($data['luas_tanah_sesuai'] ?? null)
|
||||
: ($data['luas_tanah_tidak_sesuai'] ?? null);
|
||||
$luas_tanah[$luas_tanah_key] = preg_replace('/[^0-9.,]/', '', $hasil_tanah);
|
||||
|
||||
// Hadap mata angin key
|
||||
$hadap_mata_angin_key = ($data['hadap_mata_angin'] ?? null) === 'sesuai' ? 'sesuai' : 'tidak sesuai';
|
||||
$hadap_mata_angin = [];
|
||||
$hasil_hadap_mata_angin = $hadap_mata_angin_key === 'sesuai'
|
||||
? ($data['hadap_mata_angin_sesuai'] ?? null)
|
||||
: ($data['hadap_mata_angin_tidak_sesuai'] ?? null);
|
||||
$hadap_mata_angin[$hadap_mata_angin_key] = $hasil_hadap_mata_angin;
|
||||
|
||||
$tusuk_sate_key = ($data['tusuk_sate'] ?? null) === 'Ya' ? 'Ya' : 'Tidak';
|
||||
|
||||
$tusuk_sate = [];
|
||||
$tusuk_sate[$tusuk_sate_key] = $data['tusuk_sate_ya'] ?? null;
|
||||
|
||||
|
||||
return [
|
||||
'tanah' => [
|
||||
'luas_tanah' => $luas_tanah,
|
||||
'hadap_mata_angin' => $hadap_mata_angin,
|
||||
'bentuk_tanah' => $this->getFieldData(
|
||||
$data,
|
||||
'bentuk_tanah',
|
||||
false,
|
||||
'lainnya'
|
||||
),
|
||||
'kontur_tanah' => $data['kontur_tanah'] ?? [],
|
||||
'ketinggian_tanah' => [
|
||||
'ketinggian' => $data['ketinggian_jalan'] ?? null,
|
||||
'lebih_tinggi' => $data['ketinggian_lebih_tinggi'] ?? null,
|
||||
'lebih_rendah' => $data['ketinggian_lebih_rendah'] ?? null
|
||||
],
|
||||
'kontur_jalan' => $data['kontur_jalan'] ?? null,
|
||||
'ketinggian_jalan' => $data['ketinggian_jalan'] ?? [],
|
||||
'posisi_kavling' => $this->getFieldData(
|
||||
$data,
|
||||
'posisi_kavling',
|
||||
false,
|
||||
'lainnya'
|
||||
),
|
||||
|
||||
'tusuk_sate' => $tusuk_sate,
|
||||
'lockland' => $data['lockland'] ?? null,
|
||||
'kondisi_fisik_tanah' => $this->getFieldData(
|
||||
$data,
|
||||
'kondisi_fisik_tanah',
|
||||
false,
|
||||
'lainnya'
|
||||
)
|
||||
]
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
private function getBangunanData($data, $request): array
|
||||
{
|
||||
$data = $request->all();
|
||||
$result = [];
|
||||
|
||||
|
||||
foreach ($request->input('nama_bangunan') as $index => $buildingName) {
|
||||
if (empty($buildingName)) {
|
||||
continue;
|
||||
} // Skip if building name is empty
|
||||
|
||||
$buildingData = [];
|
||||
$buildingData['bagunan'] = $buildingName;
|
||||
|
||||
$specCategories = $request->input('spek_kategori_bangunan');
|
||||
$buildingData['spek_kategori_bangunan'] = [];
|
||||
|
||||
if (!empty($specCategories)) {
|
||||
foreach ($specCategories as $category) {
|
||||
if (empty($category)) {
|
||||
continue;
|
||||
} // Skip empty categories
|
||||
|
||||
$specs = $request->input("spek_bangunan.{$index}.{$category}", []);
|
||||
|
||||
// Only add category if it has specifications
|
||||
if (!empty($specs)) {
|
||||
$buildingData['spek_kategori_bangunan'][$category] = $specs;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Only add building data if it has specifications
|
||||
if (!empty($buildingData['spek_kategori_bangunan'])) {
|
||||
$result[] = $buildingData;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
$luas_tanah_bagunan_key = ($data['luas_tanah_bagunan'] ?? null) === 'sesuai' ? 'sesuai' : 'tidak sesuai';
|
||||
$luas_tanah_bagunan = [];
|
||||
|
||||
$hasil_tanah_bagunan = $luas_tanah_bagunan_key === 'sesuai'
|
||||
? ($data['luas_bangunan_sesuai'] ?? null)
|
||||
: ($data['luas_tanah_bagunan_tidak_sesuai'] ?? null);
|
||||
|
||||
// Masukkan key baru yang sesuai
|
||||
$luas_tanah_bagunan[$luas_tanah_bagunan_key] = preg_replace('/[^0-9.,]/', '', $hasil_tanah_bagunan);
|
||||
|
||||
|
||||
return [
|
||||
'bangunan' => [
|
||||
'luas_tanah_bagunan' => $luas_tanah_bagunan,
|
||||
'jenis_bangunan' => $data['jenis_bangunan'] ?? null,
|
||||
'kondisi_bangunan' => $data['kondisi_bangunan'] ?? null,
|
||||
'sifat_bangunan' => $data['sifat_bangunan'] ?? null,
|
||||
'sifat_bangunan_input' => $data['sifat_bangunan_input'] ?? null,
|
||||
'spesifikasi_bangunan' => $result ?? null,
|
||||
'sarana_pelengkap' => $data['sarana_pelengkap'] ?? null,
|
||||
'sarana_pelengkap_input' => $data['sarana_pelengkap_input'] ?? null,
|
||||
],
|
||||
];
|
||||
}
|
||||
|
||||
private function getLingkunganData($data, $request): array
|
||||
{
|
||||
return [
|
||||
'lingkungan' => [
|
||||
'jarak_jalan_utama' => $data['jarak_jalan_utama'] ?? null,
|
||||
'jalan_linkungan' => $data['jalan_linkungan'] ?? null,
|
||||
'jarak_cbd_point' => $data['jarak_cbd_point'] ?? null,
|
||||
'nama_cbd_point' => $data['nama_cbd_point'] ?? null,
|
||||
'lebar_perkerasan_jalan' => $data['lebar_perkerasan_jalan'] ?? null,
|
||||
'perkerasan_jalan' => $this->getFieldData(
|
||||
$data,
|
||||
'perkerasan_jalan',
|
||||
false,
|
||||
'lainnya'
|
||||
),
|
||||
'lalu_lintas' => $data['lalu_lintas'] ?? null,
|
||||
'gol_mas_sekitar' => $data['gol_mas_sekitar'] ?? null,
|
||||
'tingkat_keramaian' => $data['tingkat_keramaian'] ?? null,
|
||||
'terletak_diarea' => $this->getFieldData(
|
||||
$data,
|
||||
'terletak_diarea',
|
||||
false,
|
||||
'lainnya'
|
||||
),
|
||||
'disekitar_lokasi' => ($data['disekitar_lokasi'] ?? null) === 'yes' ? [
|
||||
'kondisi' => $data['kondisi_bagunan_disekitar_lokasi'] ?? null,
|
||||
'sifat' => $data['sifat_bagunan_disekitar_lokasi'] ?? null,
|
||||
] : ($data['disekitar_lokasi'] ?? null),
|
||||
|
||||
'kondisi_bagunan_disekitar_lokasi' => $data['kondisi_bagunan_disekitar_lokasi'] ?? null,
|
||||
'sifat_bagunan_disekitar_lokasi' => $data['sifat_bagunan_disekitar_lokasi'] ?? null,
|
||||
'dekat_makam' => $data['dekat_makam'] ?? null,
|
||||
'jarak_makam' => $data['jarak_makam'] ?? null,
|
||||
'nama_makam' => $data['nama_makam'] ?? null,
|
||||
'dekat_tps' => $data['dekat_tps'] ?? null,
|
||||
'jarak_tps' => $data['jarak_tps'] ?? null,
|
||||
'nama_tps' => $data['nama_tps'] ?? null,
|
||||
'dekat_lainnya' => $data['dekat_lainnya'] ?? null,
|
||||
'merupakan_daerah' => $data['merupakan_daerah'] ?? null,
|
||||
'fasilitas_dekat_object' => $data['fasilitas_dekat_object'] ?? null,
|
||||
'fasilitas_dekat_object_input' => $data['fasilitas_dekat_object_input'] ?? null,
|
||||
]
|
||||
];
|
||||
}
|
||||
|
||||
private function getFactData($data, $request): array
|
||||
{
|
||||
$factData = [
|
||||
'fakta' => [
|
||||
'fakta_positif' => $data['fakta_positif'] ?? null,
|
||||
'fakta_negatif' => $data['fakta_negatif'] ?? null,
|
||||
'rute_menuju' => $data['rute_menuju'] ?? null,
|
||||
'batas_batas' => $data['batas_batas'] ?? null,
|
||||
'batas_batas_input' => $data['batas_batas_input'] ?? null,
|
||||
'kondisi_lingkungan' => $data['kondisi_lingkungan'] ?? null,
|
||||
'kondisi_lain_bangunan' => $data['kondisi_lain_bangunan'] ?? null,
|
||||
'informasi_dokument' => $data['informasi_dokument'] ?? null,
|
||||
'peruntukan' => $data['peruntukan'] ?? null,
|
||||
'kdb' => $data['kdb'] ?? null,
|
||||
'kdh' => $data['kdh'] ?? null,
|
||||
'gsb' => $data['gsb'] ?? null,
|
||||
'max_lantai' => $data['max_lantai'] ?? null,
|
||||
'klb' => $data['klb'] ?? null,
|
||||
'gss' => $data['gss'] ?? null,
|
||||
'pelebaran_jalan' => $data['pelebaran_jalan'] ?? null,
|
||||
'nama_petugas' => $data['nama_petugas'] ?? null,
|
||||
'keterangan' => $data['keterangan'] ?? null,
|
||||
]
|
||||
];
|
||||
|
||||
|
||||
$inspeksi = Inspeksi::where('permohonan_id', $request->input('permohonan_id'))->where('dokument_id', $request->input('dokument_id'))->first();
|
||||
|
||||
|
||||
$fotoTypes = [
|
||||
'foto_gistaru',
|
||||
'foto_bhumi',
|
||||
'foto_argis_region',
|
||||
'foto_tempat',
|
||||
'foto_sentuh_tanahku',
|
||||
'upload_gs'
|
||||
];
|
||||
|
||||
if ($inspeksi) {
|
||||
$dataForm = json_decode($inspeksi->data_form, true);
|
||||
foreach ($fotoTypes as $fotoType) {
|
||||
// Jika ada file baru diupload
|
||||
if ($request->hasFile($fotoType)) {
|
||||
$factData[$fotoType] = $this->updateOrDeleteFile($dataForm, $request, $fotoType) ?: null;
|
||||
} else {
|
||||
$factData[$fotoType] = $dataForm[$fotoType] ?? null;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
foreach ($fotoTypes as $fotoType) {
|
||||
$factData[$fotoType] = $this->updateOrDeleteFile($data, $request, $fotoType) ?: null;
|
||||
}
|
||||
}
|
||||
|
||||
return $factData;
|
||||
}
|
||||
|
||||
private function getRapData($data, $request): array
|
||||
{
|
||||
|
||||
$inspeksi = Inspeksi::where('permohonan_id', $request->input('permohonan_id'))
|
||||
->where('dokument_id', $request->input('dokument_id'))
|
||||
->first();
|
||||
|
||||
$dataForm = json_decode($inspeksi->data_form, true);
|
||||
|
||||
$perizinanData = isset($dataForm['perizinan']) ? $dataForm['perizinan'] : [];
|
||||
|
||||
if ($request->has('perizinan')) {
|
||||
foreach ($request->perizinan as $key => $perizinanName) {
|
||||
// Cek apakah ada file baru yang diupload
|
||||
if ($request->hasFile("perizinan_file.{$key}")) {
|
||||
// Jika ada file baru, tambahkan/update data
|
||||
$file = $request->file("perizinan_file.{$key}");
|
||||
$path = $file->store('perizinan', 'public');
|
||||
|
||||
// Cek apakah perizinan dengan nama yang sama sudah ada
|
||||
$existingIndex = array_search($perizinanName, array_column($perizinanData, 'perizinan'));
|
||||
|
||||
if ($existingIndex !== false) {
|
||||
// Update file untuk perizinan yang sudah ada
|
||||
$perizinanData[$existingIndex] = [
|
||||
'perizinan' => $perizinanName,
|
||||
'perizinan_file' => $path
|
||||
];
|
||||
} else {
|
||||
// Tambah perizinan baru
|
||||
$perizinanData[] = [
|
||||
'perizinan' => $perizinanName,
|
||||
'perizinan_file' => $path
|
||||
];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$data['perizinan'] = $perizinanData;
|
||||
|
||||
|
||||
|
||||
$partisiResult = [];
|
||||
if (isset($data['partisi'])) {
|
||||
foreach ($data['partisi'] as $name => $values) {
|
||||
if (!empty($values['value'])) {
|
||||
$partisiResult[$name] = [
|
||||
'nama' => $values['nama'],
|
||||
'value' => $values['value']
|
||||
];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$brosurData = isset($dataForm['brosur_price_list']) ? $dataForm['brosur_price_list'] : [];
|
||||
|
||||
if ($request->has('brosur_price_list')) {
|
||||
foreach ($request->brosur_price_list as $key => $jenis) {
|
||||
// Cek apakah ada file baru yang diupload
|
||||
if ($request->hasFile("brosur_price_list_file.{$key}")) {
|
||||
// Jika ada file baru, tambahkan/update data
|
||||
$file = $request->file("brosur_price_list_file.{$key}");
|
||||
$path = $file->store('brosur-pricelist', 'public');
|
||||
|
||||
// Cek apakah jenis brosur yang sama sudah ada
|
||||
$existingIndex = array_search($jenis, array_column($brosurData, 'jenis'));
|
||||
|
||||
if ($existingIndex !== false) {
|
||||
// Update file untuk jenis yang sudah ada
|
||||
$brosurData[$existingIndex] = [
|
||||
'jenis' => $jenis,
|
||||
'file_path' => $path
|
||||
];
|
||||
} else {
|
||||
// Tambah jenis brosur baru
|
||||
$brosurData[] = [
|
||||
'jenis' => $jenis,
|
||||
'file_path' => $path
|
||||
];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$data['brosur_price_list'] = $brosurData;
|
||||
$rapData = [
|
||||
'perizinan' => $perizinanData ?? null,
|
||||
'brosur_price_list' => $brosurData ?? null,
|
||||
|
||||
'pengalaman_developer' => $data['pengalaman_developer'] ?? null,
|
||||
'developer_anggota' => $data['developer_anggota'] ?? null,
|
||||
'lainnya_developer' => $data['lainnya_developer'] ?? null,
|
||||
'kapan_mulai_dibangun' => $data['kapan_mulai_dibangun'] ?? null,
|
||||
'kondisi_perumahan' => $data['kondisi_perumahan'] ?? null,
|
||||
'progres_pembangunan' => $data['progres_pembangunan'] ?? null,
|
||||
'kontraktor' => $data['kontraktor'] ?? null,
|
||||
'lingkungan_sekitar' => $data['lingkungan_sekitar'] ?? null,
|
||||
'komplek_disekitar' => $data['komplek_disekitar'] ?? null,
|
||||
'pusat_keramaian' => $data['pusat_keramaian'] ?? null,
|
||||
'transportasi_umum' => $data['transportasi_umum'] ?? null,
|
||||
'lainnya_kondisi' => $data['lainnya_kondisi'] ?? null,
|
||||
'partisi' => $partisiResult ?? null,
|
||||
'jumlah_unit' => $data['jumlah_unit'] ?? null,
|
||||
'batas_batas_perumahan' => $data['batas_batas_perumahan'] ?? null,
|
||||
'fasus_fasum' => $data['fasus_fasum'] ?? null,
|
||||
'progres_penjualan' => $data['progres_penjualan'] ?? null,
|
||||
'harga_unit' => $data['harga_unit'] ?? null,
|
||||
'target_market' => $data['target_market'] ?? null,
|
||||
'kerjasama_dengan_bank' => $data['kerjasama_dengan_bank'] ?? null,
|
||||
'rute_menuju_lokasi' => $data['rute_menuju_lokasi'] ?? null,
|
||||
'properti_sejenis' => $data['properti_sejenis'] ?? null,
|
||||
];
|
||||
|
||||
return $rapData;
|
||||
}
|
||||
|
||||
private function updateOrDeleteFile($data, $request, $fileKey)
|
||||
{
|
||||
if ($request->hasFile($fileKey)) {
|
||||
$file = $request->file($fileKey);
|
||||
if ($file->isValid()) {
|
||||
$fileName = time() . '_' . $file->getClientOriginalName();
|
||||
$path = $file->storeAs("public/surveyor/{$request->type}", $fileName);
|
||||
|
||||
if ($path === false) {
|
||||
throw new Exception("Failed to store file for {$fileKey}");
|
||||
}
|
||||
if (isset($data[$fileKey]) && $data[$fileKey]) {
|
||||
$this->deleteFile($data[$fileKey]);
|
||||
}
|
||||
return str_replace('public/', '', $path);
|
||||
} else {
|
||||
throw new Exception("Invalid file upload for {$fileKey}");
|
||||
}
|
||||
} elseif (isset($data[$fileKey]) && $data[$fileKey]) {
|
||||
return $data[$fileKey];
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
private function deleteFile($filePath)
|
||||
{
|
||||
$fullPath = storage_path('app/public/' . $filePath);
|
||||
if (file_exists($fullPath)) {
|
||||
unlink($fullPath);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private function getKapalData($data, $request): array
|
||||
{
|
||||
|
||||
$alamatData = [
|
||||
'village_code' => $data['village_code'] ?? null,
|
||||
'district_code' => $data['district_code'] ?? null,
|
||||
'city_code' => $data['city_code'] ?? null,
|
||||
'province_code' => $data['province_code'] ?? null,
|
||||
];
|
||||
return [
|
||||
|
||||
'action' => $data['action'] ?? null,
|
||||
'nama_wakil_debitur' => $data['nama_wakil_debitur'] ?? null,
|
||||
'hub_calon_debitur' => $data['hub_calon_debitur'] ?? null,
|
||||
'dermaga' => $data['dermaga'] ?? null,
|
||||
'nama_jalan' => $data['nama_jalan'] ?? null,
|
||||
'perumahan_gang' => $data['perumahan_gang'] ?? null,
|
||||
'blok_nomor' => $data['blok_nomor'] ?? null,
|
||||
'bandara' => $data['bandara'] ?? null,
|
||||
'alamat' => [
|
||||
'sesuai' => $alamatData
|
||||
],
|
||||
'jenis_kapal' => $data['jenis_kapal'] ?? null,
|
||||
'jenis_kapal_lainnya' => $data['jenis_kapal_lainnya'] ?? null,
|
||||
'size' => $data['size'] ?? null,
|
||||
'kondisi' => $data['kondisi'] ?? null,
|
||||
'klasifikasi' => $data['klasifikasi'] ?? null,
|
||||
|
||||
'nama_kapal' => $data['nama_kapal'] ?? null,
|
||||
'pemilik_kapal' => $data['pemilik_kapal'] ?? null,
|
||||
'bendera' => $data['bendera'] ?? null,
|
||||
'nomor_selar' => $data['nomor_selar'] ?? null,
|
||||
'kapal' => $data['kapal'] ?? null,
|
||||
'galangan_kapal' => $data['galangan_kapal'] ?? null,
|
||||
'kapal_shipyard' => $data['kapal_shipyard'] ?? null,
|
||||
'tahun_pembuatan' => $data['tahun_pembuatan'] ?? null,
|
||||
'tahun_launcing' => $data['tahun_launcing'] ?? null,
|
||||
'dwt' => $data['dwt'] ?? null,
|
||||
'lwt' => $data['lwt'] ?? null,
|
||||
'gross_tonnage' => $data['gross_tonnage'] ?? null,
|
||||
'net_tonnage' => $data['net_tonnage'] ?? null,
|
||||
'tenaga_mesin' => $data['tenaga_mesin'] ?? null,
|
||||
'loa' => $data['loa'] ?? null,
|
||||
'lbp' => $data['lbp'] ?? null,
|
||||
'beam' => $data['beam'] ?? null,
|
||||
'depth' => $data['depth'] ?? null,
|
||||
'draft' => $data['draft'] ?? null,
|
||||
|
||||
|
||||
'lambung_kapal' => $data['lambung_kapal'] ?? null,
|
||||
'dek' => $data['dek'] ?? null,
|
||||
'struktur_rangka' => $data['struktur_rangka'] ?? null,
|
||||
'palka' => $data['palka'] ?? null,
|
||||
'pondasi_mesin' => $data['pondasi_mesin'] ?? null,
|
||||
'area_mesin' => $data['area_mesin'] ?? null,
|
||||
'cat_dan_korosi' => $data['cat_dan_korosi'] ?? null,
|
||||
'sistem_pengelasan' => $data['sistem_pengelasan'] ?? null,
|
||||
'deskripsi_struktur' => $data['deskripsi_struktur'] ?? null,
|
||||
|
||||
'sekoci' => $data['sekoci'] ?? null,
|
||||
'jaket_pelampung' => $data['jaket_pelampung'] ?? null,
|
||||
'alat_pemadaman' => $data['alat_pemadaman'] ?? null,
|
||||
'rambu_darurat' => $data['rambu_darurat'] ?? null,
|
||||
'sistem_alarm' => $data['sistem_alarm'] ?? null,
|
||||
'sistem_pencegah' => $data['sistem_pencegah'] ?? null,
|
||||
'kebakaran' => $data['kebakaran'] ?? null,
|
||||
'lampu_darurat' => $data['lampu_darurat'] ?? null,
|
||||
'deskripsi_peralatan' => $data['deskripsi_peralatan'] ?? null,
|
||||
|
||||
'gps' => $data['gps'] ?? null,
|
||||
'radar' => $data['radar'] ?? null,
|
||||
'radio_komunikasi' => $data['radio_komunikasi'] ?? null,
|
||||
'lampu_navigasi' => $data['lampu_navigasi'] ?? null,
|
||||
'sistem_kendali_otomatis' => $data['sistem_kendali_otomatis'] ?? null,
|
||||
'kompas' => $data['kompas'] ?? null,
|
||||
'deskripsi_navigasi' => $data['deskripsi_navigasi'] ?? null,
|
||||
|
||||
'mesin_utama' => $data['mesin_utama'] ?? null,
|
||||
'mesin_bantu' => $data['mesin_bantu'] ?? null,
|
||||
'pompa_pendingin' => $data['pompa_pendingin'] ?? null,
|
||||
'sistem_pelumasan' => $data['sistem_pelumasan'] ?? null,
|
||||
'propeller' => $data['propeller'] ?? null,
|
||||
'sistem_kelistrikan' => $data['sistem_kelistrikan'] ?? null,
|
||||
'deskripsi_mesin_penggerak' => $data['deskripsi_mesin_penggerak'] ?? null,
|
||||
|
||||
'lampu_navigasi' => $data['lampu_navigasi'] ?? null,
|
||||
'sistem_penerangan' => $data['sistem_penerangan'] ?? null,
|
||||
'sistem_panel_distribusi' => $data['sistem_panel_distribusi'] ?? null,
|
||||
'kabel_perangkat' => $data['kabel_perangkat'] ?? null,
|
||||
'deskripsi_kelistrikan' => $data['deskripsi_kelistrikan'] ?? null,
|
||||
|
||||
'kebersihan_dek_luar' => $data['kebersihan_dek_luar'] ?? null,
|
||||
'tangki_limbah' => $data['tangki_limbah'] ?? null,
|
||||
'sistem_pengelolaan_limbah' => $data['sistem_pengelolaan_limbah'] ?? null,
|
||||
'pengelolaan_air_ballast' => $data['pengelolaan_air_ballast'] ?? null,
|
||||
'deskripsi_kebersihan' => $data['deskripsi_kebersihan'] ?? null,
|
||||
|
||||
'fakta_positif' => $data['fakta_positif'] ?? null,
|
||||
'fakta_negatif' => $data['fakta_negatif'] ?? null,
|
||||
'analisa_makro' => $data['analisa_makro'] ?? null,
|
||||
'kesimpulan' => $data['kesimpulan'] ?? null,
|
||||
'catatan' => $data['catatan'] ?? null,
|
||||
|
||||
];
|
||||
}
|
||||
public function getKendaraanData($data, $request): array
|
||||
{
|
||||
$alamatData = [
|
||||
'village_code' => $data['village_code'] ?? null,
|
||||
'district_code' => $data['district_code'] ?? null,
|
||||
'city_code' => $data['city_code'] ?? null,
|
||||
'province_code' => $data['province_code'] ?? null,
|
||||
];
|
||||
|
||||
return [
|
||||
'action' => $data['action'] ?? null,
|
||||
'tanggal_survey' => $data['tanggal_survey'] ?? null,
|
||||
'nama_wakil' => $data['nama_wakil'] ?? null,
|
||||
'hub_calon_debitur' => $data['hub_calon_debitur'] ?? null,
|
||||
'nama_jalan' => $data['nama_jalan'] ?? null,
|
||||
'perumahan_gang' => $data['perumahan_gang'] ?? null,
|
||||
'blok_nomor' => $data['blok_nomor'] ?? null,
|
||||
'alamat' => [
|
||||
'sesuai' => $alamatData
|
||||
],
|
||||
'masa_stnk' => $data['masa_stnk'] ?? null,
|
||||
'masa_pajak' => $data['masa_pajak'] ?? null,
|
||||
'kendaraan' => $data['kendaraan'] ?? null,
|
||||
'kendaraan_input' => $data['kendaraan_input'] ?? null,
|
||||
'kondisi' => $data['kondisi'] ?? null,
|
||||
|
||||
'nomor_polisi' => $data['nomor_polisi'] ?? null,
|
||||
'nomor_polis_tidak_sesuai' => $data['nomor_polis_tidak_sesuai'] ?? null,
|
||||
'merek' => $data['merek'] ?? null,
|
||||
'merek_tidak_sesuai' => $data['merek_tidak_sesuai'] ?? null,
|
||||
'warna' => $data['warna'] ?? null,
|
||||
'warna_tidak_sesuai' => $data['warna_tidak_sesuai'] ?? null,
|
||||
'nomor_rangka' => $data['nomor_rangka'] ?? null,
|
||||
'nomor_rangka_tidak_sesuai' => $data['nomor_rangka_tidak_sesuai'] ?? null,
|
||||
'nomor_mesin' => $data['nomor_mesin'] ?? null,
|
||||
'nomor_mesin_tidak_sesuai' => $data['nomor_mesin_tidak_sesuai'] ?? null,
|
||||
'posisi_kilometer' => $data['posisi_kilometer'] ?? null,
|
||||
'transmisi' => $data['transmisi'] ?? null,
|
||||
'transmisi_input' => $data['transmisi_input'] ?? null,
|
||||
'mesin_panel_instrument' => $data['mesin_panel_instrument'] ?? null,
|
||||
'mesin_panel_instrument_input' => $data['mesin_panel_instrument_input'] ?? null,
|
||||
'fungsi_mesin_panel_instrument' => $data['fungsi_mesin_panel_instrument'] ?? null,
|
||||
'fungsi_mesin_panel_instrument_input' => $data['fungsi_mesin_panel_instrument_input'] ?? null,
|
||||
'interior' => $data['interior'] ?? null,
|
||||
'interior_input' => $data['interior_input'] ?? null,
|
||||
'jumlah_pintu' => $data['jumlah_pintu'] ?? null,
|
||||
'jumlah_pintu_input' => $data['jumlah_pintu_input'] ?? null,
|
||||
'rangka_karoseri' => $data['rangka_karoseri'] ?? null,
|
||||
'rangka_karoseri_input' => $data['rangka_karoseri_input'] ?? null,
|
||||
'ban' => $data['ban'] ?? null,
|
||||
'ban_input' => $data['ban_input'] ?? null,
|
||||
'velg' => $data['velg'] ?? null,
|
||||
'velg_input' => $data['velg_input'] ?? null,
|
||||
|
||||
|
||||
|
||||
'bamper_depan' => $data['bamper_depan'] ?? null,
|
||||
'bamper_depan_input' => $data['bamper_depan_input'] ?? null,
|
||||
'bamper_belakang' => $data['bamper_belakang'] ?? null,
|
||||
'bamper_belakang_input' => $data['bamper_belakang_input'] ?? null,
|
||||
'lampu_depan' => $data['lampu_depan'] ?? null,
|
||||
'lampu_depan_input' => $data['lampu_depan_input'] ?? null,
|
||||
'lampu_belakang' => $data['lampu_belakang'] ?? null,
|
||||
'lampu_belakang_input' => $data['lampu_belakang_input'] ?? null,
|
||||
'kaca_kendaraan' => $data['kaca_kendaraan'] ?? null,
|
||||
'kaca_kendaraan_input' => $data['kaca_kendaraan_input'] ?? null,
|
||||
'air_conditioner' => $data['air_conditioner'] ?? null,
|
||||
'air_conditioner_input' => $data['air_conditioner_input'] ?? null,
|
||||
'tape_radio_cd' => $data['tape_radio_cd'] ?? null,
|
||||
'tape_radio_cd_input' => $data['tape_radio_cd_input'] ?? null,
|
||||
'sensor_parkir' => $data['sensor_parkir'] ?? null,
|
||||
'sensor_parkir_input' => $data['sensor_parkir_input'] ?? null,
|
||||
'sensor_camera_recorder' => $data['sensor_camera_recorder'] ?? null,
|
||||
'sensor_camera_recorder_input' => $data['sensor_camera_recorder_input'] ?? null,
|
||||
'lcd' => $data['lcd'] ?? null,
|
||||
'lcd_input' => $data['lcd_input'] ?? null,
|
||||
'sabuk_keselamatan' => $data['sabuk_keselamatan'] ?? null,
|
||||
'sabuk_keselamatan_input' => $data['sabuk_keselamatan_input'] ?? null,
|
||||
'airbag' => $data['airbag'] ?? null,
|
||||
'airbag_input' => $data['airbag_input'] ?? null,
|
||||
'asuransi' => $data['asuransi'] ?? null,
|
||||
'asuransi_input' => $data['asuransi_input'] ?? null,
|
||||
'perusahaan_asuransi' => $data['perusahaan_asuransi'] ?? null,
|
||||
'tahun_berakhir' => $data['tahun_berakhir'] ?? null,
|
||||
|
||||
|
||||
'fakta_positif' => $data['fakta_positif'] ?? null,
|
||||
'fakta_negatif' => $data['fakta_negatif'] ?? null,
|
||||
'analisa_makro' => $data['analisa_makro'] ?? null,
|
||||
'kesimpulan' => $data['kesimpulan'] ?? null,
|
||||
'catatan' => $data['catatan'] ?? null,
|
||||
];
|
||||
}
|
||||
|
||||
public function getMesinData($data, $request): array
|
||||
{
|
||||
return [
|
||||
'action' => $data['action'] ?? null,
|
||||
'nama_wakil' => $data['nama_wakil'] ?? null,
|
||||
'nama_jalan' => $data['nama_jalan'] ?? null,
|
||||
'perumahan_gang' => $data['perumahan_gang'] ?? null,
|
||||
'blok' => $data['blok'] ?? null,
|
||||
'desa_kelurahan' => $data['desa_kelurahan'] ?? null,
|
||||
'kecamatan' => $data['kecamatan'] ?? null,
|
||||
'kota_madya' => $data['kota_madya'] ?? null,
|
||||
'provinsi' => $data['provinsi'] ?? null,
|
||||
'hub_calon_debitur' => $data['hub_calon_debitur'] ?? null,
|
||||
'tipe_model' => $data['tipe_model'] ?? null,
|
||||
'merek' => $data['merek'] ?? null,
|
||||
'tahun_pembuatan' => $data['tahun_pembuatan'] ?? null,
|
||||
'negara_pembuat' => $data['negara_pembuat'] ?? null,
|
||||
'kondisi_mesin' => $data['kondisi_mesin'] ?? null,
|
||||
'faktor_positif' => $data['faktor_positif'] ?? null,
|
||||
'faktor_negatif' => $data['faktor_negatif'] ?? null,
|
||||
'kesimpulan' => $data['kesimpulan'] ?? null,
|
||||
'catatan' => $data['catatan'] ?? null,
|
||||
];
|
||||
}
|
||||
|
||||
public function getAlatBeratData($data, $request): array
|
||||
{
|
||||
$alamatData = [
|
||||
'village_code' => $data['village_code'] ?? null,
|
||||
'district_code' => $data['district_code'] ?? null,
|
||||
'city_code' => $data['city_code'] ?? null,
|
||||
'province_code' => $data['province_code'] ?? null,
|
||||
];
|
||||
|
||||
return [
|
||||
'action' => $data['action'] ?? null,
|
||||
'tanggal_survey' => $data['tanggal_survey'] ?? null,
|
||||
'nama_wakil' => $data['nama_wakil'] ?? null,
|
||||
'hub_calon_debitur' => $data['hub_calon_debitur'] ?? null,
|
||||
'dengan_wadeb' => $data['dengan_wadeb'] ?? null,
|
||||
'nama_jalan' => $data['nama_jalan'] ?? null,
|
||||
'perumahan_gang' => $data['perumahan_gang'] ?? null,
|
||||
'blok_nomor' => $data['blok_nomor'] ?? null,
|
||||
'alamat' => [
|
||||
'sesuai' => $alamatData
|
||||
],
|
||||
'jenis_model' => $data['jenis_model'] ?? null,
|
||||
'nomor_lambung' => $data['nomor_lambung'] ?? null,
|
||||
'model_unit' => $data['model_unit'] ?? null,
|
||||
'tahun_pembuatan' => $data['tahun_pembuatan'] ?? null,
|
||||
'merk' => $data['merk'] ?? null,
|
||||
'negara_pembuat' => $data['negara_pembuat'] ?? null,
|
||||
'tahun_pembelian' => $data['tahun_pembelian'] ?? null,
|
||||
'nomor_faktur' => $data['nomor_faktur'] ?? null,
|
||||
'nomor_kontrak' => $data['nomor_kontrak'] ?? null,
|
||||
'nama_pemilik' => $data['nama_pemilik'] ?? null,
|
||||
'alamat_pemilik' => $data['alamat_pemilik'] ?? null,
|
||||
'nomor_asuransi' => $data['nomor_asuransi'] ?? null,
|
||||
'nomor_rangka' => $data['nomor_rangka'] ?? null,
|
||||
'nomor_mesin' => $data['nomor_mesin'] ?? null,
|
||||
'hour_mesters' => $data['hour_mesters'] ?? null,
|
||||
'overhaul_mesin' => $data['overhaul_mesin'] ?? null,
|
||||
|
||||
'mesin_panel' => $data['mesin_panel'] ?? null,
|
||||
'mesin_panel_input' => $data['mesin_panel_input'] ?? null,
|
||||
'fungsi_panel' => $data['fungsi_panel'] ?? null,
|
||||
'fungsi_panel_input' => $data['fungsi_panel_input'] ?? null,
|
||||
'interior' => $data['interior'] ?? null,
|
||||
'interior_input' => $data['interior_input'] ?? null,
|
||||
'rangka_Karoseri' => $data['rangka_Karoseri'] ?? null,
|
||||
'rangka_Karoseri_input' => $data['rangka_Karoseri_input'] ?? null,
|
||||
'ban' => $data['ban'] ?? null,
|
||||
'ban_input' => $data['ban_input'] ?? null,
|
||||
'velg' => $data['velg'] ?? null,
|
||||
'velg_input' => $data['velg_input'] ?? null,
|
||||
'air_conditioner' => $data['air_conditioner'] ?? null,
|
||||
'air_conditioner_input' => $data['air_conditioner_input'] ?? null,
|
||||
'aksesoris' => $data['aksesoris'] ?? null,
|
||||
'aksesoris_input' => $data['aksesoris_input'] ?? null,
|
||||
'lcd' => $data['lcd'] ?? null,
|
||||
'lcd_input' => $data['lcd_input'] ?? null,
|
||||
'perlengkapan' => $data['perlengkapan'] ?? null,
|
||||
'perlengkapan_input' => $data['perlengkapan_input'] ?? null,
|
||||
'asuransi' => $data['asuransi'] ?? null,
|
||||
'asuransi_input' => $data['asuransi_input'] ?? null,
|
||||
'perusahaan_asuransi' => $data['perusahaan_asuransi'] ?? null,
|
||||
'tahun_berakhir' => $data['tahun_berakhir'] ?? null,
|
||||
'sensor_kamera' => $data['sensor_kamera'] ?? null,
|
||||
'sabuk_keselamatan' => $data['sabuk_keselamatan'] ?? null,
|
||||
'air_bag' => $data['air_bag'] ?? null,
|
||||
|
||||
'fakta_positif' => $data['fakta_positif'] ?? null,
|
||||
'fakta_negatif' => $data['fakta_negatif'] ?? null,
|
||||
'kesimpulan' => $data['kesimpulan'] ?? null,
|
||||
'catatan' => $data['catatan'] ?? null,
|
||||
];
|
||||
}
|
||||
|
||||
private function getPesawatData($data, $request): array
|
||||
{
|
||||
$alamatData = [
|
||||
'village_code' => $data['village_code'] ?? null,
|
||||
'district_code' => $data['district_code'] ?? null,
|
||||
'city_code' => $data['city_code'] ?? null,
|
||||
'province_code' => $data['province_code'] ?? null,
|
||||
];
|
||||
return [
|
||||
'action' => $data['action'] ?? null,
|
||||
'tanggal_survey' => $data['tanggal_survey'] ?? null,
|
||||
'nama_wakil' => $data['nama_wakil'] ?? null,
|
||||
'hub_calon_debitur' => $data['hub_calon_debitur'] ?? null,
|
||||
'nama_jalan' => $data['nama_jalan'] ?? null,
|
||||
'perumahan_gang' => $data['perumahan_gang'] ?? null,
|
||||
'blok_nomor' => $data['blok_nomor'] ?? null,
|
||||
'bandara' => $data['bandara'] ?? null,
|
||||
'alamat' => [
|
||||
'sesuai' => $alamatData
|
||||
],
|
||||
'jenis_pesawat' => $data['jenis_pesawat'] ?? null,
|
||||
'jenis_pesawat_lainnya' => $data['jenis_pesawat_lainnya'] ?? null,
|
||||
|
||||
'size' => $data['size'] ?? null,
|
||||
'kondisi' => $data['kondisi'] ?? null,
|
||||
'nama_pesawat' => $data['nama_pesawat'] ?? null,
|
||||
'model' => $data['model'] ?? null,
|
||||
'nomor_registrasi' => $data['nomor_registrasi'] ?? null,
|
||||
'tahun_pembuatan' => $data['tahun_pembuatan'] ?? null,
|
||||
'certificate_of_airworthines' => $data['certificate_of_airworthines'] ?? null,
|
||||
'certificate_of_registration' => $data['certificate_of_registration'] ?? null,
|
||||
'total_service_hours' => $data['total_service_hours'] ?? null,
|
||||
'total_service_cycles' => $data['total_service_cycles'] ?? null,
|
||||
|
||||
'last_a_check' => $data['last_a_check'] ?? null,
|
||||
'next_a_check' => $data['next_a_check'] ?? null,
|
||||
'last_b_check' => $data['last_b_check'] ?? null,
|
||||
'next_b_check' => $data['next_b_check'] ?? null,
|
||||
'last_c_check' => $data['last_c_check'] ?? null,
|
||||
'next_c_check' => $data['next_c_check'] ?? null,
|
||||
'next_d_check' => $data['next_d_check'] ?? null,
|
||||
'last_d_check' => $data['last_d_check'] ?? null,
|
||||
'deskripsi_maintenence' => $data['deskripsi_maintenence'] ?? null,
|
||||
|
||||
'instrument_landing_system' => $data['instrument_landing_system'] ?? null,
|
||||
'traffic_collision_avoidance_system' => $data['traffic_collision_avoidance_system'] ?? null,
|
||||
'windshear' => $data['windshear'] ?? null,
|
||||
'electronic_flight' => $data['electronic_flight'] ?? null,
|
||||
'winglets' => $data['winglets'] ?? null,
|
||||
'deskripsi_konfigurasi' => $data['deskripsi_konfigurasi'] ?? null,
|
||||
|
||||
'maksimal_penumpang' => $data['maksimal_penumpang'] ?? null,
|
||||
'jumlah_kursi' => $data['jumlah_kursi'] ?? null,
|
||||
'kursi_pramugari_pramugara' => $data['kursi_pramugari_pramugara'] ?? null,
|
||||
'kartu_fitur_keselamatan' => $data['kartu_fitur_keselamatan'] ?? null,
|
||||
'sabuk_pengaman' => $data['sabuk_pengaman'] ?? null,
|
||||
'lampu_kabin' => $data['lampu_kabin'] ?? null,
|
||||
'lampu_pintu_keluar' => $data['lampu_pintu_keluar'] ?? null,
|
||||
'intercom_kabin' => $data['intercom_kabin'] ?? null,
|
||||
'deskripsi_kabin' => $data['deskripsi_kabin'] ?? null,
|
||||
|
||||
'badan_pesawat' => $data['badan_pesawat'] ?? null,
|
||||
'sayap_pesawat' => $data['sayap_pesawat'] ?? null,
|
||||
'ekor_pesawat' => $data['ekor_pesawat'] ?? null,
|
||||
'landing_gear' => $data['landing_gear'] ?? null,
|
||||
'sistem_pengelasan' => $data['sistem_pengelasan'] ?? null,
|
||||
'deskripsi_struktur' => $data['deskripsi_struktur'] ?? null,
|
||||
|
||||
'gps' => $data['gps'] ?? null,
|
||||
'radar' => $data['radar'] ?? null,
|
||||
'radio_komunikasi' => $data['radio_komunikasi'] ?? null,
|
||||
'lampu_navigasi' => $data['lampu_navigasi'] ?? null,
|
||||
'sistem_autopilot' => $data['sistem_autopilot'] ?? null,
|
||||
'deskripsi_navigasi' => $data['deskripsi_navigasi'] ?? null,
|
||||
|
||||
'tangki_bahan_bakar' => $data['tangki_bahan_bakar'] ?? null,
|
||||
'saluran_pipa_bahan_bakar' => $data['saluran_pipa_bahan_bakar'] ?? null,
|
||||
'pompa_bahan_bakar' => $data['pompa_bahan_bakar'] ?? null,
|
||||
'sistem_hidrolik_utama' => $data['sistem_hidrolik_utama'] ?? null,
|
||||
'sistem_pendigin_hidrolik' => $data['sistem_pendigin_hidrolik'] ?? null,
|
||||
'deskripsi_hidrolik' => $data['deskripsi_hidrolik'] ?? null,
|
||||
|
||||
'mesin_utama' => $data['mesin_utama'] ?? null,
|
||||
'sistem_pendorong' => $data['sistem_pendorong'] ?? null,
|
||||
'sistem_pendigin_mesin' => $data['sistem_pendigin_mesin'] ?? null,
|
||||
'sistem_pelumasan' => $data['sistem_pelumasan'] ?? null,
|
||||
'filter_dan_perangkat_pendukung' => $data['filter_dan_perangkat_pendukung'] ?? null,
|
||||
'deskripsi_kondisi_mesin' => $data['deskripsi_kondisi_mesin'] ?? null,
|
||||
|
||||
'jaket_pelampung' => $data['jaket_pelampung'] ?? null,
|
||||
'pintu_darurat' => $data['pintu_darurat'] ?? null,
|
||||
'alat_pemadaman_kebakaran' => $data['alat_pemadaman_kebakaran'] ?? null,
|
||||
'sistem_alaram_darurat' => $data['sistem_alaram_darurat'] ?? null,
|
||||
'sekoci' => $data['sekoci'] ?? null,
|
||||
'masker_oxigen' => $data['masker_oxigen'] ?? null,
|
||||
'sabuk_pengaman' => $data['sabuk_pengaman'] ?? null,
|
||||
'deskripsi_fungsi_keselamatan' => $data['deskripsi_fungsi_keselamatan'] ?? null,
|
||||
|
||||
'sistem_ventilasi_ac' => $data['sistem_ventilasi_ac'] ?? null,
|
||||
'sistem_penerangan_kabin' => $data['sistem_penerangan_kabin'] ?? null,
|
||||
'panel_informasi_penumpang' => $data['panel_informasi_penumpang'] ?? null,
|
||||
'sistem_hiburan_kabin' => $data['sistem_hiburan_kabin'] ?? null,
|
||||
'deskripsi_Interior' => $data['deskripsi_Interior'] ?? null,
|
||||
|
||||
// Validasi untuk faktor dan kesimpulan
|
||||
|
||||
'fakta_positif' => $data['fakta_positif'] ?? null,
|
||||
'fakta_negatif' => $data['fakta_negatif'] ?? null,
|
||||
'kesimpulan' => $data['kesimpulan'] ?? null,
|
||||
'catatan' => $data['catatan'] ?? null,
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
private function getUnitData($data, $request): array
|
||||
{
|
||||
|
||||
|
||||
$luas_unit_key = ($data['luas_unit'] ?? null) === 'sesuai' ? 'sesuai' : 'tidak sesuai';
|
||||
$luas_unit = [];
|
||||
|
||||
$hasil_luas_unit = $luas_unit_key === 'sesuai'
|
||||
? ($data['luas_unit_sesuai'] ?? null)
|
||||
: ($data['luas_unit_tidak_sesuai'] ?? null);
|
||||
|
||||
// Masukkan key baru yang sesuai
|
||||
$luas_unit[$luas_unit_key] = preg_replace('/[^0-9.,]/', '', $hasil_luas_unit);
|
||||
|
||||
return [
|
||||
'action' => $data['action'] ?? null,
|
||||
'luas_unit' => $luas_unit,
|
||||
'kondisi_unit' => $data['kondisi_unit'] ?? null,
|
||||
'posisi_unit' => $data['posisi_unit'] ?? null,
|
||||
'lantai' => $data['lantai'] ?? null,
|
||||
'view' => $data['view'] ?? null,
|
||||
'bentuk_unit' => $data['bentuk_unit'] ?? null,
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Helper untuk upload file
|
||||
@@ -2599,7 +3463,8 @@ class SurveyorController extends Controller
|
||||
// Tentukan nama file PDF
|
||||
$namaDebiture = $permohonan->debiture->name . '-' . $permohonan->nomor_registrasi;
|
||||
$fileName = 'inspeksi-' . $namaDebiture . '-data.pdf';
|
||||
|
||||
$pdf->set_option('isHtml5ParserEnabled', true);
|
||||
$pdf->set_option('isPhpEnabled', true);
|
||||
return $pdf->stream($fileName);
|
||||
}
|
||||
|
||||
|
||||
@@ -263,81 +263,79 @@
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
|
||||
<div class="card-table scrollable-x-auto pb-3">
|
||||
<a href="{{ route('debitur.jaminan.bulk.download', ['id' => $permohonan->debiture->id, 'jaminan' => $dokumen->id]) }}"
|
||||
class="ml-6 btn btn-dark dark:btn-light">
|
||||
<i class="ki-outline ki-cloud-download"></i> Download Semua Dokumen
|
||||
</a>
|
||||
<table class="table align-middle text-sm text-gray-500">
|
||||
@foreach ($dokumen->detail as $detail)
|
||||
@php $document = $dokumen; @endphp
|
||||
@foreach($document->detail as $detail)
|
||||
<tr>
|
||||
<td class="py-2 text-gray-600 font-normal max-w-[100px]">
|
||||
<td colspan="2">
|
||||
<strong class="text-2xs text-gray-600 uppercase">
|
||||
{{ $loop->index+1 }}. {{ $detail->jenisLegalitasJaminan->name }}
|
||||
</td>
|
||||
<td class="py-2 text-gray-800 font-normal text-2sm">
|
||||
{{ $detail->name ?? '' }}
|
||||
</strong>
|
||||
</td>
|
||||
</tr>
|
||||
@if(isset($detail->details))
|
||||
@if(json_decode($detail->details))
|
||||
@foreach (json_decode($detail->details) as $key => $value)
|
||||
<tr>
|
||||
<td class="py-3 capitalize">
|
||||
{{formatLabel($key)}}
|
||||
</td>
|
||||
<td class="py-2 text-gray-800 font-normal text-2sm">
|
||||
{{ $value ?? "" }}
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
@endif
|
||||
@endif
|
||||
<tr>
|
||||
<td class="py-3 max-w-[100px] align-top">
|
||||
Dokumen Jaminan
|
||||
</td>
|
||||
<td class="py-3 text-gray-700 text-2sm font-normal">
|
||||
|
||||
@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]
|
||||
: []);
|
||||
$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)
|
||||
<div class="flex w-full lg:w-[30%]">
|
||||
<tr>
|
||||
<td>
|
||||
<span class="text-2xs text-gray-600 uppercase pl-3">
|
||||
{{ $loop->index+1 }}. Nomor : {{ $dokumen_nomor[$index] }}
|
||||
</span>
|
||||
</td>
|
||||
<td class="text-left">
|
||||
@if(in_array(Auth::user()->roles[0]->name,['administrator','pemohon-eo']))
|
||||
@if (!empty($dokumen_nomor))
|
||||
<span class="flex-1 mt-2 text-info">Nomor Dokumen :
|
||||
{{ $dokumen_nomor[$index] }}</span>
|
||||
@endif
|
||||
<a href="{{ route('debitur.jaminan.download', ['id' => $permohonan->debiture->id, 'dokumen' => $detail->id, 'index' => $index]) }}"
|
||||
class="flex-none badge badge-sm badge-outline mt-2 mr-2">
|
||||
{{ basename($dokumen) }}
|
||||
<i class="ki-filled ki-cloud-download"></i>
|
||||
</a>
|
||||
@endif
|
||||
<span class="flex-none badge badge-sm badge-outline badge-warning mt-2"
|
||||
onclick="viewPDF('{{ Storage::url($dokumen_jaminan[$index]) }}')"><i
|
||||
class="ki-filled ki-eye mr-2"></i>Preview</span>
|
||||
</div>
|
||||
<br>
|
||||
<span class="badge badge-sm badge-outline badge-warning mt-2" onclick="viewPDF('{{ Storage::url($dokumen_jaminan[$index]) }}')">
|
||||
<i class="ki-filled ki-eye mr-2"></i>Preview
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@if(isset($detail->details) && isset(json_decode($detail->details)[$index]))
|
||||
@foreach (json_decode($detail->details)[$index] as $key => $value)
|
||||
<tr>
|
||||
<td>
|
||||
<span class="text-2xs text-gray-600 uppercase pl-3">
|
||||
- {{ str_replace("_"," ",$key) ?? "" }}
|
||||
</span>
|
||||
</td>
|
||||
<td class="text-left">
|
||||
<p class="text-2xs text-gray-600 max-w-[250px]">
|
||||
{{ $value }}
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
@endif
|
||||
@endforeach
|
||||
@endif
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="py-3 max-w-[100px]">
|
||||
Keterangan
|
||||
<td>
|
||||
<span class="text-2xs text-gray-600 uppercase pl-3">
|
||||
- keterangan
|
||||
</span>
|
||||
</td>
|
||||
<td class="py-3 text-gray-700 text-2sm font-normal">
|
||||
{{ $detail->keterangan ?? '' }}
|
||||
<td class="text-right">
|
||||
<p class="text-2xs text-gray-600 max-w-[250px]">
|
||||
{{ $detail->keterangan }}
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
@@ -349,6 +347,9 @@
|
||||
</div>
|
||||
@if (!isset($status))
|
||||
</div>
|
||||
|
||||
@include('lpj::component.history-permohonan')
|
||||
|
||||
|
||||
@endif
|
||||
@include('lpj::component.pdfviewer')
|
||||
|
||||
32
resources/views/component/print-out-dokument.blade.php
Normal file
32
resources/views/component/print-out-dokument.blade.php
Normal file
@@ -0,0 +1,32 @@
|
||||
|
||||
@if (@isset($dokumen))
|
||||
@foreach ($dokumen->detail as $detail)
|
||||
@if (isset($detail->dokumen_jaminan))
|
||||
<tr>
|
||||
<td width="25%"><strong>{{ $detail->name ?? '' }}</strong></td>
|
||||
</tr>
|
||||
@endif
|
||||
|
||||
@if (isset($detail->details))
|
||||
@if (json_decode($detail->details))
|
||||
@foreach (json_decode($detail->details) as $value)
|
||||
@foreach ($value as $key => $item)
|
||||
<tr>
|
||||
<td style="padding: 2px;">
|
||||
{{ formatLabel($key) }}
|
||||
</td>
|
||||
<td style="width:1%; padding: 2px; vertical-align: top;">:</td>
|
||||
<td style="padding: 2px;">
|
||||
{{ $item }}
|
||||
@if ($key == 'luas_bangunan' || $key == 'luas_tanah')
|
||||
<sup>m2</sup>
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
@endforeach
|
||||
@endif
|
||||
@endif
|
||||
@endforeach
|
||||
@endif
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
</style>
|
||||
|
||||
<div class="signature-pad-container mx-auto border p-4 max-w-md sm:max-w-lg lg:max-w-xl">
|
||||
<h3 class="signature-title text-lg sm:text-xl font-semibold mb-2">{{ ucfirst($type) }}</h3>
|
||||
<h3 class="signature-title text-md sm:text-lg mb-2 uppercase">{{ ucfirst($type) }}</h3>
|
||||
<div class="w-full aspect-w-2 aspect-h-1">
|
||||
<canvas
|
||||
id="signature-pad-{{ $type }}"
|
||||
|
||||
@@ -255,7 +255,7 @@
|
||||
|
||||
<div id="doctainer" class="grid gap-5">
|
||||
@if(isset($document->id))
|
||||
@php $n = 0; @endphp
|
||||
@php $n = 0; $p_index = 0; @endphp
|
||||
@foreach($document->detail as $detail)
|
||||
<input type="hidden" name="detail_dokumen_jaminan_id[]" value="{{ $detail->id }}">
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
@@ -282,53 +282,41 @@
|
||||
<input class="input " type="text" id="name" name="name[]" value="{{ $detail->name ?? "" }}" placeholder="Nomor">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="document-container-{{ $n }}">
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">
|
||||
Dokumen Jaminan
|
||||
</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<div class="flex flex-col w-full gap-2" id="file-container-{{$n}}">
|
||||
<div class="flex items-center gap-2">
|
||||
<input class="flex-1 input" type="text" name="dokumen_nomor[{{ $n }}][]" placeholder="Nomor Dokumen">
|
||||
<input class="flex-1 file-input" type="file" name="dokumen_jaminan[{{ $n }}][]" accept=".pdf,image/*">
|
||||
<button type="button" class="flex-none btn btn-primary w-[100px] text-center" onclick="addFileInput({{ $n }})">Add More</button>
|
||||
</div>
|
||||
<div id="additional-files-{{ $n }}"></div>
|
||||
</div>
|
||||
|
||||
@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
|
||||
<div class="flex flex-col w-full gap-2">
|
||||
<div class="flex flex-col w-full gap-2" id="document_container">
|
||||
@foreach($dokumen_jaminan as $index => $dokumen)
|
||||
<div class="flex w-full lg:w-[30%]">
|
||||
@if(!empty($dokumen_nomor))
|
||||
<span class="flex-1 mt-2 text-info text-sm">Nomor Dokumen : {{ $dokumen_nomor[$index] }}</span>
|
||||
@endif
|
||||
<div class="flex flex-col w-full gap-2 custom-field-set" id="document_container_{{ $p_index }}">
|
||||
<div class="flex items-start gap-2 mt-2">
|
||||
<input class="flex-1 input" type="text" name="dokumen_nomor[{{ $n }}][]" placeholder="Nomor Dokumen" value="{{ $dokumen_nomor[$index] ?? '' }}">
|
||||
<span class="flex-1">
|
||||
<input class="file-input" type="file" name="dokumen_jaminan[{{ $n }}][]" accept=".pdf,image/*">
|
||||
<input type="hidden" name="dokumen_jaminan[{{ $n }}][]" value="{{ $dokumen }}">
|
||||
<a href="{{ route('debitur.jaminan.download', ['id' => $debitur->id, 'dokumen' => $detail->id, 'index' => $index]) }}"
|
||||
class="flex-none badge badge-sm badge-outline mt-2 mr-2">
|
||||
{{ basename($dokumen) }}
|
||||
<i class="ki-filled ki-cloud-download"></i>
|
||||
</a>
|
||||
</div>
|
||||
@endforeach
|
||||
</div>
|
||||
@endif
|
||||
@endif
|
||||
</div>
|
||||
</span>
|
||||
<button type="button" class="flex-none btn btn-danger w-[100px] text-center" onclick="removeFileInput(this)">Remove</button>
|
||||
</div>
|
||||
|
||||
@if($detail->details)
|
||||
@if($detail->jenisLegalitasJaminan->custom_fields)
|
||||
@foreach($detail->jenisLegalitasJaminan->custom_fields as $key)
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 custom-field">
|
||||
@php
|
||||
$customField = getCustomField($key);
|
||||
$fieldValue = json_decode($detail->details)->{$customField->name} ?? '';
|
||||
$fieldValue = json_decode($detail->details)[$index]->{$customField->name} ?? '';
|
||||
@endphp
|
||||
<label class="form-label max-w-56 capitalize">
|
||||
{{ $customField->label ?? "" }}
|
||||
@@ -336,19 +324,19 @@
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
@switch($customField->type)
|
||||
@case('text')
|
||||
<input class="input" type="text" name="custom_field[{{$detail->jenisLegalitasJaminan->id}}][{{$customField->name}}]" value="{{ $fieldValue }}" placeholder="...">
|
||||
<input class="input" type="text" name="custom_field[{{$n}}][{{$p_index}}][{{$customField->name}}]" value="{{ $fieldValue }}" placeholder="...">
|
||||
@break
|
||||
@case('number')
|
||||
<input class="input" type="number" step="0.01" name="custom_field[{{$detail->jenisLegalitasJaminan->id}}][{{$customField->name}}]" value="{{ $fieldValue }}" placeholder="...">
|
||||
<input class="input" type="number" step="0.01" name="custom_field[{{$n}}][{{$p_index}}][{{$customField->name}}]" value="{{ $fieldValue }}" placeholder="...">
|
||||
@break
|
||||
@case('date')
|
||||
<input class="input" type="date" name="custom_field[{{$detail->jenisLegalitasJaminan->id}}][{{$customField->name}}]" value="{{ $fieldValue }}">
|
||||
<input class="input" type="date" name="custom_field[{{$n}}][{{$p_index}}][{{$customField->name}}]" value="{{ $fieldValue }}">
|
||||
@break
|
||||
@case('textarea')
|
||||
<textarea class="textarea" name="custom_field[{{$detail->jenisLegalitasJaminan->id}}][{{$customField->name}}]" placeholder="...">{{ $fieldValue }}</textarea>
|
||||
<textarea class="textarea" name="custom_field[{{$n}}][{{$p_index}}][{{$customField->name}}]" placeholder="...">{{ $fieldValue }}</textarea>
|
||||
@break
|
||||
@case('select')
|
||||
<select class="select" name="custom_field[{{$detail->jenisLegalitasJaminan->id}}][{{$customField->name}}]">
|
||||
<select class="select" name="custom_field[{{$n}}][{{$p_index}}][{{$customField->name}}]">
|
||||
<option value="">Select an option</option>
|
||||
@foreach($customField->options as $option)
|
||||
<option value="{{ $option }}" {{ $fieldValue == $option ? 'selected' : '' }}>{{ $option }}</option>
|
||||
@@ -356,7 +344,7 @@
|
||||
</select>
|
||||
@break
|
||||
@default
|
||||
<input class="input" type="text" name="custom_field[{{$detail->jenisLegalitasJaminan->id}}][{{$customField->name}}]" value="{{ $fieldValue }}" placeholder="...">
|
||||
<input class="input" type="text" name="custom_field[{{$n}}][{{$p_index}}][{{$customField->name}}]" value="{{ $fieldValue }}" placeholder="...">
|
||||
@endswitch
|
||||
</div>
|
||||
</div>
|
||||
@@ -375,19 +363,19 @@
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
@switch($customField->type)
|
||||
@case('text')
|
||||
<input class="input" type="text" name="custom_field[{{$detail->jenisLegalitasJaminan->id}}][{{$customField->name}}]" placeholder="...">
|
||||
<input class="input" type="text" name="custom_field[{{$n}}][{{$p_index}}][{{$customField->name}}]" placeholder="...">
|
||||
@break
|
||||
@case('number')
|
||||
<input class="input" type="number" step="0.01" name="custom_field[{{$detail->jenisLegalitasJaminan->id}}][{{$customField->name}}]" placeholder="...">
|
||||
<input class="input" type="number" step="0.01" name="custom_field[{{$n}}][{{$p_index}}][{{$customField->name}}]" placeholder="...">
|
||||
@break
|
||||
@case('date')
|
||||
<input class="input" type="date" name="custom_field[{{$detail->jenisLegalitasJaminan->id}}][{{$customField->name}}]">
|
||||
<input class="input" type="date" name="custom_field[{{$n}}][{{$p_index}}][{{$customField->name}}]">
|
||||
@break
|
||||
@case('textarea')
|
||||
<textarea class="textarea" name="custom_field[{{$detail->jenisLegalitasJaminan->id}}][{{$customField->name}}]" placeholder="..."></textarea>
|
||||
<textarea class="textarea" name="custom_field[{{$n}}][{{$p_index}}][{{$customField->name}}]" placeholder="..."></textarea>
|
||||
@break
|
||||
@case('select')
|
||||
<select class="select" name="custom_field[{{$detail->jenisLegalitasJaminan->id}}][{{$customField->name}}]">
|
||||
<select class="select" name="custom_field[{{$n}}][{{$p_index}}][{{$customField->name}}]">
|
||||
<option value="">Select an option</option>
|
||||
@foreach($customField->options as $option)
|
||||
<option value="{{ $option }}">{{ $option }}</option>
|
||||
@@ -395,13 +383,75 @@
|
||||
</select>
|
||||
@break
|
||||
@default
|
||||
<input class="input" type="text" name="custom_field[{{$detail->jenisLegalitasJaminan->id}}][{{$customField->name}}]" placeholder="...">
|
||||
<input class="input" type="text" name="custom_field[{{$n}}][{{$p_index}}][{{$customField->name}}]" placeholder="...">
|
||||
@endswitch
|
||||
</div>
|
||||
</div>
|
||||
@endforeach
|
||||
@endif
|
||||
@endif
|
||||
</div>
|
||||
@php $p_index++; @endphp
|
||||
@endforeach
|
||||
</div>
|
||||
<div class="flex items-center justify-end gap-2 my-2 w-full">
|
||||
<button type="button" class="flex-none btn btn-primary text-center" onclick="addFileInput({{$n}},{{ $detail->jenisLegalitasJaminan->id }})">Add File</button>
|
||||
</div>
|
||||
@else
|
||||
<div class="flex flex-col w-full gap-2" id="document_container">
|
||||
<div class="flex items-start gap-2 mt-2">
|
||||
<input class="flex-1 input" type="text" name="dokumen_nomor[{{ $n }}][]" placeholder="Nomor Dokumenss">
|
||||
<span class="flex-1">
|
||||
<input class="file-input" type="file" name="dokumen_jaminan[{{ $n }}][]" accept=".pdf,image/*">
|
||||
</span>
|
||||
</div>
|
||||
@if($detail->jenisLegalitasJaminan->custom_fields)
|
||||
@foreach($detail->jenisLegalitasJaminan->custom_fields as $key)
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
@php
|
||||
$customField = getCustomField($key);
|
||||
@endphp
|
||||
<label class="form-label max-w-56 capitalize">
|
||||
{{ $customField->label }}
|
||||
</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
@switch($customField->type)
|
||||
@case('text')
|
||||
<input class="input" type="text" name="custom_field[{{$n}}][{{$p_index}}][{{$customField->name}}]" placeholder="...">
|
||||
@break
|
||||
@case('number')
|
||||
<input class="input" type="number" step="0.01" name="custom_field[{{$n}}][{{$p_index}}][{{$customField->name}}]" placeholder="...">
|
||||
@break
|
||||
@case('date')
|
||||
<input class="input" type="date" name="custom_field[{{$n}}][{{$p_index}}][{{$customField->name}}]">
|
||||
@break
|
||||
@case('textarea')
|
||||
<textarea class="textarea" name="custom_field[{{$n}}][{{$p_index}}][{{$customField->name}}]" placeholder="..."></textarea>
|
||||
@break
|
||||
@case('select')
|
||||
<select class="select" name="custom_field[{{$n}}][{{$p_index}}][{{$customField->name}}]">
|
||||
<option value="">Select an option</option>
|
||||
@foreach($customField->options as $option)
|
||||
<option value="{{ $option }}">{{ $option }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
@break
|
||||
@default
|
||||
<input class="input" type="text" name="custom_field[{{$n}}][{{$p_index}}][{{$customField->name}}]" placeholder="...">
|
||||
@endswitch
|
||||
</div>
|
||||
</div>
|
||||
@endforeach
|
||||
@endif
|
||||
</div>
|
||||
<div class="flex items-center justify-end gap-2 my-2 w-full">
|
||||
<button type="button" class="flex-none btn btn-primary text-center" onclick="addFileInput({{ $n }},{{ $detail->jenisLegalitasJaminan->id }})">Add File</button>
|
||||
</div>
|
||||
@php $p_index++; @endphp
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">
|
||||
@@ -413,8 +463,11 @@
|
||||
</div>
|
||||
@php $n++; @endphp
|
||||
@endforeach
|
||||
|
||||
@if($legalitas)
|
||||
@foreach($legalitas as $item)
|
||||
<div id="document-container-{{ $n }}">
|
||||
<div class="flex flex-col w-full gap-2">
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56 font-bold">
|
||||
{{ $n + 1 }}. {{ $item->name }}
|
||||
@@ -436,15 +489,10 @@
|
||||
Dokumen Jaminan
|
||||
</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<div class="flex flex-col w-full gap-2" id="file-container-{{$n}}">
|
||||
<div class="flex flex-col w-full gap-2" id="document_container">
|
||||
<div class="flex items-center gap-2">
|
||||
<input class="flex-1 input" type="text" name="dokumen_nomor[{{ $n }}][]" placeholder="Nomor Dokumen">
|
||||
<input class="flex-1 file-input" type="file" name="dokumen_jaminan[{{ $n }}][]" accept=".pdf,image/*">
|
||||
<button type="button" class="flex-none btn btn-primary w-[100px] text-center" onclick="addFileInput({{ $n }})">Add More</button>
|
||||
</div>
|
||||
<div id="additional-files-{{ $n }}"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@if($item->custom_fields)
|
||||
@@ -457,19 +505,19 @@
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
@switch($custom_field->type)
|
||||
@case('text')
|
||||
<input class="input" type="text" name="custom_field[{{$item->id}}][{{$custom_field->name}}]" placeholder="...">
|
||||
<input class="input" type="text" name="custom_field[{{$n}}][{{$p_index}}][{{$custom_field->name}}]" placeholder="...">
|
||||
@break
|
||||
@case('number')
|
||||
<input class="input" type="number" step="0.01" name="custom_field[{{$item->id}}][{{$custom_field->name}}]" placeholder="...">
|
||||
<input class="input" type="number" step="0.01" name="custom_field[{{$n}}][{{$p_index}}][{{$custom_field->name}}]" placeholder="...">
|
||||
@break
|
||||
@case('date')
|
||||
<input class="input" type="date" name="custom_field[{{$item->id}}][{{$custom_field->name}}]">
|
||||
<input class="input" type="date" name="custom_field[{{$n}}][{{$p_index}}][{{$custom_field->name}}]">
|
||||
@break
|
||||
@case('textarea')
|
||||
<textarea class="textarea" name="custom_field[{{$item->id}}][{{$custom_field->name}}]" placeholder="..."></textarea>
|
||||
<textarea class="textarea" name="custom_field[{{$n}}][{{$p_index}}][{{$custom_field->name}}]" placeholder="..."></textarea>
|
||||
@break
|
||||
@case('select')
|
||||
<select class="select" name="custom_field[{{$item->id}}][{{$custom_field->name}}]">
|
||||
<select class="select" name="custom_field[{{$n}}][{{$p_index}}][{{$custom_field->name}}]">
|
||||
<option value="">Select an option</option>
|
||||
@foreach($custom_field->options as $option)
|
||||
<option value="{{ $option }}">{{ $option }}</option>
|
||||
@@ -477,12 +525,19 @@
|
||||
</select>
|
||||
@break
|
||||
@default
|
||||
<input class="input" type="text" name="custom_field[{{$item->id}}][{{$custom_field->name}}]" placeholder="...">
|
||||
<input class="input" type="text" name="custom_field[{{$n}}][{{$p_index}}][{{$custom_field->name}}]" placeholder="...">
|
||||
@endswitch
|
||||
</div>
|
||||
</div>
|
||||
@endforeach
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex items-center justify-end gap-2 my-2 w-full">
|
||||
<button type="button" class="flex-none btn btn-primary text-center" onclick="addFileInput({{ $n }}, {{ $item->id }})">Add File</button>
|
||||
</div>
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">
|
||||
@@ -492,9 +547,11 @@
|
||||
<textarea class="textarea" rows="3" type="number" name="keterangan[]"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
@php $n++; @endphp
|
||||
</div>
|
||||
@php $n++;$p_index++; @endphp
|
||||
@endforeach
|
||||
@endif
|
||||
|
||||
@endif
|
||||
</div>
|
||||
<div class="flex justify-end">
|
||||
@@ -504,6 +561,7 @@
|
||||
</div>
|
||||
</form>
|
||||
|
||||
|
||||
@push('scripts')
|
||||
{{--Pemilik Jaminan--}}
|
||||
<script>
|
||||
@@ -561,6 +619,42 @@
|
||||
|
||||
{{--Legalitas Jaminan--}}
|
||||
<script>
|
||||
function getCustomFields(jenisLegalitasJaminanId, index, newFieldIndex) {
|
||||
return fetch(`/basic-data/jenis-jaminan/custom-fields/${jenisLegalitasJaminanId}`, {
|
||||
method: "GET",
|
||||
headers: {
|
||||
"Content-Type": "application/json",
|
||||
"X-Requested-With": "XMLHttpRequest"
|
||||
}
|
||||
})
|
||||
.then(response => {
|
||||
if (!response.ok) {
|
||||
throw new Error(`HTTP error! status: ${response.status}`);
|
||||
}
|
||||
return response.json();
|
||||
})
|
||||
.then(customFields => {
|
||||
let customFieldsHtml = '';
|
||||
customFields.forEach(field => {
|
||||
customFieldsHtml += `
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 mb-2 custom-field">
|
||||
<label class="form-label max-w-56 capitalize">
|
||||
${field.label}
|
||||
</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
${getCustomFieldInput(index, field.type, field.name, null, jenisLegalitasJaminanId, newFieldIndex)}
|
||||
</div>
|
||||
</div>
|
||||
`;
|
||||
});
|
||||
return customFieldsHtml;
|
||||
})
|
||||
.catch(error => {
|
||||
console.error("Error fetching custom fields:", error);
|
||||
return '';
|
||||
});
|
||||
}
|
||||
|
||||
function getLegalitasJaminan() {
|
||||
var legalitasJaminan = document.getElementById("jenis_jaminan_id").value;
|
||||
var documentId = "{{ $document->id ?? "0" }}";
|
||||
@@ -583,6 +677,7 @@
|
||||
var doctainer = document.getElementById("doctainer");
|
||||
doctainer.innerHTML = "";
|
||||
data.forEach((item, index) => {
|
||||
console.log(item);
|
||||
doctainer.innerHTML += `
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56 font-bold">
|
||||
@@ -600,33 +695,37 @@
|
||||
<input class="input" type="text" name="name[]" value="${item.name || ""}" placeholder="Nomor">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="document-container-${index}">
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">
|
||||
Dokumen Jaminan
|
||||
</label>
|
||||
<div class="flex flex-wrap items-baseline w-full" id="file-container-${index}">
|
||||
<div class="flex flex-wrap items-baseline w-full" id="document_container">
|
||||
<div class="flex flex-col w-full gap-2">
|
||||
${item.dokumen_jaminan ? renderExistingFiles(item.dokumen_jaminan, debiturId, item.id, item.dokumen_nomor) : ""}
|
||||
</div>
|
||||
|
||||
<div class="flex items-center gap-2 my-2 w-full">
|
||||
<input class="flex-1 input" type="text" name="dokumen_nomor[${index}][]" placeholder="Nomor Dokumen">
|
||||
<input class="flex-1 file-input" type="file" name="dokumen_jaminan[${index}][]" accept=".pdf,image/*">
|
||||
<button type="button" class="flex-none btn btn-primary w-[100px] text-center" onclick="addFileInput(${index})">Add File</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
${item.custom_fields && item.custom_fields.length > 0 ? item.custom_fields.map(field => `
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 mb-2 custom-field">
|
||||
<label class="form-label max-w-56 capitalize">
|
||||
${field.label}
|
||||
</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
${getCustomFieldInput(field.type, field.name, item.details, item.jenis_legalitas_jaminan_id)}
|
||||
${getCustomFieldInput(index, field.type, field.name, item.details, item.jenis_legalitas_jaminan_id, 0)}
|
||||
</div>
|
||||
</div>
|
||||
`).join('') : ""}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex items-center justify-end gap-2 my-2 w-full">
|
||||
<button type="button" class="flex-none btn btn-primary text-center" onclick="addFileInput(${index},${item.jenis_legalitas_jaminan_id})">Add File</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">
|
||||
@@ -642,20 +741,39 @@
|
||||
.catch(error => console.error("Error:", error));
|
||||
}
|
||||
|
||||
function addFileInput(index) {
|
||||
const container = document.getElementById(`file-container-${index}`);
|
||||
function addFileInput(index, jenisLegalitasJaminanId = null) {
|
||||
const documentContainer = document.getElementById(`document-container-${index}`);
|
||||
const 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 newInput = document.createElement("div");
|
||||
newInput.className = "flex items-center gap-2 mb-2 w-full";
|
||||
newInput.className = "flex flex-col w-full gap-2 mb-4 custom-field-set";
|
||||
|
||||
getCustomFields(jenisLegalitasJaminanId, index, newFieldIndex).then(customFieldsHtml => {
|
||||
newInput.innerHTML = `
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<div class="flex items-center gap-2 w-full">
|
||||
<input class="flex-1 input" type="text" name="dokumen_nomor[${index}][]" placeholder="Nomor Dokumen">
|
||||
<input class="flex-1 file-input" type="file" name="dokumen_jaminan[${index}][]" accept=".pdf,image/*">
|
||||
<button type="button" class="flex-none btn btn-danger w-[100px] text-center" onclick="removeFileInput(this)">Remove</button>
|
||||
<button type="button" class="flex-none btn btn-danger text-center" onclick="removeFileInput(this)">Remove</button>
|
||||
</div>
|
||||
</div>
|
||||
${customFieldsHtml}
|
||||
`;
|
||||
|
||||
container.appendChild(newInput);
|
||||
});
|
||||
}
|
||||
|
||||
function removeFileInput(button) {
|
||||
button.closest(".flex.items-center.gap-2.mb-2").remove();
|
||||
button.closest(".custom-field-set").remove();
|
||||
|
||||
}
|
||||
|
||||
function renderExistingFiles(dokumenJaminan, debiturId, itemId, dokumenNomor) {
|
||||
@@ -707,19 +825,19 @@
|
||||
return dokumenNomor;
|
||||
}
|
||||
|
||||
function getCustomFieldInput(type, fieldName, value, itemId) {
|
||||
function getCustomFieldInput(index, type, fieldName, value, itemId, fieldIndex = 0) {
|
||||
value = value ? JSON.parse(value)[fieldName] || "" : "";
|
||||
switch (type) {
|
||||
case "text":
|
||||
return `<input class="input" type="text" name="custom_field[${itemId}][${fieldName}]" value="${value}">`;
|
||||
return `<input class="input" type="text" name="custom_field[${index}][${fieldIndex}][${fieldName}]" value="${value}">`;
|
||||
case "number":
|
||||
return `<input class="input" type="number" step="0.01" name="custom_field[${itemId}][${fieldName}]" value="${value}">`;
|
||||
return `<input class="input" type="number" step="0.01" name="custom_field[${index}][${fieldIndex}][${fieldName}]" value="${value}">`;
|
||||
case "date":
|
||||
return `<input class="input" type="date" name="custom_field[${itemId}][${fieldName}]" value="${value}">`;
|
||||
return `<input class="input" type="date" name="custom_field[${index}][${fieldIndex}][${fieldName}]" value="${value}">`;
|
||||
case "textarea":
|
||||
return `<textarea class="textarea" rows="3" name="custom_field[${itemId}][${fieldName}]">${value}</textarea>`;
|
||||
return `<textarea class="textarea" rows="3" name="custom_field[${index}][${fieldIndex}][${fieldName}]">${value}</textarea>`;
|
||||
default:
|
||||
return `<input class="input" type="text" name="custom_field[${itemId}][${fieldName}]" value="${value}">`;
|
||||
return `<input class="input" type="text" name="custom_field[${index}][${fieldIndex}][${fieldName}]" value="${value}">`;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -78,15 +78,26 @@
|
||||
@foreach($document->detail as $detail)
|
||||
<div class="flex items-center justify-between flex-wrap my-2.5 gap-2">
|
||||
<span class="text-2xs text-gray-600 uppercase">
|
||||
{{ $loop->index+1 }}. {{ $detail->jenisLegalitasJaminan->name }}
|
||||
<strong>{{ $loop->index+1 }}. {{ $detail->jenisLegalitasJaminan->name }}</strong>
|
||||
</span>
|
||||
<div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="border-t border-gray-300 border-dashed"></div>
|
||||
|
||||
@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] : []);
|
||||
$count_jaminan = 0;
|
||||
@endphp
|
||||
@foreach($dokumen_jaminan as $index => $dokumen)
|
||||
<div class="flex items-center justify-between flex-wrap my-2.5 gap-2">
|
||||
<span class="text-2xs text-gray-600 uppercase pl-3">
|
||||
{{ $loop->index+1 }}. Nomor : {{ $dokumen_nomor[$index] }}
|
||||
</span>
|
||||
<div>
|
||||
@if(in_array(Auth::user()->roles[0]->name,['administrator','pemohon-eo']))
|
||||
<a href="{{ route('debitur.jaminan.download', ['id' => $debitur->id, 'dokumen' => $detail->id, 'index' => $index]) }}"
|
||||
class="flex-none badge badge-sm badge-outline mt-2 mr-2">
|
||||
@@ -95,22 +106,19 @@
|
||||
</a>
|
||||
@endif
|
||||
<span class="badge badge-sm badge-outline badge-warning mt-2" onclick="viewPDF('{{ Storage::url($dokumen_jaminan[$index]) }}')"><i class="ki-filled ki-eye mr-2"></i>Preview</span>
|
||||
<br>
|
||||
@endforeach
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
<div class="border-t border-gray-300 border-dashed">
|
||||
</div>
|
||||
|
||||
@if(isset($detail->details))
|
||||
@if(json_decode($detail->details))
|
||||
@foreach (json_decode($detail->details) as $key => $value)
|
||||
@if(isset(json_decode($detail->details)[$index]))
|
||||
@foreach (json_decode($detail->details)[$index] as $key => $value)
|
||||
|
||||
<div class="flex items-start justify-between flex-wrap my-2.5 gap-2">
|
||||
<span class="text-2xs text-gray-600 uppercase pl-3">
|
||||
{{ str_replace("_"," ",$key) ?? "" }}
|
||||
</span>
|
||||
<p class="text-2xs text-gray-600 text-right max-w-[250px]">
|
||||
{{ $value ?? "" }}
|
||||
{{ $value }}
|
||||
</p>
|
||||
</div>
|
||||
<div class="border-t border-gray-300 border-dashed">
|
||||
@@ -118,6 +126,9 @@
|
||||
@endforeach
|
||||
@endif
|
||||
@endif
|
||||
@endforeach
|
||||
@endif
|
||||
|
||||
|
||||
<div class="flex items-start justify-between flex-wrap my-2.5 gap-2">
|
||||
<span class="text-2xs text-gray-600 uppercase pl-3">
|
||||
@@ -178,6 +189,7 @@
|
||||
@endif
|
||||
</div>
|
||||
|
||||
|
||||
@include('lpj::component.pdfviewer')
|
||||
|
||||
@push('scripts')
|
||||
|
||||
@@ -124,36 +124,42 @@
|
||||
@endphp
|
||||
|
||||
@foreach ($permohonan->documents as $document)
|
||||
@foreach ($document->detail as $detail)
|
||||
@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
|
||||
$details = json_decode($detail->details);
|
||||
$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($details->luas_tanah) && isset($details->luas_bangunan))
|
||||
@if (isset($luastanah) && isset($luasbangunan))
|
||||
{{ $n }}. {{ $detail->name }}<br>
|
||||
Luas Tanah / Luas Bangunan:
|
||||
{{ preg_replace('/[^0-9.]/', '', str_replace('m2', '', $details->luas_tanah)) }}
|
||||
m<sup>2</sup>
|
||||
/
|
||||
{{ preg_replace('/[^0-9.]/', '', str_replace('m2', '', $details->luas_bangunan)) }}
|
||||
m<sup>2</sup>
|
||||
Luas Tanah / Luas Bangunan: {{ $luastanah }} m<sup>2</sup> / {{ $luasbangunan }} m<sup>2</sup>
|
||||
<br>
|
||||
@php $n++; @endphp
|
||||
@elseif (isset($details->luas_tanah))
|
||||
@elseif (isset($luastanah))
|
||||
{{ $n }}. {{ $detail->name }}<br>
|
||||
Luas Tanah :
|
||||
{{ preg_replace('/[^0-9.]/', '', str_replace('m2', '', $details->luas_tanah)) }}
|
||||
m<sup>2</sup>
|
||||
Luas Tanah : {{ $luastanah }} m<sup>2</sup>
|
||||
<br>
|
||||
@php $n++; @endphp
|
||||
@elseif (isset($details->luas_bangunan))
|
||||
@elseif (isset($luasbangunan))
|
||||
{{ $n }}. {{ $detail->name }}<br>
|
||||
Luas Bangunan:
|
||||
{{ preg_replace('/[^0-9.]/', '', str_replace('m2', '', $details->luas_bangunan)) }}
|
||||
m<sup>2</sup>
|
||||
Luas Bangunan: {{ $luasbangunan }} m<sup>2</sup>
|
||||
<br>
|
||||
@php $n++; @endphp
|
||||
@endif
|
||||
|
||||
@endif
|
||||
@endforeach
|
||||
@endforeach
|
||||
</div>
|
||||
|
||||
@@ -126,36 +126,42 @@
|
||||
@endphp
|
||||
|
||||
@foreach ($permohonan->documents as $document)
|
||||
@foreach ($document->detail as $detail)
|
||||
@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
|
||||
$details = json_decode($detail->details);
|
||||
$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($details->luas_tanah) && isset($details->luas_bangunan))
|
||||
@if (isset($luastanah) && isset($luasbangunan))
|
||||
{{ $n }}. {{ $detail->name }}<br>
|
||||
Luas Tanah / Luas Bangunan:
|
||||
{{ preg_replace('/[^0-9.]/', '', str_replace('m2', '', $details->luas_tanah)) }}
|
||||
m<sup>2</sup>
|
||||
/
|
||||
{{ preg_replace('/[^0-9.]/', '', str_replace('m2', '', $details->luas_bangunan)) }}
|
||||
m<sup>2</sup>
|
||||
Luas Tanah / Luas Bangunan: {{ $luastanah }} m<sup>2</sup> / {{ $luasbangunan }} m<sup>2</sup>
|
||||
<br>
|
||||
@php $n++; @endphp
|
||||
@elseif (isset($details->luas_tanah))
|
||||
@elseif (isset($luastanah))
|
||||
{{ $n }}. {{ $detail->name }}<br>
|
||||
Luas Tanah :
|
||||
{{ preg_replace('/[^0-9.]/', '', str_replace('m2', '', $details->luas_tanah)) }}
|
||||
m<sup>2</sup>
|
||||
Luas Tanah : {{ $luastanah }} m<sup>2</sup>
|
||||
<br>
|
||||
@php $n++; @endphp
|
||||
@elseif (isset($details->luas_bangunan))
|
||||
@elseif (isset($luasbangunan))
|
||||
{{ $n }}. {{ $detail->name }}<br>
|
||||
Luas Bangunan:
|
||||
{{ preg_replace('/[^0-9.]/', '', str_replace('m2', '', $details->luas_bangunan)) }}
|
||||
m<sup>2</sup>
|
||||
Luas Bangunan: {{ $luasbangunan }} m<sup>2</sup>
|
||||
<br>
|
||||
@php $n++; @endphp
|
||||
@endif
|
||||
|
||||
@endif
|
||||
@endforeach
|
||||
@endforeach
|
||||
</div>
|
||||
|
||||
@@ -109,36 +109,42 @@
|
||||
@endphp
|
||||
|
||||
@foreach ($permohonan->documents as $document)
|
||||
@foreach ($document->detail as $detail)
|
||||
@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
|
||||
$details = json_decode($detail->details);
|
||||
$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($details->luas_tanah) && isset($details->luas_bangunan))
|
||||
@if (isset($luastanah) && isset($luasbangunan))
|
||||
{{ $n }}. {{ $detail->name }}<br>
|
||||
Luas Tanah / Luas Bangunan:
|
||||
{{ preg_replace('/[^0-9.]/', '', str_replace('m2', '', $details->luas_tanah)) }}
|
||||
m<sup>2</sup>
|
||||
/
|
||||
{{ preg_replace('/[^0-9.]/', '', str_replace('m2', '', $details->luas_bangunan)) }}
|
||||
m<sup>2</sup>
|
||||
Luas Tanah / Luas Bangunan: {{ $luastanah }} m<sup>2</sup> / {{ $luasbangunan }} m<sup>2</sup>
|
||||
<br>
|
||||
@php $n++; @endphp
|
||||
@elseif (isset($details->luas_tanah))
|
||||
@elseif (isset($luastanah))
|
||||
{{ $n }}. {{ $detail->name }}<br>
|
||||
Luas Tanah :
|
||||
{{ preg_replace('/[^0-9.]/', '', str_replace('m2', '', $details->luas_tanah)) }}
|
||||
m<sup>2</sup>
|
||||
Luas Tanah : {{ $luastanah }} m<sup>2</sup>
|
||||
<br>
|
||||
@php $n++; @endphp
|
||||
@elseif (isset($details->luas_bangunan))
|
||||
@elseif (isset($luasbangunan))
|
||||
{{ $n }}. {{ $detail->name }}<br>
|
||||
Luas Bangunan:
|
||||
{{ preg_replace('/[^0-9.]/', '', str_replace('m2', '', $details->luas_bangunan)) }}
|
||||
m<sup>2</sup>
|
||||
Luas Bangunan: {{ $luasbangunan }} m<sup>2</sup>
|
||||
<br>
|
||||
@php $n++; @endphp
|
||||
@endif
|
||||
|
||||
@endif
|
||||
@endforeach
|
||||
@endforeach
|
||||
</span>
|
||||
|
||||
@@ -124,36 +124,42 @@
|
||||
@endphp
|
||||
|
||||
@foreach ($permohonan->documents as $document)
|
||||
@foreach ($document->detail as $detail)
|
||||
@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
|
||||
$details = json_decode($detail->details);
|
||||
$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($details->luas_tanah) && isset($details->luas_bangunan))
|
||||
@if (isset($luastanah) && isset($luasbangunan))
|
||||
{{ $n }}. {{ $detail->name }}<br>
|
||||
Luas Tanah / Luas Bangunan:
|
||||
{{ preg_replace('/[^0-9.]/', '', str_replace('m2', '', $details->luas_tanah)) }}
|
||||
m<sup>2</sup>
|
||||
/
|
||||
{{ preg_replace('/[^0-9.]/', '', str_replace('m2', '', $details->luas_bangunan)) }}
|
||||
m<sup>2</sup>
|
||||
Luas Tanah / Luas Bangunan: {{ $luastanah }} m<sup>2</sup> / {{ $luasbangunan }} m<sup>2</sup>
|
||||
<br>
|
||||
@php $n++; @endphp
|
||||
@elseif (isset($details->luas_tanah))
|
||||
@elseif (isset($luastanah))
|
||||
{{ $n }}. {{ $detail->name }}<br>
|
||||
Luas Tanah :
|
||||
{{ preg_replace('/[^0-9.]/', '', str_replace('m2', '', $details->luas_tanah)) }}
|
||||
m<sup>2</sup>
|
||||
Luas Tanah : {{ $luastanah }} m<sup>2</sup>
|
||||
<br>
|
||||
@php $n++; @endphp
|
||||
@elseif (isset($details->luas_bangunan))
|
||||
@elseif (isset($luasbangunan))
|
||||
{{ $n }}. {{ $detail->name }}<br>
|
||||
Luas Bangunan:
|
||||
{{ preg_replace('/[^0-9.]/', '', str_replace('m2', '', $details->luas_bangunan)) }}
|
||||
m<sup>2</sup>
|
||||
Luas Bangunan: {{ $luasbangunan }} m<sup>2</sup>
|
||||
<br>
|
||||
@php $n++; @endphp
|
||||
@endif
|
||||
|
||||
@endif
|
||||
@endforeach
|
||||
@endforeach
|
||||
</div>
|
||||
|
||||
@@ -107,36 +107,42 @@
|
||||
@endphp
|
||||
|
||||
@foreach ($permohonan->documents as $document)
|
||||
@foreach ($document->detail as $detail)
|
||||
@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
|
||||
$details = json_decode($detail->details);
|
||||
$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($details->luas_tanah) && isset($details->luas_bangunan))
|
||||
@if (isset($luastanah) && isset($luasbangunan))
|
||||
{{ $n }}. {{ $detail->name }}<br>
|
||||
Luas Tanah / Luas Bangunan:
|
||||
{{ preg_replace('/[^0-9.]/', '', str_replace('m2', '', $details->luas_tanah)) }}
|
||||
m<sup>2</sup>
|
||||
/
|
||||
{{ preg_replace('/[^0-9.]/', '', str_replace('m2', '', $details->luas_bangunan)) }}
|
||||
m<sup>2</sup>
|
||||
Luas Tanah / Luas Bangunan: {{ $luastanah }} m<sup>2</sup> / {{ $luasbangunan }} m<sup>2</sup>
|
||||
<br>
|
||||
@php $n++; @endphp
|
||||
@elseif (isset($details->luas_tanah))
|
||||
@elseif (isset($luastanah))
|
||||
{{ $n }}. {{ $detail->name }}<br>
|
||||
Luas Tanah :
|
||||
{{ preg_replace('/[^0-9.]/', '', str_replace('m2', '', $details->luas_tanah)) }}
|
||||
m<sup>2</sup>
|
||||
Luas Tanah : {{ $luastanah }} m<sup>2</sup>
|
||||
<br>
|
||||
@php $n++; @endphp
|
||||
@elseif (isset($details->luas_bangunan))
|
||||
@elseif (isset($luasbangunan))
|
||||
{{ $n }}. {{ $detail->name }}<br>
|
||||
Luas Bangunan:
|
||||
{{ preg_replace('/[^0-9.]/', '', str_replace('m2', '', $details->luas_bangunan)) }}
|
||||
m<sup>2</sup>
|
||||
Luas Bangunan: {{ $luasbangunan }} m<sup>2</sup>
|
||||
<br>
|
||||
@php $n++; @endphp
|
||||
@endif
|
||||
|
||||
@endif
|
||||
@endforeach
|
||||
@endforeach
|
||||
</span>
|
||||
|
||||
@@ -126,36 +126,42 @@
|
||||
@endphp
|
||||
|
||||
@foreach ($permohonan->documents as $document)
|
||||
@foreach ($document->detail as $detail)
|
||||
@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
|
||||
$details = json_decode($detail->details);
|
||||
$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($details->luas_tanah) && isset($details->luas_bangunan))
|
||||
@if (isset($luastanah) && isset($luasbangunan))
|
||||
{{ $n }}. {{ $detail->name }}<br>
|
||||
Luas Tanah / Luas Bangunan:
|
||||
{{ preg_replace('/[^0-9.]/', '', str_replace('m2', '', $details->luas_tanah)) }}
|
||||
m<sup>2</sup>
|
||||
/
|
||||
{{ preg_replace('/[^0-9.]/', '', str_replace('m2', '', $details->luas_bangunan)) }}
|
||||
m<sup>2</sup>
|
||||
Luas Tanah / Luas Bangunan: {{ $luastanah }} m<sup>2</sup> / {{ $luasbangunan }} m<sup>2</sup>
|
||||
<br>
|
||||
@php $n++; @endphp
|
||||
@elseif (isset($details->luas_tanah))
|
||||
@elseif (isset($luastanah))
|
||||
{{ $n }}. {{ $detail->name }}<br>
|
||||
Luas Tanah :
|
||||
{{ preg_replace('/[^0-9.]/', '', str_replace('m2', '', $details->luas_tanah)) }}
|
||||
m<sup>2</sup>
|
||||
Luas Tanah : {{ $luastanah }} m<sup>2</sup>
|
||||
<br>
|
||||
@php $n++; @endphp
|
||||
@elseif (isset($details->luas_bangunan))
|
||||
@elseif (isset($luasbangunan))
|
||||
{{ $n }}. {{ $detail->name }}<br>
|
||||
Luas Bangunan:
|
||||
{{ preg_replace('/[^0-9.]/', '', str_replace('m2', '', $details->luas_bangunan)) }}
|
||||
m<sup>2</sup>
|
||||
Luas Bangunan: {{ $luasbangunan }} m<sup>2</sup>
|
||||
<br>
|
||||
@php $n++; @endphp
|
||||
@endif
|
||||
|
||||
@endif
|
||||
@endforeach
|
||||
@endforeach
|
||||
</div>
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
<div class="no-break">
|
||||
<table style="width: 100%; ">
|
||||
<tr>
|
||||
<td style="width: 100%; border: 1px solid #000; text-align: center;">
|
||||
@@ -80,3 +81,4 @@
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
<div class="no-break">
|
||||
<table style="width: 100%; ">
|
||||
<tr>
|
||||
<td style="width: 100%; border: 1px solid #000; text-align: center;">
|
||||
@@ -143,3 +144,4 @@
|
||||
|
||||
|
||||
</table>
|
||||
</div>
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
<div class="no-break">
|
||||
<table class="judul" style="width: 100%; ">
|
||||
<tr>
|
||||
<td style="width: 100%; border: 1px solid #000; text-align: center;">
|
||||
@@ -102,3 +103,4 @@
|
||||
|
||||
|
||||
</table>
|
||||
</div>
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
<div class="no-break">
|
||||
<table style="width: 100%">
|
||||
<tr>
|
||||
<td width="25%" style="vertical-align: top;">Informasi Dinas Tata Ruang
|
||||
@@ -58,3 +59,4 @@
|
||||
</tr>
|
||||
@endif
|
||||
</table>
|
||||
</div>
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
<div class="no-break">
|
||||
<table style="width: 100%; ">
|
||||
<tr>
|
||||
<td style="width: 100%; border: 1px solid #000; text-align: center;">
|
||||
@@ -127,3 +128,4 @@
|
||||
</tr>
|
||||
@endif
|
||||
</table>
|
||||
</div>
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
<div class="no-break">
|
||||
<table style="width: 100%; ">
|
||||
<tr>
|
||||
<td style="width: 100%; border: 1px solid #000; text-align: center;">
|
||||
@@ -149,3 +150,4 @@
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</div>
|
||||
|
||||
@@ -1,6 +1,110 @@
|
||||
|
||||
<div class="page-break"></div>
|
||||
<div class="section">
|
||||
<table style="width: 100%; border-collapse: collapse; border: 1px solid #000;">
|
||||
<tr>
|
||||
<td style="width:20%; padding: 2px; border: 1px solid #000">Nama Debitur</td>
|
||||
<td style=" width: 1%; padding: 2px; border: 1px solid #000">:</td>
|
||||
<td style="padding: 2px; border: 1px solid #000">{{ $permohonan->debiture->name ?? '' }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="padding: 2px; border: 1px solid #000">Nomor Laporan</td>
|
||||
<td style="padding: 2px; border: 1px solid #000">:</td>
|
||||
<td style="padding: 2px; border: 1px solid #000">{{ $nomorLaporan }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="padding: 2px; border: 1px solid #000">Tanggal Laporan</td>
|
||||
<td style="padding: 2px; border: 1px solid #000">:</td>
|
||||
<td style="padding: 2px; border: 1px solid #000">{{ formatTanggalIndonesia($tanggalLaporan) ?? '' }}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table style="width: 100%; ">
|
||||
<tr>
|
||||
<td style="border: 1px solid #000; text-align: center;">
|
||||
PETA DAN BLAD TATA RUANG
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<div>
|
||||
@php
|
||||
$fotoTypes = [
|
||||
'upload_gs',
|
||||
'foto_sentuh_tanahku',
|
||||
'foto_gistaru',
|
||||
'foto_bhumi',
|
||||
'foto_argis_region',
|
||||
'foto_tempat',
|
||||
];
|
||||
|
||||
$customLabels = [
|
||||
'upload_gs' => 'Gambar Situasi',
|
||||
'foto_sentuh_tanahku' => 'Sentuh Tanahku',
|
||||
'foto_gistaru' => 'Gistaru',
|
||||
'foto_bhumi' => 'Bhumi',
|
||||
'foto_argis_region' => 'Blad Tata Ruang ',
|
||||
'foto_tempat' => 'Tempat',
|
||||
];
|
||||
// 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]) &&
|
||||
file_exists(storage_path('app/public/' . $forminspeksi[$type]));
|
||||
});
|
||||
@endphp
|
||||
|
||||
<table width="100%" border="0">
|
||||
@foreach ($validPhotoTypes as $type)
|
||||
@php
|
||||
$imagePath = $forminspeksi[$type] ?? null;
|
||||
@endphp
|
||||
@if ($imagePath && file_exists(storage_path('app/public/' . $imagePath)))
|
||||
<tr>
|
||||
<td style="width: 100%; vertical-align: top; text-align: center" class="photo-item border">
|
||||
<p style="margin: 0; font-size: 10px; text-align: center;">
|
||||
{{ $customLabels[$type] ?? '' }}
|
||||
</p>
|
||||
<img src="{{ storage_path('app/public/' . $imagePath) }}" alt="{{ $imagePath }}"
|
||||
style="max-height: 400px; height: auto; max-width: 100%;">
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
@endforeach
|
||||
</table>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="page-break"></div>
|
||||
<table style="width: 100%; ">
|
||||
<tr>
|
||||
<td style="border: 1px solid #000; text-align: center;">
|
||||
FOTO JAMINAN
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@include('lpj::penilai.components.foto-jaminan')
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<footer id="footer">
|
||||
Cabang : {{ $permohonan->debiture->branch->name ?? '' }}
|
||||
</footer>
|
||||
<script type="text/php">
|
||||
if (isset($pdf)) {
|
||||
$pdf->page_script('
|
||||
$font = $fontMetrics->get_font("Arial, Helvetica, sans-serif", "normal");
|
||||
$size = 10;
|
||||
$pageText = $PAGE_NUM;
|
||||
$y = 800;
|
||||
$x = 550;
|
||||
$pdf->text($x, $y, $pageText, $font, $size);
|
||||
');
|
||||
}
|
||||
</script>
|
||||
<script>
|
||||
const datas = @json($forminspeksi);
|
||||
console.log(datas);
|
||||
|
||||
@@ -59,7 +59,7 @@
|
||||
}
|
||||
|
||||
.photo-image {
|
||||
width: auto;
|
||||
width: 100;
|
||||
height: 400px;
|
||||
max-height: 400px;
|
||||
}
|
||||
|
||||
@@ -52,7 +52,7 @@
|
||||
text-align: center;
|
||||
border-top: 1px solid #ddd;
|
||||
padding-top: 10px;
|
||||
font-size: 9px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.page-number:after {
|
||||
|
||||
@@ -96,58 +96,7 @@
|
||||
<td style="width: 79%; padding: 2px;">{{ $data ?? '' }}</td>
|
||||
</tr>
|
||||
|
||||
@if (@isset($dokumen))
|
||||
@foreach ($dokumen->detail as $detail)
|
||||
<tr>
|
||||
@if (isset($detail->dokumen_jaminan))
|
||||
<td style=" padding: 2px;">
|
||||
{{ $detail->name ?? '' }}
|
||||
</td>
|
||||
<td style=" padding: 2px;">:</td>
|
||||
<td style=" padding: 2px;">
|
||||
@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)
|
||||
<div>
|
||||
@if (!empty($dokumen_nomor[$index]))
|
||||
<span>{{ $dokumen_nomor[$index] }}</span>
|
||||
@endif
|
||||
</div>
|
||||
@endforeach
|
||||
@endif
|
||||
</td>
|
||||
@endif
|
||||
</tr>
|
||||
|
||||
@if (isset($detail->details))
|
||||
@if (json_decode($detail->details))
|
||||
@foreach (json_decode($detail->details) as $key => $value)
|
||||
@if (!is_null($value) && $value !== '')
|
||||
<tr>
|
||||
<td style="padding: 2px;">{{ ucwords(str_replace('_', ' ', $key)) ?? '' }}</td>
|
||||
<td style=" padding: 2px;">:</td>
|
||||
<td style="">{{ $value }}
|
||||
@if ($key == 'luas_bangunan' || $key == 'luas_tanah')
|
||||
<sup>m2</sup>
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
@endforeach
|
||||
@endif
|
||||
@endif
|
||||
@endforeach
|
||||
@endif
|
||||
@include('lpj::component.print-out-dokument')
|
||||
|
||||
|
||||
<tr>
|
||||
@@ -259,7 +208,9 @@
|
||||
use Modules\Usermanagement\Models\User;
|
||||
|
||||
$penilaiUser = User::where('id', $penilai->userPenilaiTeam->id)->first();
|
||||
$imagePathPenilai = storage_path('app/public/signatures/' . $penilaiUser->id . '/' . $penilaiUser->sign);
|
||||
$imagePathPenilai = storage_path(
|
||||
'app/public/signatures/' . $penilaiUser->id . '/' . $penilaiUser->sign,
|
||||
);
|
||||
|
||||
$soUser = User::where('id', $senior_officer->id)->first();
|
||||
$imagePathSo = storage_path('app/public/signatures/' . $soUser->id . '/' . $soUser->sign);
|
||||
@@ -342,17 +293,21 @@
|
||||
</table>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<div class="page-break"></div>
|
||||
|
||||
<div class="section">
|
||||
<div class="judul">
|
||||
<h6 class="border" style="text-align: center">
|
||||
FOTO JAMINAN
|
||||
</h6>
|
||||
</div>
|
||||
@include('lpj::penilai.components.foto-jaminan')
|
||||
</div>
|
||||
|
||||
</main>
|
||||
<div class="page-break"></div>
|
||||
<table width="100%" border="0" style="align-content: center; text-align: center; margin-bottom: 20px">
|
||||
@foreach ($memo['foto'] as $item)
|
||||
@php
|
||||
$cleanedPath = str_replace('/storage/', '', $item);
|
||||
$imagePath = storage_path('app/public/' . $cleanedPath);
|
||||
@endphp
|
||||
<tr>
|
||||
<td style="width: 100%; padding: 10px;" class="photo-item border">
|
||||
<img src="{{ $imagePath }}" alt="{{ $item }}" class="photo-image">
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
|
||||
</table>
|
||||
|
||||
@include('lpj::penilai.components.footer')
|
||||
|
||||
@@ -100,58 +100,7 @@
|
||||
</tr>
|
||||
@endif
|
||||
|
||||
@if (@isset($dokumen))
|
||||
@foreach ($dokumen->detail as $detail)
|
||||
<tr>
|
||||
@if (isset($detail->dokumen_jaminan))
|
||||
<td style=" padding: 2px;">
|
||||
{{ $detail->name ?? '' }}
|
||||
</td>
|
||||
<td style=" padding: 2px;">:</td>
|
||||
<td style=" padding: 2px;">
|
||||
@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)
|
||||
<div>
|
||||
@if (!empty($dokumen_nomor[$index]))
|
||||
<span>{{ $dokumen_nomor[$index] }}</span>
|
||||
@endif
|
||||
</div>
|
||||
@endforeach
|
||||
@endif
|
||||
</td>
|
||||
@endif
|
||||
</tr>
|
||||
|
||||
@if (isset($detail->details))
|
||||
@if (json_decode($detail->details))
|
||||
@foreach (json_decode($detail->details) as $key => $value)
|
||||
@if (!is_null($value) && $value !== '')
|
||||
<tr>
|
||||
<td style="padding: 2px;"> {{formatLabel($key)}}</td>
|
||||
<td style=" padding: 2px;">:</td>
|
||||
<td style="">{{ $value }}
|
||||
@if ($key == 'luas_bangunan' || $key == 'luas_tanah')
|
||||
<sup>m2</sup>
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
@endforeach
|
||||
@endif
|
||||
@endif
|
||||
@endforeach
|
||||
@endif
|
||||
@include('lpj::component.print-out-dokument')
|
||||
|
||||
<tr>
|
||||
<td style="width: 20%; padding: 2px;">Tanggal Penilaian</td>
|
||||
@@ -369,16 +318,6 @@
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<div class="page-break"></div>
|
||||
<div class="section">
|
||||
<div class="judul">
|
||||
<h6 class="border" style="text-align: center">
|
||||
FOTO JAMINAN
|
||||
</h6>
|
||||
</div>
|
||||
@include('lpj::penilai.components.foto-jaminan')
|
||||
</div>
|
||||
|
||||
</main>
|
||||
|
||||
@include('lpj::penilai.components.footer')
|
||||
|
||||
@@ -132,65 +132,7 @@
|
||||
<h2 style="text-transform: uppercase;">DOKUMEN TERLAMPIR</h2>
|
||||
<table style="width: 100%;">
|
||||
|
||||
@if (@isset($dokumen))
|
||||
@foreach ($dokumen->detail as $detail)
|
||||
@if (isset($detail->dokumen_jaminan))
|
||||
<tr>
|
||||
<td style="width: 20%; padding: 2px;">
|
||||
{{ $detail->name ?? '' }}
|
||||
</td>
|
||||
<td style="width: 1%; padding: 2px;">:</td>
|
||||
<td style="width: 79%; padding: 2px;">
|
||||
@php
|
||||
$dokumen_jaminan = is_string($detail->dokumen_jaminan)
|
||||
? json_decode($detail->dokumen_jaminan, true)
|
||||
: [];
|
||||
$dokumen_jaminan = is_array($dokumen_jaminan)
|
||||
? $dokumen_jaminan
|
||||
: [$detail->dokumen_jaminan];
|
||||
|
||||
$dokumen_nomor = is_string($detail->dokumen_nomor)
|
||||
? json_decode($detail->dokumen_nomor, true)
|
||||
: [];
|
||||
$dokumen_nomor = is_array($dokumen_nomor) ? $dokumen_nomor : [$detail->dokumen_nomor];
|
||||
@endphp
|
||||
|
||||
@foreach ($dokumen_jaminan as $index => $dokumen)
|
||||
<div>
|
||||
@if (!empty($dokumen_nomor[$index]))
|
||||
<span>{{ $dokumen_nomor[$index] }}</span>
|
||||
@endif
|
||||
</div>
|
||||
@endforeach
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
|
||||
@if (isset($detail->details))
|
||||
@php
|
||||
$detailItems = json_decode($detail->details, true);
|
||||
@endphp
|
||||
@if (is_array($detailItems))
|
||||
@foreach ($detailItems as $key => $value)
|
||||
@if (!is_null($value) && $value !== '')
|
||||
<tr>
|
||||
<td style="width: 20%; padding: 2px;">
|
||||
{{formatLabel($key)}}
|
||||
</td>
|
||||
<td style="width: 1%; padding: 2px;">:</td>
|
||||
<td style="width: 79%; padding: 2px;">
|
||||
{{ $value }}
|
||||
@if ($key == 'luas_bangunan' || $key == 'luas_tanah')
|
||||
<sup>m2</sup>
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
@endforeach
|
||||
@endif
|
||||
@endif
|
||||
@endforeach
|
||||
@endif
|
||||
@include('lpj::component.print-out-dokument')
|
||||
|
||||
|
||||
@if (isset($forminspeksi['perizinan']) && is_array($forminspeksi['perizinan']) && count($forminspeksi['perizinan']) > 0)
|
||||
@@ -562,60 +504,5 @@
|
||||
@endif
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<div class="page-break"></div>
|
||||
<div class="section">
|
||||
<div class="judul">
|
||||
<h6 class="border" style="text-align: center;">
|
||||
PETA
|
||||
</h6>
|
||||
</div>
|
||||
<div style="text-align: center">
|
||||
@php
|
||||
$fotoTypes = ['upload_gs','foto_sentuh_tanahku','foto_gistaru', 'foto_bhumi', 'foto_argis_region', 'foto_tempat'];
|
||||
// Memindahkan foto_tempat ke depan jika ada
|
||||
if (($key = array_search('foto_tempat', $fotoTypes)) !== false) {
|
||||
unset($fotoTypes[$key]);
|
||||
array_unshift($fotoTypes, 'foto_tempat');
|
||||
}
|
||||
@endphp
|
||||
|
||||
@if (isset($forminspeksi))
|
||||
@php $counter = 0; @endphp
|
||||
@foreach ($fotoTypes as $type)
|
||||
@php
|
||||
$imagePath = $forminspeksi[$type] ?? null;
|
||||
@endphp
|
||||
@if ($imagePath && file_exists(storage_path('app/public/' . $imagePath)))
|
||||
@if ($counter % 2 == 0)
|
||||
<div class="photo-row clearfix">
|
||||
@endif
|
||||
<div class="photo-item border">
|
||||
<img src="{{ storage_path('app/public/' . $imagePath) }}" alt="{{ $type }}"
|
||||
class="photo-image">
|
||||
<p style="margin: 0; font-size: 12px;">
|
||||
{{ Str::title(str_replace('_', ' ', $type)) }}
|
||||
</p>
|
||||
</div>
|
||||
@if ($counter % 2 == 1 || $loop->last)
|
||||
</div>
|
||||
@endif
|
||||
@php $counter++; @endphp
|
||||
@endif
|
||||
@endforeach
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="page-break"></div>
|
||||
<div class="section">
|
||||
<div class="judul">
|
||||
<h6 class="border" style="text-align: center">
|
||||
FOTO JAMINAN
|
||||
</h6>
|
||||
</div>
|
||||
@include('lpj::penilai.components.foto-jaminan')
|
||||
</div>
|
||||
</main>
|
||||
@include('lpj::penilai.components.footer')
|
||||
|
||||
@@ -164,55 +164,7 @@
|
||||
<td style=" padding: 2px; vertical-align: top;">{{ $alamat['province_code'] ?? '' }}</td>
|
||||
</tr>
|
||||
|
||||
@if (@isset($dokumen))
|
||||
@foreach ($dokumen->detail as $detail)
|
||||
@if (isset($detail->dokumen_jaminan))
|
||||
<tr>
|
||||
<td style="padding: 2px; vertical-align: top;">{{ $detail->name ?? '' }}</td>
|
||||
<td style="padding: 2px; vertical-align: top;">:</td>
|
||||
<td style="padding: 2px; vertical-align: top;">
|
||||
@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)
|
||||
<div>
|
||||
@if (!empty($dokumen_nomor[$index]))
|
||||
<span>{{ $dokumen_nomor[$index] }}</span>
|
||||
@endif
|
||||
</div>
|
||||
@endforeach
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
|
||||
@if (isset($detail->details) && json_decode($detail->details))
|
||||
@foreach (json_decode($detail->details) as $key => $value)
|
||||
@if (!is_null($value) && $value !== '')
|
||||
<tr>
|
||||
<td style="padding: 2px; vertical-align: top;">
|
||||
{{formatLabel($key)}}
|
||||
</td>
|
||||
<td style="padding: 2px; vertical-align: top;">:</td>
|
||||
<td style="padding: 2px; vertical-align: top;">
|
||||
{{ $value }}
|
||||
@if ($key == 'luas_bangunan' || $key == 'luas_tanah')
|
||||
<sup>m2</sup>
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
@endforeach
|
||||
@endif
|
||||
@endforeach
|
||||
@endif
|
||||
|
||||
@include('lpj::component.print-out-dokument')
|
||||
|
||||
@if (isset($forminspeksi['asset']['nomor_nib']))
|
||||
<tr>
|
||||
@@ -1087,88 +1039,5 @@
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<div class="section">
|
||||
<div class="judul">
|
||||
<h6 class="border" style="text-align: center;">
|
||||
PETA
|
||||
</h6>
|
||||
</div>
|
||||
<div class="photo-container">
|
||||
@php
|
||||
$fotoTypes = ['upload_gs','foto_sentuh_tanahku','foto_gistaru', 'foto_bhumi', 'foto_argis_region', 'foto_tempat'];
|
||||
// Memindahkan foto_tempat ke depan jika ada
|
||||
if (($key = array_search('foto_tempat', $fotoTypes)) !== false) {
|
||||
unset($fotoTypes[$key]);
|
||||
array_unshift($fotoTypes, 'foto_tempat');
|
||||
}
|
||||
// Filter fotoTypes untuk memastikan hanya yang memiliki imagePath valid
|
||||
$validPhotoTypes = array_filter($fotoTypes, function ($type) use ($forminspeksi) {
|
||||
return isset($forminspeksi[$type]) &&
|
||||
file_exists(storage_path('app/public/' . $forminspeksi[$type]));
|
||||
});
|
||||
@endphp
|
||||
|
||||
<table width="100%" border="0">
|
||||
<tr>
|
||||
@if (count($validPhotoTypes) === 1)
|
||||
@php
|
||||
$type = reset($validPhotoTypes);
|
||||
$imagePath = $forminspeksi[$type] ?? null;
|
||||
@endphp
|
||||
<td style="width: 100%; vertical-align: top; text-align: center" colspan="2"
|
||||
class="photo-item border">
|
||||
<p style="margin: 0; font-size: 10px; text-align: center;">
|
||||
{{ Str::title(str_replace('_', ' ', $type)) }}
|
||||
</p>
|
||||
@if ($imagePath)
|
||||
<img src="{{ storage_path('app/public/' . $imagePath) }}"
|
||||
alt="{{ $imagePath }}" class="photo-image"
|
||||
style="width: 100%; max-width: 300px;">
|
||||
@endif
|
||||
</td>
|
||||
@else
|
||||
@foreach ($fotoTypes as $index => $type)
|
||||
@php
|
||||
$imagePath = $forminspeksi[$type] ?? null;
|
||||
@endphp
|
||||
@isset($imagePath)
|
||||
<td style="width: 50%; vertical-align: top; text-align: center" class="photo-item border">
|
||||
<p style="margin: 0; font-size: 10px; text-align: center;">
|
||||
{{ Str::title(str_replace('_', ' ', $type)) }}
|
||||
</p>
|
||||
@if ($imagePath && file_exists(storage_path('app/public/' . $imagePath)))
|
||||
<img src="{{ storage_path('app/public/' . $imagePath) }}"
|
||||
alt="{{ $imagePath }}" class="photo-image"
|
||||
style="width: 100%; max-width: 300px;">
|
||||
@endif
|
||||
</td>
|
||||
@endisset
|
||||
@if (($index + 1) % 2 == 0)
|
||||
</tr>
|
||||
<tr>
|
||||
@endif
|
||||
@endforeach
|
||||
@if (count($fotoTypes) % 2 != 0)
|
||||
<td style="width: 50%;"></td>
|
||||
@endif
|
||||
@endif
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="page-break"></div>
|
||||
<div class="section">
|
||||
<div class="judul">
|
||||
<h6 class="border" style="text-align: center">
|
||||
FOTO JAMINAN
|
||||
</h6>
|
||||
</div>
|
||||
@include('lpj::penilai.components.foto-jaminan')
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</main>
|
||||
@include('lpj::penilai.components.footer')
|
||||
|
||||
@@ -163,59 +163,7 @@
|
||||
</tr>
|
||||
</table>
|
||||
<table style="width: 100%; ">
|
||||
@if (@isset($dokumen))
|
||||
@foreach ($dokumen->detail as $detail)
|
||||
<tr>
|
||||
@if (isset($detail->dokumen_jaminan))
|
||||
<td style="width:25%; padding: 2px; vertical-align: top;">
|
||||
{{ $detail->name ?? '' }}
|
||||
</td>
|
||||
<td style="width:1%; padding: 2px; vertical-align: top;">:</td>
|
||||
<td style=" padding: 2px; vertical-align: top;">
|
||||
@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)
|
||||
<div>
|
||||
@if (!empty($dokumen_nomor[$index]))
|
||||
<span>{{ $dokumen_nomor[$index] }}</span>
|
||||
@endif
|
||||
</div>
|
||||
@endforeach
|
||||
@endif
|
||||
</td>
|
||||
@endif
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
@if (isset($detail->details))
|
||||
@if (json_decode($detail->details))
|
||||
@foreach (json_decode($detail->details) as $key => $value)
|
||||
@if (!is_null($value) && $value !== '')
|
||||
<td style="width:25%; padding: 2px; vertical-align: top;">
|
||||
{{formatLabel($key)}}</td>
|
||||
<td style="width:1%; padding: 2px; vertical-align: top;">:</td>
|
||||
<td style=" padding: 2px; vertical-align: top;">{{ $value }}
|
||||
@if ($key == 'luas_bangunan' || $key == 'luas_tanah')
|
||||
<sup>m2</sup>
|
||||
@endif
|
||||
</td>
|
||||
@endif
|
||||
@endforeach
|
||||
@endif
|
||||
@endif
|
||||
</tr>
|
||||
@endforeach
|
||||
@endif
|
||||
@include('lpj::component.print-out-dokument')
|
||||
</table>
|
||||
</div>
|
||||
|
||||
@@ -264,7 +212,7 @@
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="no-break">
|
||||
|
||||
@foreach ($permohonan->documents as $dokumen)
|
||||
@if ($dokumen->jenisJaminan)
|
||||
@php
|
||||
@@ -284,7 +232,7 @@
|
||||
@endif
|
||||
@endif
|
||||
@endforeach
|
||||
</div>
|
||||
|
||||
<div class="no-break">
|
||||
<table style="width: 100%; ">
|
||||
<tr>
|
||||
@@ -532,106 +480,5 @@
|
||||
</div>
|
||||
|
||||
</table>
|
||||
|
||||
<div class="page-break"></div>
|
||||
<div class="section">
|
||||
<table style="width: 100%; border-collapse: collapse; border: 1px solid #000;">
|
||||
<tr>
|
||||
<td style="width:20%; padding: 2px; border: 1px solid #000">Nama Debitur</td>
|
||||
<td style=" width: 1%; padding: 2px; border: 1px solid #000">:</td>
|
||||
<td style="padding: 2px; border: 1px solid #000">{{ $permohonan->debiture->name ?? '' }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="padding: 2px; border: 1px solid #000">Nomor Laporan</td>
|
||||
<td style="padding: 2px; border: 1px solid #000">:</td>
|
||||
<td style="padding: 2px; border: 1px solid #000">{{ $nomorLaporan }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="padding: 2px; border: 1px solid #000">Tanggal Laporan</td>
|
||||
<td style="padding: 2px; border: 1px solid #000">:</td>
|
||||
<td style="padding: 2px; border: 1px solid #000">{{ formatTanggalIndonesia($tanggalLaporan) ?? '' }}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table style="width: 100%; ">
|
||||
<tr>
|
||||
<td style="border: 1px solid #000; text-align: center;">
|
||||
PETA
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<div class="photo-container">
|
||||
@php
|
||||
$fotoTypes = ['upload_gs','foto_sentuh_tanahku','foto_gistaru', 'foto_bhumi', 'foto_argis_region', 'foto_tempat'];
|
||||
// Memindahkan foto_tempat ke depan jika ada
|
||||
if (($key = array_search('foto_tempat', $fotoTypes)) !== false) {
|
||||
unset($fotoTypes[$key]);
|
||||
array_unshift($fotoTypes, 'foto_tempat');
|
||||
}
|
||||
// Filter fotoTypes untuk memastikan hanya yang memiliki imagePath valid
|
||||
$validPhotoTypes = array_filter($fotoTypes, function ($type) use ($forminspeksi) {
|
||||
return isset($forminspeksi[$type]) &&
|
||||
file_exists(storage_path('app/public/' . $forminspeksi[$type]));
|
||||
});
|
||||
@endphp
|
||||
|
||||
<table width="100%" border="0">
|
||||
<tr>
|
||||
@if (count($validPhotoTypes) === 1)
|
||||
@php
|
||||
$type = reset($validPhotoTypes); // Ambil elemen pertama
|
||||
$imagePath = $forminspeksi[$type] ?? null;
|
||||
@endphp
|
||||
<td style="width: 100%; vertical-align: top; text-align: center" colspan="2"
|
||||
class="photo-item border">
|
||||
<p style="margin: 0; font-size: 10px; text-align: center;">
|
||||
{{ Str::title(str_replace('_', ' ', $type)) }}
|
||||
</p>
|
||||
@if ($imagePath)
|
||||
<img src="{{ storage_path('app/public/' . $imagePath) }}" alt="{{ $imagePath }}"
|
||||
class="photo-image" style="width: 100%; max-width: 300px;">
|
||||
@endif
|
||||
</td>
|
||||
@else
|
||||
@foreach ($fotoTypes as $index => $type)
|
||||
@php
|
||||
$imagePath = $forminspeksi[$type] ?? null;
|
||||
@endphp
|
||||
@isset($imagePath)
|
||||
<td style="width: 50%; vertical-align: top; text-align: center" class="photo-item border">
|
||||
<p style="margin: 0; font-size: 10px; text-align: center;">
|
||||
{{ Str::title(str_replace('_', ' ', $type)) }}
|
||||
</p>
|
||||
@if ($imagePath && file_exists(storage_path('app/public/' . $imagePath)))
|
||||
<img src="{{ storage_path('app/public/' . $imagePath) }}"
|
||||
alt="{{ $imagePath }}" class="photo-image"
|
||||
style="width: 100%; max-width: 300px;">
|
||||
@endif
|
||||
</td>
|
||||
@endisset
|
||||
@if (($index + 1) % 2 == 0)
|
||||
</tr>
|
||||
<tr>
|
||||
@endif
|
||||
@endforeach
|
||||
@if (count($fotoTypes) % 2 != 0)
|
||||
<td style="width: 50%;"></td>
|
||||
@endif
|
||||
@endif
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="page-break"></div>
|
||||
<table style="width: 100%; ">
|
||||
<tr>
|
||||
<td style="border: 1px solid #000; text-align: center;">
|
||||
FOTO JAMINAN
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@include('lpj::penilai.components.foto-jaminan')
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
@include('lpj::penilai.components.footer')
|
||||
|
||||
@@ -62,69 +62,9 @@
|
||||
</tr>
|
||||
|
||||
|
||||
<tr>
|
||||
<td style="vertical-align: top;">Legalitas</td>
|
||||
<td style="vertical-align: top;">:</td>
|
||||
<td style="vertical-align: top;">
|
||||
<table style="margin: 0; padding: 0;">
|
||||
@if (isset($dokumen))
|
||||
@foreach ($dokumen->detail as $detail)
|
||||
<tr>
|
||||
@if (isset($detail->dokumen_jaminan))
|
||||
<td style="padding: 0; margin: 0;">
|
||||
@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
|
||||
@include('lpj::component.print-out-dokument')
|
||||
|
||||
@foreach ($dokumen_jaminan as $index => $dokumen)
|
||||
@if (!empty($dokumen_nomor[$index]))
|
||||
<span>{{ $dokumen_nomor[$index] }}</span>
|
||||
@endif
|
||||
@endforeach
|
||||
</td>
|
||||
@endif
|
||||
</tr>
|
||||
@endforeach
|
||||
@endif
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
@if (isset($permohonan->documents))
|
||||
@foreach ($permohonan->documents as $document)
|
||||
@foreach ($document->detail as $detail)
|
||||
@if (isset($detail->details))
|
||||
@php
|
||||
$details = json_decode($detail->details, true);
|
||||
@endphp
|
||||
@if ($details)
|
||||
@foreach ($details as $key => $value)
|
||||
@if (!is_null($value) && $value !== '')
|
||||
<tr>
|
||||
<td style=""> {{formatLabel($key)}}</td>
|
||||
<td style=" padding: 2px;">:</td>
|
||||
<td style="">{{ $value }}
|
||||
@if ($key == 'luas_bangunan' || $key == 'luas_tanah')
|
||||
<sup>m2</sup>
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
@endforeach
|
||||
@endif
|
||||
@endif
|
||||
@endforeach
|
||||
@endforeach
|
||||
@endif
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="25%">Terletak di</td>
|
||||
<td style="width: 1%; vertical-align: top;">:</td>
|
||||
@@ -335,16 +275,6 @@
|
||||
<td>Resume ini sudah di setujui</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<div class="page-break"></div>
|
||||
<div class="section">
|
||||
<div class="judul">
|
||||
<h6 class="border" style="text-align: center">
|
||||
FOTO JAMINAN
|
||||
</h6>
|
||||
</div>
|
||||
@include('lpj::penilai.components.foto-jaminan')
|
||||
</div>
|
||||
</main>
|
||||
|
||||
@include('lpj::penilai.components.footer')
|
||||
|
||||
26
resources/views/penilai/data.json
Normal file
26
resources/views/penilai/data.json
Normal file
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"kepada": " rustam",
|
||||
"dari": "dasd",
|
||||
"nomor_memo": "C04\/250123721\/MAK\/REG0000019\/I\/25",
|
||||
"tanggal": "2025-03-08",
|
||||
"perihal": "kamua harus",
|
||||
"jenis_asset_tidak_sesuai": "Unit Apartemen",
|
||||
"lokasi": {
|
||||
"lokasi": "dsd",
|
||||
"address": "Jl. Kali Pasir Kecil No.1, RT.2\/RW.1, Cikini, Kec. Menteng, Kota Jakarta Pusat, Daerah Khusus Ibukota Jakarta 10330",
|
||||
"province_code": "35",
|
||||
"city_code": "",
|
||||
"district_code": "",
|
||||
"village_code": "",
|
||||
"tanggal_survey": "2025-03-08",
|
||||
"penilai": "te"
|
||||
},
|
||||
"terlampir": ["te"],
|
||||
"hasil_survey": ["te"],
|
||||
"kesimpulan_saran": ["te"],
|
||||
"foto": [
|
||||
"\/storage\/memo_photos\/1741367564_1. Tampak Akses Jalan Menuju Objek Penilaian.png",
|
||||
"\/storage\/memo_photos\/1741367564_2. Tampak Akses Jalan Menuju Objek penilaian.png",
|
||||
"\/storage\/memo_photos\/1741367564_3. Tampak Akses Jalan Menuju Objek Penilaian.png"
|
||||
]
|
||||
}
|
||||
@@ -13,26 +13,17 @@
|
||||
@if (isset($permohonan->documents))
|
||||
@foreach ($permohonan->documents as $item)
|
||||
@php
|
||||
$luas_tanah = 0;
|
||||
$total_luas_unit = 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_unit = calculateTotalLuas($item->detail, 'luas_tanah', 1);
|
||||
}
|
||||
@endphp
|
||||
<input type="hidden"
|
||||
id="jenis_legalistas_jaminan_unit_id"
|
||||
name="jenis_legalistas_jaminan_unit_id"
|
||||
<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 }}">
|
||||
<input type="hidden" name="luas_unit_sesuai" class="input" value="{{ $total_luas_unit }}">
|
||||
|
||||
<p class="text-2sm text-gray-700">{{ $luas_tanah }} m<sup>2</sup></p>
|
||||
<p class="text-2sm text-gray-700">{{ $total_luas_unit }} m<sup>2</sup></p>
|
||||
@endforeach
|
||||
@endif
|
||||
|
||||
|
||||
@@ -13,26 +13,18 @@
|
||||
@if (isset($permohonan->documents))
|
||||
@foreach ($permohonan->documents as $item)
|
||||
@php
|
||||
$luas_bangunan = 0;
|
||||
$total_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;
|
||||
}
|
||||
}
|
||||
if (isset($item->detail)) {
|
||||
$total_luas_bangunan = calculateTotalLuas($item->detail, 'luas_bangunan', 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>
|
||||
<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="{{ $total_luas_bangunan }}">
|
||||
<p class="text-2sm text-gray-700">{{ $total_luas_bangunan }} m<sup>2</sup></p>
|
||||
@endforeach
|
||||
@endif
|
||||
|
||||
@@ -187,14 +179,17 @@
|
||||
@if (@isset($basicData['spekKategoriBangunan']))
|
||||
@foreach ($basicData['spekKategoriBangunan'] as $item)
|
||||
<div>
|
||||
<input type="hidden" name="spek_kategori_bangunan[]" value="{{ $item->name }}">
|
||||
<input type="hidden" name="spek_kategori_bangunan[]"
|
||||
value="{{ $item->name }}">
|
||||
<label
|
||||
class="form-label flex items-center gap-3 text-nowrap">{{ $item->name }}</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<div class="flex flex-col items-start gap-4" style="margin-top: 10px">
|
||||
<div class="flex flex-col items-start gap-4"
|
||||
style="margin-top: 10px">
|
||||
@foreach ($basicData['spekBangunan'] as $spek)
|
||||
@if ($spek->spek_kategori_bangunan_id == $item->id)
|
||||
<label class="form-label flex items-center gap-2.5">
|
||||
<label
|
||||
class="form-label flex items-center gap-2.5">
|
||||
<input class="checkbox"
|
||||
name="spek_bangunan[{{ $index }}][{{ $item->name }}][]"
|
||||
type="checkbox"
|
||||
@@ -214,13 +209,16 @@
|
||||
value="{{ isset($bangunan['spek_kategori_bangunan'][$item->name]['lainnya']) ? $bangunan['spek_kategori_bangunan'][$item->name]['lainnya'] : '' }}">
|
||||
</label>
|
||||
</div>
|
||||
<em id="error-spek_bangunan_{{ $item->name }}" class="alert text-danger text-sm"></em>
|
||||
<em id="error-spek_bangunan_{{ $item->name }}"
|
||||
class="alert text-danger text-sm"></em>
|
||||
</div>
|
||||
</div>
|
||||
@endforeach
|
||||
@endif
|
||||
</div>
|
||||
<button type="button" class="mt-2 btn btn-danger btn-outline btn-xs delete-button" style="display: none;">Hapus</button>
|
||||
<button type="button"
|
||||
class="mt-2 btn btn-danger btn-outline btn-xs delete-button"
|
||||
style="display: none;">Hapus</button>
|
||||
</div>
|
||||
@endforeach
|
||||
@else
|
||||
@@ -231,10 +229,13 @@
|
||||
@if (@isset($basicData['spekKategoriBangunan']))
|
||||
@foreach ($basicData['spekKategoriBangunan'] as $item)
|
||||
<div>
|
||||
<input type="hidden" name="spek_kategori_bangunan[]" value="{{ $item->name }}">
|
||||
<label class="form-label flex items-center gap-3 text-nowrap">{{ $item->name }}</label>
|
||||
<input type="hidden" name="spek_kategori_bangunan[]"
|
||||
value="{{ $item->name }}">
|
||||
<label
|
||||
class="form-label flex items-center gap-3 text-nowrap">{{ $item->name }}</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<div class="flex flex-col items-start gap-4" style="margin-top: 10px">
|
||||
<div class="flex flex-col items-start gap-4"
|
||||
style="margin-top: 10px">
|
||||
@foreach ($basicData['spekBangunan'] as $spek)
|
||||
@if ($spek->spek_kategori_bangunan_id == $item->id)
|
||||
<label class="form-label flex items-center gap-2.5">
|
||||
@@ -252,13 +253,15 @@
|
||||
placeholder="Lainnya (sebutkan)">
|
||||
</label>
|
||||
</div>
|
||||
<em id="error-spek_bangunan_{{ $item->name }}" class="alert text-danger text-sm"></em>
|
||||
<em id="error-spek_bangunan_{{ $item->name }}"
|
||||
class="alert text-danger text-sm"></em>
|
||||
</div>
|
||||
</div>
|
||||
@endforeach
|
||||
@endif
|
||||
</div>
|
||||
<button type="button" class="mt-2 btn btn-danger btn-outline btn-xs delete-button" style="display: none;">Hapus</button>
|
||||
<button type="button" class="mt-2 btn btn-danger btn-outline btn-xs delete-button"
|
||||
style="display: none;">Hapus</button>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
|
||||
@@ -355,8 +355,6 @@
|
||||
const preview = newCell.querySelector('img');
|
||||
if (preview) {
|
||||
preview.id = newImageId;
|
||||
preview.src = '';
|
||||
preview.accept = ".jpg,.jpeg,.png";
|
||||
preview.classList.add('hidden');
|
||||
input.onchange = function() {
|
||||
const file = this.files[0];
|
||||
|
||||
@@ -270,7 +270,7 @@
|
||||
|
||||
<div class="flex items-center gap-2">
|
||||
<label for="jarak_makam" class="form-label max-w-56">Jarak</label>
|
||||
<input type="number" class="input mt-2" name="jarak_makam"
|
||||
<input type="text" class="input mt-2" name="jarak_makam"
|
||||
value="{{ old('jarak_makam', $forminspeksi['lingkungan']['jarak_makam'] ?? '') }}"
|
||||
placeholder="Km" />
|
||||
</div>
|
||||
@@ -313,7 +313,7 @@
|
||||
style="{{ old('dekat_tps', $forminspeksi['lingkungan']['dekat_tps'] ?? '') == 'ya' ? 'display:flex;' : 'display:none;' }}">
|
||||
<div class="flex items-center gap-2">
|
||||
<label for="jarak_tps" class="form-label max-w-56">Jarak</label>
|
||||
<input type="number" id="jarak_tps" class="input mt-2" name="jarak_tps"
|
||||
<input type="text" id="jarak_tps" class="input mt-2" name="jarak_tps"
|
||||
value="{{ old('jarak_tps', $forminspeksi['lingkungan']['jarak_tps'] ?? '') }}"
|
||||
placeholder="Km" />
|
||||
</div>
|
||||
|
||||
@@ -44,6 +44,49 @@
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@php
|
||||
$fotoTypes = [
|
||||
'upload_gs',
|
||||
'foto_sentuh_tanahku',
|
||||
'foto_gistaru',
|
||||
'foto_bhumi',
|
||||
'foto_argis_region',
|
||||
'foto_tempat',
|
||||
];
|
||||
|
||||
$customLabels = [
|
||||
'upload_gs' => 'Gambar Situasi',
|
||||
'foto_sentuh_tanahku' => 'Sentuh Tanahku',
|
||||
'foto_gistaru' => 'Gistaru',
|
||||
'foto_bhumi' => 'Bhumi',
|
||||
'foto_argis_region' => 'Blad Tata Ruang ',
|
||||
'foto_tempat' => 'Tempat',
|
||||
];
|
||||
// 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]) && file_exists(storage_path('app/public/' . $forminspeksi[$type]));
|
||||
});
|
||||
@endphp
|
||||
@foreach ($validPhotoTypes as $type)
|
||||
@php
|
||||
$imagePath = $forminspeksi[$type] ?? null;
|
||||
@endphp
|
||||
@if ($imagePath && file_exists(storage_path('app/public/' . $imagePath)))
|
||||
<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="{{ $imagePath }}"
|
||||
style="max-height: 400px; height: auto; max-width: 100%;">
|
||||
</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>
|
||||
|
||||
@@ -46,6 +46,11 @@
|
||||
<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
|
||||
@@ -150,6 +155,10 @@
|
||||
<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
|
||||
@@ -198,7 +207,7 @@
|
||||
- Nama Makam:
|
||||
{{ $forminspeksi['lingkungan']['nama_makam'] ?? '' }}
|
||||
, Jarak Makam:
|
||||
{{ $forminspeksi['lingkungan']['jarak_makam'] ?? '' }} Km
|
||||
{{ $forminspeksi['lingkungan']['jarak_makam'] ?? '' }}
|
||||
@endif
|
||||
</label>
|
||||
<label class="checkbox-label">
|
||||
@@ -225,7 +234,7 @@
|
||||
{{ $forminspeksi['lingkungan']['nama_tps'] ?? '' }}
|
||||
, Jarak TPS:
|
||||
{{ $forminspeksi['lingkungan']['jarak_tps'] ?? '' }}
|
||||
km
|
||||
|
||||
@endif
|
||||
</label>
|
||||
<label class="checkbox-label">
|
||||
|
||||
@@ -79,6 +79,7 @@
|
||||
text-align: left;
|
||||
border-top: 1px solid #ddd;
|
||||
padding-top: 10px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
body {
|
||||
@@ -136,6 +137,19 @@
|
||||
transform: scale(1.3);
|
||||
/* Memperkecil ukuran checkbox */
|
||||
}
|
||||
|
||||
@media print {
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
}
|
||||
tr {
|
||||
page-break-inside: avoid;
|
||||
}
|
||||
td, th {
|
||||
border: 1px solid #000;
|
||||
}
|
||||
|
||||
}
|
||||
</style>
|
||||
|
||||
</head>
|
||||
@@ -375,40 +389,7 @@
|
||||
</table>
|
||||
|
||||
<table>
|
||||
|
||||
@if (@isset($dokumen))
|
||||
@foreach ($dokumen->detail as $detail)
|
||||
@if (isset($detail->dokumen_jaminan))
|
||||
<tr>
|
||||
<td width="25%"><strong>{{ $detail->name ?? '' }}</strong></td>
|
||||
{{-- <td style="width:1%; padding: 2px; vertical-align: top;">:</td> --}}
|
||||
|
||||
</tr>
|
||||
@endif
|
||||
|
||||
@if (isset($detail->details))
|
||||
@if (json_decode($detail->details))
|
||||
@foreach (json_decode($detail->details) as $key => $value)
|
||||
@if (!is_null($value) && $value !== '')
|
||||
<tr>
|
||||
<td style="padding: 2px;">
|
||||
{{ formatLabel($key) }}
|
||||
</td>
|
||||
<td style="width:1%; padding: 2px; vertical-align: top;">:</td>
|
||||
<td style="padding: 2px;">
|
||||
{{ $value }}
|
||||
@if ($key == 'luas_bangunan' || $key == 'luas_tanah')
|
||||
<sup>m2</sup>
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
@endforeach
|
||||
@endif
|
||||
@endif
|
||||
@endforeach
|
||||
@endif
|
||||
|
||||
@include('lpj::component.print-out-dokument')
|
||||
|
||||
<tr>
|
||||
@php
|
||||
@@ -628,6 +609,18 @@
|
||||
<footer id="footer">
|
||||
Cabang : {{ $permohonan->debiture->branch->name ?? '' }}
|
||||
</footer>
|
||||
<script type="text/php">
|
||||
if (isset($pdf)) {
|
||||
$pdf->page_script('
|
||||
$font = $fontMetrics->get_font("Arial, Helvetica, sans-serif", "normal");
|
||||
$size = 10;
|
||||
$pageText = $PAGE_NUM;
|
||||
$y = 800;
|
||||
$x = 550;
|
||||
$pdf->text($x, $y, $pageText, $font, $size);
|
||||
');
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
||||
@@ -1,704 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<title>Laporan Penilai Jaminan</title>
|
||||
<style>
|
||||
body {
|
||||
font-family: Arial, sans-serif;
|
||||
}
|
||||
|
||||
* {
|
||||
font-size: 8px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
h1,
|
||||
h2,
|
||||
h3 {
|
||||
text-align: center;
|
||||
margin-bottom: 10px;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
|
||||
.container {
|
||||
/* width: 100%; */
|
||||
padding: 10px;
|
||||
/* border: 1px solid #000; */
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.header {
|
||||
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.judul {
|
||||
font-weight: bold;
|
||||
text-align: center;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
|
||||
.photo-item {
|
||||
text-align: center;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.photo-image {
|
||||
max-width: 80%;
|
||||
height: auto;
|
||||
display: block;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.judul-table {
|
||||
width: 100%;
|
||||
/* border-collapse: collapse; */
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.judul-table td {
|
||||
text-align: center;
|
||||
vertical-align: middle;
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
.border1 {
|
||||
/* border: 1px solid #000; */
|
||||
width: 50px;
|
||||
}
|
||||
|
||||
.border {
|
||||
/* border: 1px solid #000; */
|
||||
}
|
||||
|
||||
.judul h6 {
|
||||
margin: 0;
|
||||
/* Menghindari margin bawaan */
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.custom-dl-tujuan {
|
||||
width: 100%;
|
||||
/* border-collapse: collapse; */
|
||||
}
|
||||
|
||||
|
||||
.inner-table {
|
||||
width: 100%;
|
||||
/* border-collapse: collapse; */
|
||||
}
|
||||
|
||||
.inner-table td {
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
.inner-table td:first-child {
|
||||
font-weight: bold;
|
||||
|
||||
/* Lebar kolom keterangan */
|
||||
}
|
||||
|
||||
.custom-table {
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.custom-table td {
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
.custom-table td:first-child {
|
||||
font-weight: bold;
|
||||
width: 30%;
|
||||
/* Sesuaikan lebar kolom keterangan */
|
||||
}
|
||||
|
||||
.grid-table {
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
.grid-table td {
|
||||
padding: 8px;
|
||||
vertical-align: top;
|
||||
text-align: left;
|
||||
width: 33%;
|
||||
/* Membagi kolom menjadi tiga */
|
||||
}
|
||||
|
||||
.grid-table input[type="checkbox"] {
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
table {
|
||||
width: 100%;
|
||||
/* border: 1px solid #000; */
|
||||
/* border-collapse: collapse; */
|
||||
}
|
||||
|
||||
table.checkbox-list {
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
td.checkbox-item {
|
||||
width: 33.33%;
|
||||
vertical-align: top;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
label.checkbox-label {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
font-size: 8px;
|
||||
}
|
||||
|
||||
label.checkbox-label input[type="checkbox"] {
|
||||
margin-right: 6px;
|
||||
transform: scale(1.3);
|
||||
/* Memperkecil ukuran checkbox */
|
||||
}
|
||||
|
||||
|
||||
|
||||
#footer {
|
||||
position: fixed;
|
||||
bottom: -50px;
|
||||
left: 0;
|
||||
right: 0;
|
||||
height: 50px;
|
||||
text-align: right;
|
||||
border-top: 1px solid #ddd;
|
||||
padding-top: 10px;
|
||||
}
|
||||
|
||||
.page-number:after {
|
||||
content: counter(page) " dari " counter(pages);
|
||||
}
|
||||
|
||||
.content {
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
.page-break {
|
||||
page-break-after: always;
|
||||
}
|
||||
|
||||
.no-break {
|
||||
page-break-inside: avoid;
|
||||
page-break-before: auto;
|
||||
page-break-after: auto;
|
||||
}
|
||||
</style>
|
||||
|
||||
</head>
|
||||
|
||||
@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
|
||||
|
||||
<body style="width: 80%; margin: auto">
|
||||
<header id="header">
|
||||
<table style="width: 100%; border: none;">
|
||||
<tr>
|
||||
<td style="width: 20%; text-align: left;" class="header-left">
|
||||
@include('lpj::component.logo-bag')
|
||||
</td>
|
||||
<td style="text-align: right;">
|
||||
<div style="">
|
||||
<p>Tanggal: {{ date('Y-m-d') }}</p>
|
||||
<p>Waktu: {{ date('H:i:s') }}</p>
|
||||
<p>User: {{ Auth::user()->name }}</p>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</header>
|
||||
|
||||
<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;">
|
||||
Tujuan Penilaian
|
||||
</h2>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table style="width: 100%;">
|
||||
<tr>
|
||||
<td style="vertical-align: top;">
|
||||
<table>
|
||||
<tr>
|
||||
<td style="width: 25%; padding: 2px; vertical-align: top;">Cabang/Pemohon</td>
|
||||
<td style="width: 1%; vertical-align: top;">:</td>
|
||||
<td style="vertical-align: top; vertical-align: top;">
|
||||
{{ $permohonan->debiture->branch->name ?? '' }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 25%; padding: 2px;">Tujuan Penilai</td>
|
||||
<td style="width: 1%; padding: 2px;">:</td>
|
||||
<td style="vertical-align: top; padding: 2px;">
|
||||
{{ $permohonan->jenisFasilitasKredit->name ?? '' }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 25%; padding: 2px;">Ao</td>
|
||||
<td style="width: 1%; padding: 2px;">:</td>
|
||||
<td style="vertical-align: top; padding: 2px;">{{ $permohonan->user->name ?? '' }}</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
|
||||
{{-- <td style="border: 1px solid #000;">
|
||||
<table style="border: none;">
|
||||
<tr>
|
||||
<td style="border: none;">
|
||||
@if (isset($basicData['tujuanPenilaian']))
|
||||
<table style="border: none;">
|
||||
<tr>
|
||||
@foreach ($basicData['tujuanPenilaian'] as $index => $item)
|
||||
@if ($index % 3 == 0 && $index > 0)
|
||||
</tr>
|
||||
<tr>
|
||||
@endif
|
||||
<td class="checkbox-item" style="border: none;">
|
||||
<label class="checkbox-label">
|
||||
<input type="checkbox"
|
||||
{{ $item->name == $permohonan->tujuanPenilaian->name ? 'checked' : '' }}>
|
||||
{{ $item->name }}
|
||||
</label>
|
||||
</td>
|
||||
@endforeach
|
||||
</tr>
|
||||
</table>
|
||||
@endif
|
||||
<table>
|
||||
<tr>
|
||||
<td><strong>Permintaan (A/O. Tlp/Hp)</strong></td>
|
||||
<td>{{ $permohonan->user->name }}</td>
|
||||
<td><strong>Tanggal</strong></td>
|
||||
<td>{{ formatTanggalIndonesia($permohonan->created_at) }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Nama Debitur/ Wakil Debitur</strong></td>
|
||||
<td>{{ $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
|
||||
</td>
|
||||
<td><strong>Kunjungan Tanggal</strong></td>
|
||||
<td>{{ formatTanggalIndonesia($permohonan->penilaian->tanggal_kunjungan) }}</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td> --}}
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
|
||||
|
||||
{{-- <tr>
|
||||
<td style="text-align: center; border: 1px solid #000;">
|
||||
B
|
||||
</td>
|
||||
<td style="text-align: center; border: 1px solid #000;">
|
||||
IDENTITAS DEBITUR
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align: center; border: 1px solid #000;">
|
||||
</td>
|
||||
<td>
|
||||
<table>
|
||||
<tr>
|
||||
<td><strong>Nama Debitur</strong></td>
|
||||
<td style="text-align: start">{{ $permohonan->debiture->name ?? '' }}</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</td>
|
||||
</tr> --}}
|
||||
|
||||
{{-- <tr>
|
||||
<td style="text-align: center; border: 1px solid #000;">
|
||||
C
|
||||
</td>
|
||||
<td style="text-align: center; border: 1px solid #000;">
|
||||
JENIS DAN LOKASI JAMINAN + KORDINAT
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td style=" text-align: center; border: 1px solid #000;">
|
||||
</td>
|
||||
<td>
|
||||
@if (isset($basicData['jenisJaminan']))
|
||||
<table class="checkbox-list">
|
||||
|
||||
<tr>
|
||||
@foreach ($basicData['jenisJaminan'] as $index => $item)
|
||||
@if ($index % 3 == 0 && $index > 0)
|
||||
</tr>
|
||||
<tr>
|
||||
@endif
|
||||
<td class="checkbox-item">
|
||||
<label class="checkbox-label">
|
||||
<input type="checkbox" {{ in_array($item->name, explode(',', $data)) ? 'checked' : '' }}>
|
||||
{{ $item->name }}
|
||||
</label>
|
||||
</td>
|
||||
@endforeach
|
||||
</tr>
|
||||
</table>
|
||||
@endif
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<td width="25%"><strong>Terletak di</strong></td>
|
||||
<td> {{ $alamat['address'] ?? '' }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Kelurahan</td>
|
||||
<td>{{ $alamat['village_code'] ?? '' }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Kecamatan</strong></td>
|
||||
<td>{{ $alamat['district_code'] ?? '' }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Kotamadya</strong></td>
|
||||
<td> {{ $alamat['city_code'] ?? '' }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Propinsi</strong></td>
|
||||
<td>{{ $alamat['province_code'] ?? '' }}</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table>
|
||||
<tr>
|
||||
<td>Titik Kordinat</td>
|
||||
<td>{{ isset($forminspeksi['asset']['kordinat_lat']) ? $forminspeksi['asset']['kordinat_lat'] : '' }} ,
|
||||
{{ isset($forminspeksi['asset']['kordinat_lng']) ? $forminspeksi['asset']['kordinat_lng'] : '' }}</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td style="text-align: center; border: 1px solid #000;">
|
||||
D
|
||||
</td>
|
||||
<td style="text-align: center; border: 1px solid #000;">
|
||||
STATUS KEPEMILIKAN, HUBUNGAN DAN PENGHUNI
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td style="text-align: center; border: 1px solid #000;">
|
||||
|
||||
</td>
|
||||
<td>
|
||||
<table>
|
||||
@if (@isset($dokumen))
|
||||
@foreach ($dokumen->detail as $detail)
|
||||
@if (isset($detail->dokumen_jaminan))
|
||||
<tr>
|
||||
<td width="25%"><strong>{{ $detail->name ?? '' }}</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
@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)
|
||||
<div>
|
||||
@if (!empty($dokumen_nomor[$index]))
|
||||
<span>{{ $dokumen_nomor[$index] }}</span>
|
||||
@endif
|
||||
</div>
|
||||
@endforeach
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
|
||||
@if (isset($detail->details))
|
||||
@if (json_decode($detail->details))
|
||||
@foreach (json_decode($detail->details) as $key => $value)
|
||||
@if (!is_null($value) && $value !== '')
|
||||
<tr>
|
||||
<td style="padding: 2px;">
|
||||
{{ ucwords(str_replace('_', ' ', $key)) ?? '' }}
|
||||
</td>
|
||||
<td style="padding: 2px;">
|
||||
{{ $value }}
|
||||
@if ($key == 'luas_bangunan' || $key == 'luas_tanah')
|
||||
<sup>m2</sup>
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
@endforeach
|
||||
@endif
|
||||
@endif
|
||||
@endforeach
|
||||
@endif
|
||||
|
||||
|
||||
<tr>
|
||||
<td><strong>Atas Nama</strong></td>
|
||||
<td>{{ $dokument->pemilik->name ?? '' }}</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
@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
|
||||
<td style="vertical-align: top;"><strong>Hubungan Pemilik Jaminan dengan Debitur</strong>
|
||||
</td>
|
||||
<td>
|
||||
@if (isset($basicData['hubCadeb']))
|
||||
<table class="checkbox-table">
|
||||
@php $count = 0; @endphp
|
||||
<tr>
|
||||
@foreach ($basicData['hubCadeb'] as $item)
|
||||
<td>
|
||||
<label>
|
||||
<input type="checkbox"
|
||||
{{ $hubCadeb === $item->name ? 'checked' : '' }}>
|
||||
{{ $item->name }}
|
||||
</label>
|
||||
</td>
|
||||
@php $count++; @endphp
|
||||
|
||||
@if ($count % 3 === 0)
|
||||
</tr>
|
||||
<tr>
|
||||
@endif
|
||||
@endforeach
|
||||
|
||||
@if ($count % 3 !== 0)
|
||||
@for ($i = 0; $i < 3 - ($count % 3); $i++)
|
||||
<td></td>
|
||||
@endfor
|
||||
@endif
|
||||
</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><strong>Hubungan Penghuni Jaminan dengan Debitur</strong></td>
|
||||
<td>
|
||||
@if (isset($selectedData))
|
||||
<table class="checkbox-table">
|
||||
<tr>
|
||||
<td>
|
||||
{{ $selectedData ?? '' }}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr> --}}
|
||||
|
||||
|
||||
{{-- <tr>
|
||||
<td style="text-align: center; border: 1px solid #000;">
|
||||
G
|
||||
</td>
|
||||
<td style="text-align: center; border: 1px solid #000;">
|
||||
ASURANSI
|
||||
</td>
|
||||
</tr> --}}
|
||||
|
||||
<tr>
|
||||
<td style="text-align: center;">
|
||||
|
||||
</td>
|
||||
<td style="border: 1px solid #000;">
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
Jakarta {{ formatTanggalIndonesia($permohonan->penilaian->waktu_penilaian) }}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
TTD
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table style="width: 100%; border-collapse: collapse; text-align: center;">
|
||||
<tr>
|
||||
@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
|
||||
<td style="width: 100px;">
|
||||
<img style="width: 100px;" src="{{ $absolutePath }}" alt="">
|
||||
</td>
|
||||
@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
|
||||
<td style="width: 100px;">
|
||||
<img style="width: 100px;" src="{{ $absolutePath }}" alt="">
|
||||
</td>
|
||||
@endif
|
||||
|
||||
|
||||
@if (isset($forminspeksi['signature']['debitur']))
|
||||
<td style="width: 100px;">
|
||||
<img style="width: 100px;" src="{{ $forminspeksi['signature']['debitur']['image'] }}"
|
||||
alt="Debitur/Perwakilan">
|
||||
</td>
|
||||
@endif
|
||||
|
||||
<!-- K.J.P.P -->
|
||||
@if (isset($forminspeksi['signature']['kjjp']))
|
||||
<td style="width: 100px;">
|
||||
<img style="width: 100px;" src="{{ $forminspeksi['signature']['kjjp']['image'] }}"
|
||||
alt="KJPP">
|
||||
</td>
|
||||
@endif
|
||||
</tr>
|
||||
|
||||
|
||||
<tr>
|
||||
@if (isset($forminspeksi['signature']['penilai']['name']))
|
||||
<td style=" text-align: center">
|
||||
<span>{{ ucwords(strtolower($forminspeksi['signature']['penilai']['name'])) }}</span>
|
||||
<br />
|
||||
<span>{{ ucwords(strtolower('PENILAI')) }}</span>
|
||||
</td>
|
||||
@endif
|
||||
@if (isset($forminspeksi['signature']['cabang']['name']))
|
||||
<td style=" text-align: center">
|
||||
<span>{{ ucwords(strtolower($forminspeksi['signature']['cabang']['name'])) }}</span>
|
||||
<br />
|
||||
<span>{{ ucwords(strtolower('CABANG')) }}</span>
|
||||
</td>
|
||||
@endif
|
||||
@if (isset($forminspeksi['signature']['debitur']['name']))
|
||||
<td style=" text-align: center">
|
||||
<span>{{ ucwords(strtolower($forminspeksi['signature']['debitur']['name'])) }}</span>
|
||||
<br />
|
||||
<span>{{ ucwords(strtolower('DEBITUR/PERWAKILAN')) }}</span>
|
||||
</td>
|
||||
@endif
|
||||
@if (isset($forminspeksi['signature']['kjjp']['name']))
|
||||
<td style=" text-align: center">
|
||||
<span>{{ ucwords(strtolower($forminspeksi['signature']['kjjp']['name'])) }}</span>
|
||||
<br />
|
||||
<span>{{ strtoupper('K.J.P.P') }}</span>
|
||||
</td>
|
||||
@endif
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
{{-- </table> --}}
|
||||
|
||||
|
||||
<footer id="footer">
|
||||
Cabang : {{ $permohonan->debiture->branch->name ?? '' }}
|
||||
</footer>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@@ -91,7 +91,12 @@
|
||||
<input type="checkbox"
|
||||
{{ isset($forminspeksi['tanah']['bentuk_tanah']['bentuk_tanah']) && in_array($item->name, $forminspeksi['tanah']['bentuk_tanah']['bentuk_tanah']) ? 'checked' : '' }}>
|
||||
{{ $item->name }}
|
||||
|
||||
@if ($item->name == 'Lainnya')
|
||||
{{ isset($forminspeksi['tanah']['bentuk_tanah']['lainnya']) ? ' (' . $forminspeksi['tanah']['bentuk_tanah']['lainnya'] . ')' : '' }}
|
||||
@endif
|
||||
</label>
|
||||
|
||||
</td>
|
||||
@endforeach
|
||||
</tr>
|
||||
@@ -147,6 +152,13 @@
|
||||
<input type="checkbox"
|
||||
{{ isset($forminspeksi['tanah']['ketinggian_tanah']['ketinggian']) && in_array($item->name, $forminspeksi['tanah']['ketinggian_tanah']['ketinggian']) ? 'checked' : '' }}>
|
||||
{{ $item->name }}
|
||||
|
||||
@if ($item->name == 'Lebih Tinggi')
|
||||
{{ isset($forminspeksi['tanah']['ketinggian_tanah']['lebih_tinggi']) ? ' (' . $forminspeksi['tanah']['ketinggian_tanah']['lebih_tinggi'] . ')' : '' }}
|
||||
@endif
|
||||
@if ($item->name == 'Lebih Rendah')
|
||||
{{ isset($forminspeksi['tanah']['ketinggian_tanah']['lebih_rendah']) ? ' (' . $forminspeksi['tanah']['ketinggian_tanah']['lebih_rendah'] . ')' : '' }}
|
||||
@endif
|
||||
</label>
|
||||
</td>
|
||||
@endforeach
|
||||
@@ -211,6 +223,10 @@
|
||||
<input type="checkbox"
|
||||
{{ isset($forminspeksi['tanah']['posisi_kavling']['posisi_kavling']) && in_array($item->name, $forminspeksi['tanah']['posisi_kavling']['posisi_kavling']) ? 'checked' : '' }}>
|
||||
{{ $item->name }}
|
||||
|
||||
@if ($item->name == 'Lainnya')
|
||||
{{ isset($forminspeksi['tanah']['posisi_kavling']['lainnya']) ? ' (' . $forminspeksi['tanah']['posisi_kavling']['lainnya'] . ')' : '' }}
|
||||
@endif
|
||||
</label>
|
||||
</td>
|
||||
@endforeach
|
||||
|
||||
@@ -10,28 +10,22 @@
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Luas Tanah</label>
|
||||
<div class="mt-2">
|
||||
|
||||
@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
|
||||
<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>
|
||||
<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="{{ $total_luas_tanah }}">
|
||||
<p class="text-2sm text-gray-700">{{ $total_luas_tanah }} m<sup>2</sup></p>
|
||||
@endforeach
|
||||
@endif
|
||||
<div class="flex-wrap items-stretch">
|
||||
|
||||
@@ -82,6 +82,7 @@ Route::middleware(['auth'])->group(function () {
|
||||
Route::resource('jenis-legalitas-jaminan', JenisLegalitasJaminanController::class);
|
||||
|
||||
Route::name('jenis-jaminan.')->prefix('jenis-jaminan')->group(function () {
|
||||
Route::get('custom-fields/{id}', [JenisLegalitasJaminanController::class, 'getCustomFields'])->name('ustom-fields');
|
||||
Route::get('legalitas/{id}/{jenisJaminanId}', [DokumenJaminanController::class, 'getLegalitasJaminan'])
|
||||
->name('legalitas');
|
||||
Route::get('restore/{id}', [JenisJaminanController::class, 'restore'])->name('restore');
|
||||
|
||||
Reference in New Issue
Block a user