fix(penilai): perbaikan output resume,memo dan update upload foto directory by nomor registrasi

This commit is contained in:
majid
2025-01-22 09:06:10 +07:00
parent d101db1043
commit 575ea3fdce
12 changed files with 440 additions and 271 deletions

View File

@@ -151,6 +151,7 @@ class PenilaiController extends Controller
$jaminanId = $request->query('jaminanId');
$permohonan = $this->surveyorController->getPermohonanJaminanId($permohonanId, $documentId, $jaminanId);
$nomorLaporan = $this->generateNoLaporan($permohonan, $documentId, 'resume');
$inspeksi = Inspeksi::where('permohonan_id', $permohonanId)->where('dokument_id', $documentId)->first();
$noLpresume = $this->generateNoLaporan($permohonan, $documentId, 'resume');
Penilai::updateOrCreate(
@@ -177,7 +178,7 @@ class PenilaiController extends Controller
$forminspeksi = json_decode($inspeksi->data_form, true);
}
return view('lpj::penilai.components.resume', compact('permohonan', 'resumeData', 'forminspeksi'));
return view('lpj::penilai.components.resume', compact('permohonan', 'resumeData', 'forminspeksi', 'nomorLaporan'));
}
public function memo(Request $request)
@@ -932,9 +933,7 @@ class PenilaiController extends Controller
'tanggalLaporan',
'rap'
));
// return $pdf;
$cleanNomorLaporan = str_replace(['/', '\\'], '-', $nomorLaporan);
$pdf->setPaper('A4', 'portrait');
return $pdf->download('Laporan_'. $tipeLaporan . '_' .$permohonan->debiture->name . '_' . $cleanNomorLaporan .'_data.pdf');
@@ -1055,7 +1054,7 @@ class PenilaiController extends Controller
if ($laporan) {
$nomorArray = explode('/', $laporan->nomor_laporan);
$nomorArray[2] = $typeMapping[$type] ?? 'RSM';
$nomorArray[2] = $typeMapping[$type] ?? 'RES';
$laporan->update([
'nomor_laporan' => implode('/', $nomorArray)
]);

View File

@@ -253,7 +253,8 @@ class SurveyorController extends Controller
'nama_denah.*' => 'nullable|string|max:255',
'luas_denah.*' => 'nullable|numeric',
'permohonan_id' => 'required|exists:permohonan,id',
'dokument_id' => 'required'
'dokument_id' => 'required',
'nomor_registrasi' => 'required'
]);
if ($validator) {
try {
@@ -276,7 +277,7 @@ class SurveyorController extends Controller
if ($request->hasFile('foto_denah') && isset($request->file('foto_denah')[$index])) {
$file = $request->file('foto_denah')[$index];
$denahItem['foto_denah'] = $this->uploadFile($file, 'foto_denah');
$denahItem['foto_denah'] = $this->uploadFile($file, $request->nomor_registrasi);
} elseif (isset($existingDenahs[$index]['foto_denah'])) {
$denahItem['foto_denah'] = $existingDenahs[$index]['foto_denah'];
}
@@ -381,7 +382,7 @@ class SurveyorController extends Controller
}
// Upload dan simpan file baru
$formatFotojson[$file] = $this->uploadFile($request->file($file), $file);
$formatFotojson[$file] = $this->uploadFile($request->file($file), $request->nomor_registrasi);
}
}
@@ -448,12 +449,13 @@ class SurveyorController extends Controller
continue; // Lewati file yang tidak valid
}
// Generate nama file unik
$uniqueFileName = 'lantai_unit_' . $lantaiNomor . '_' . $fileIndex . '_' . Str::random(10) . '.' . $file->getClientOriginalExtension();
// Simpan file dengan nama asli
$path = $file->storeAs(
'surveyor/lantai_unit',
'surveyor/' . $request->nomor_registrasi . '/foto_lantai_unit',
$uniqueFileName . '/' . time() . '_' . $file->getClientOriginalName(),
'public'
);
@@ -490,12 +492,13 @@ class SurveyorController extends Controller
$formatFotoData = [];
foreach ($files as $index => $file) {
$timestamp = time();
$originalName = $file->getClientOriginalName();
$uniqueFileName = "{$timestamp}_{$originalName}";
$fileExtension = $file->extension();
$originalName = time() . '_' . $request->nomor_registrasi . '.' . $fileExtension;
// Simpan file
$path = $file->storeAs("surveyor/{$paramName}", $uniqueFileName, 'public');
$path = $file->storeAs("surveyor/{$request->nomor_registrasi}", $originalName, 'public');
$fotoData = [
'path' => $path,
@@ -653,7 +656,7 @@ class SurveyorController extends Controller
// Buat entri baru untuk file yang diunggah
$newPhotoEntry = [
$nameField => $newNames[$key],
$photoField => $this->uploadFile($file, $photoField . '.' . $key),
$photoField => $this->uploadFile($file, $request->nomor_registrasi),
$descriptionField => $newDescriptions[$key] ?? '',
];
@@ -777,7 +780,7 @@ class SurveyorController extends Controller
// Create new photo entry
$newPhotoEntry = [
$nameField => $newNames[$key] ?? '', // Use new name if provided
$photoField => $this->uploadFile($file, $photoField . '.' . $key)
$photoField => $this->uploadFile($file, $request->nomor_registrasi)
];
// Add description if field exists
@@ -2615,8 +2618,9 @@ class SurveyorController extends Controller
if ($request->hasFile($fileKey)) {
$file = $request->file($fileKey);
if ($file->isValid()) {
$fileName = time() . '_' . $file->getClientOriginalName();
$path = $file->storeAs("public/surveyor/{$request->type}", $fileName);
$fileExtension = $file->extension();
$fileName = time() . '_' . $request->nomor_registrasi . '.' . $fileExtension;
$path = $file->storeAs("public/surveyor/{$request->nomor_registrasi}", $fileName);
if ($path === false) {
throw new Exception("Failed to store file for {$fileKey}");
@@ -3091,7 +3095,8 @@ class SurveyorController extends Controller
throw new Exception("Invalid file upload for {$type}");
}
$fileName = time() . '_' . $file->getClientOriginalName();
$fileExtension = $file->extension();
$fileName = time() . '_' . $type . '.' . $fileExtension;
$path = $file->storeAs("public/surveyor/{$type}", $fileName);
if ($path === false) {

View File

@@ -568,6 +568,7 @@ class FormSurveyorRequest extends FormRequest
return [
'permohonan_id' => 'required',
'type' => 'required',
'nomor_registrasi' => 'required',
'debitur_perwakilan' => 'required|array',
'jenis_asset_name' => 'nullable|',
'jenis_asset' => 'required',

View File

@@ -358,7 +358,7 @@
confirmButtonText: 'OK'
}).then((response) => {
if (response.isConfirmed) {
window.location.reload();
// window.location.reload();
}
});
} else {

View File

@@ -108,6 +108,34 @@
</head>
<body style="width: 80%; margin: auto">
@php
$data = '';
foreach ($permohonan->debiture->documents as $dokumen) {
$data .= $dokumen->jenisJaminan->name . ', ';
$penilai = $permohonan->penilaian->userPenilai->where('role', 'penilai')->first();
$surveyor = $permohonan->penilaian->userPenilai->where('role', 'surveyor')->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;
}
}
}
}
}
}
$data = rtrim($data, ', ');
@endphp
<header id="header">
<table style="width: 100%; border: none;">
<tr>
@@ -119,10 +147,10 @@
</header>
<main class="content">
<table>
<table style="width: 100%">
<tr>
<td>
<h2 style=" text-transform: uppercase;">MEMO ANTAR KANTOR</h2>
<td style="text-align: center; margin-top: 5px;">
<h2 style="text-decoration: underline; text-transform: uppercase; text-align: center; margin: 0;">MEMO ANTAR KANTOR</h2>
</td>
</tr>
</table>
@@ -138,7 +166,7 @@
<td style="width: 79%; padding: 2px;">{{ $memo['dari'] ?? '' }}</td>
</tr>
<tr>
<td style="width: 20%; padding: 2px;">No</td>
<td style="width: 20%; padding: 2px;">No memo</td>
<td style="width: 1%; padding: 2px;">:</td>
<td style="width: 79%; padding: 2px;">{{ $nomorLaporan ?? '-' }}</td>
</tr>
@@ -158,25 +186,30 @@
<tr>
<td>
Menindak lanjuti permintann penilaian jaminan dari {{ $permohonan->user->name }} AO Cabang {{ $permohonan->debiture->branch->name ?? '' }}
tanggal , dapat di sampaikan sebagai berikut:
tanggal {{formatTanggalIndonesia($memo['tanggal']) ?? ''}}, dapat di sampaikan sebagai berikut:
</td>
</tr>
</table>
<table>
<table style="margin: 5px 0; border-collapse: collapse; width: 100%;">
<tr>
<td>
<h2 style=" text-transform: uppercase;">Identitas Deitur & Hubungan dan Penghuni</h2>
<td style="">
<h6 style="text-transform: uppercase; margin: 0; ">Data Debitur dan Jaminan</h2>
</td>
</tr>
</table>
<table style="width: 100%">
<tr>
<td style="width: 20%; padding: 2px;">Nama Calon Debiture</td>
<td style="width: 20%; padding: 2px;">Nama Calon Debitur</td>
<td style="width: 1%; padding: 2px;">:</td>
<td style="width: 79%; padding: 2px;">{{ $permohonan->debiture->name ?? '' }}</td>
</tr>
<tr>
<td style="width: 20%; padding: 2px;">Jenis Aset</td>
<td style="width: 1%; padding: 2px;">:</td>
<td style="width: 79%; padding: 2px;">{{ $data ?? '' }}</td>
</tr>
@if (@isset($dokumen))
@foreach ($dokumen->detail as $details)
@@ -213,16 +246,7 @@
<td style="width: 1%; padding: 2px;">:</td>
<td style="width: 79%; padding: 2px;">{{ $permohonan->debiture->name ?? '' }}</td>
</tr>
<tr>
<td style="width: 20%; padding: 2px;">Tanggal Terbit Sertifikat</td>
<td style="width: 1%; padding: 2px;">:</td>
<td style="width: 79%; padding: 2px;"></td>
</tr>
<tr>
<td style="width: 20%; padding: 2px;">Surat Ukur No</td>
<td style="width: 1%; padding: 2px;">:</td>
<td style="width: 79%; padding: 2px;"></td>
</tr>
<tr>
@php
$cekLuas = isset($forminspeksi['tanah']['luas_tanah']['tidak sesuai']) ? 'tidak sesuai' : 'sesuai';
@@ -233,76 +257,72 @@
<td style="width: 1%; padding: 2px;">:</td>
<td style="width: 79%; padding: 2px;">{{ $luas ?? '' }}</td>
</tr>
<tr>
<td style="width: 20%; padding: 2px;">Lokasi Jaminan</td>
<td style="width: 1%; padding: 2px;">:</td>
<td style="width: 79%; padding: 2px;">{{ $memo['lokasi']['address'] ?? '' }}, {{ $alamat['village_code'] ?? '' }} {{ $alamat['district_code'] ?? '' }}, {{ $alamat['city_code'] ?? '' }}, {{ $alamat['province_code'] ?? '' }} </td>
</tr>
</table>
<table>
<table style="margin: 5px 0; border-collapse: collapse; width: 100%;">
<tr>
<td>
<h2 style=" text-transform: uppercase;">Loaksi Jaminan</h2>
<td style="">
<h6 style="text-transform: uppercase; margin: 0; ">HASIL Kunjungan</h6>
</td>
</tr>
</table>
<table style="width: 100%">
<tr>
<td style="width: 20%; padding: 2px;">Terletak di</td>
<td style="width: 20%; padding: 2px;">Tanggal Kunjungan</td>
<td style="width: 1%; padding: 2px;">:</td>
<td style="width: 79%; padding: 2px;"> {{ $memo['lokasi']['address'] ?? '' }}</td>
<td style="width: 79%; padding: 2px;">{{ formatTanggalIndonesia($permohonan->penilaian->tanggal_kunjungan) }}</td>
</tr>
<tr>
<td style="width: 20%; padding: 2px;">Kelurahan</td>
<td style="width: 20%; padding: 2px;">Surveyor</td>
<td style="width: 1%; padding: 2px;">:</td>
<td style="width: 79%; padding: 2px;">{{ $alamat['village_code'] ?? '' }}</td>
<td style="width: 79%; padding: 2px;">{{ $surveyor->userPenilaiTeam->name ?? '' }}</td>
</tr>
<tr>
<td style="width: 20%; padding: 2px;">Kecamatan</td>
<td style="width: 20%; padding: 2px;">Pihak Pemohon</td>
<td style="width: 1%; padding: 2px;">:</td>
<td style="width: 79%; padding: 2px;">{{ $alamat['district_code'] ?? '' }}</td>
<td style="width: 79%; padding: 2px;">{{ $permohonan->user->name ?? '' }} -
{{ $permohonan->debiture->branch->name ?? '' }}</td>
</tr>
<tr>
<td style="width: 20%; padding: 2px;">Kota</td>
<td style="width: 20%; padding: 2px;">Pihak Cadeb/Debitur</td>
<td style="width: 1%; padding: 2px;">:</td>
<td style="width: 79%; padding: 2px;"> {{ $alamat['city_code'] ?? '' }}</td>
</tr>
<tr>
<td style="width: 20%; padding: 2px;">Propinsi</td>
<td style="width: 1%; padding: 2px;">:</td>
<td style="width: 79%; padding: 2px;">{{ $alamat['province_code'] ?? '' }}</td>
</tr>
<tr>
<td style="width: 20%; padding: 2px;">Titik Kordinat</td>
<td style="width: 1%; padding: 2px;">:</td>
<td style="width: 79%; padding: 2px;">{{ $alamat['province_code'] ?? '' }}</td>
<td style="width: 79%; padding: 2px;">{{ $permohonan->debiture->name ?? '' }}</td>
</tr>
</table>
<table>
<tr>
<td>
<h2 style=" text-transform: uppercase;">HASIL INSPEKSI</h2>
</td>
</tr>
<tr>
@isset($memo['hasil_survey'])
@foreach ($memo['hasil_survey'] as $key => $item)
<tr>
<td>{{ $key + 1 }} . {{ $item }}</td>
<td>{{ $item }}</td>
</tr>
@endforeach
@endisset
</tr>
</table>
<table>
<table style="margin: 5px 0; border-collapse: collapse; width: 100%;">
<tr>
<td>
<h2 style=" text-transform: uppercase;">KESIMPULAN DAN SARAN</h2>
<td style="">
<h6 style="text-transform: uppercase; margin: 0; ">KESIMPULAN DAN SARAN</h6>
</td>
</tr>
<tr>
@isset($memo['kesimpulan_saran'])
@foreach ($memo['kesimpulan_saran'] as $key => $item)
<tr>
<td>{{ $key + 1 }} . {{ $item }}</td>
<td> {{ $item }}</td>
</tr>
@endforeach
@endisset
@@ -311,7 +331,7 @@
<table style="width: 100%">
<tr>
<td>Demikian Kami Sampaikan, aatas perhatiannya kami ucapkan terimakasih</td>
<td>Demikian Kami Sampaikan, atas perhatiannya kami ucapkan terimakasih</td>
</tr>
<tr>
<table style="width: 100%; text-align: center;">
@@ -323,44 +343,32 @@
<td style="height: 50px"></td>
</tr>
@php
$senior_officer = null;
if ($permohonan->debiture && $permohonan->debiture->documents) {
foreach ($permohonan->debiture->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;
}
}
}
}
}
}
}
use Modules\Usermanagement\Models\User;
@endphp
<tr>
<td>{{ $penilai->userPenilaiTeam->name ?? '' }}</br>
Appraisal
<td >{{ $penilai->userPenilaiTeam->name ?? '' }}</br>
<span style="text-transform: uppercase; margin: 0; ">
PENILAI
</span>
</td>
<td> {{ $senior_officer->name ?? '' }}</br>
SO Region
<td > {{ $senior_officer->name ?? '' }}</br>
<span style="text-transform: uppercase; margin: 0; ">
SENIOR OFFICER
</span>
</td>
<td> {{ $senior_officer->name ?? '' }}</br>
EO Appraisal
<td > {{ $senior_officer->name ?? '' }}</br>
<span style="text-transform: uppercase; margin: 0; ">
EXECUTIVE OFFICER
</span>
</td>
<td> {{ User::role('DD Appraisal')->first()->name ?? '' }}</br>
<td > {{ User::role('DD Appraisal')->first()->name ?? '' }}</br>
<span style="text-transform: uppercase; margin: 0; ">
Deputy Director
</span>
</td>
</tr>
</table>

View File

@@ -7,7 +7,6 @@
<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>
* {
font-family: Arial, Helvetica, sans-serif;
@@ -112,9 +111,30 @@
$data = '';
foreach ($permohonan->debiture->documents as $dokumen) {
$data .= $dokumen->jenisJaminan->name . ', ';
$penilai = $permohonan->penilaian->userPenilai->where('role', 'penilai')->first();
$surveyor = $permohonan->penilaian->userPenilai->where('role', 'surveyor')->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;
}
}
}
}
}
}
$data = rtrim($data, ', ');
@endphp
@endphp
<header id="header">
<table style="width: 100%; border: none;">
<tr>
@@ -128,20 +148,22 @@
<main class="content">
<table style="width: 100%">
<tr>
<td>
<h2 style="text-decoration: underline; text-transform: uppercase; text-align: center;">Resume
<td style="text-align: center; margin-top: 5px;">
<h2 style="text-decoration: underline; text-transform: uppercase; text-align: center; margin: 0;">Resume
Penilaian
</h2>
<p style="font-size: 12px; margin: 0;">NO: {{ $nomorLaporan }}</p>
</td>
</tr>
</table>
<table >
<table>
<tr>
<td style="width: 20%">Pemohon</td>
<td style="width: 1%">:</td>
<td style="width: 100%">{{ $permohonan->user->name ?? '' }}</td>
<td style="width: 100%">{{ $permohonan->user->name ?? '' }} -
{{ $permohonan->debiture->branch->name ?? '' }}</td>
</tr>
<tr>
@@ -157,7 +179,8 @@
<tr>
<td>Lokasi Objek</td>
<td>:</td>
<td>{{ $alamat['village_code'] ?? '' }}, {{ $alamat['district_code'] ?? '' }}, {{ $alamat['city_code'] ?? '' }}, {{ $alamat['province_code'] ?? '' }}</td>
<td>{{ $alamat['village_code'] ?? '' }}, {{ $alamat['district_code'] ?? '' }},
{{ $alamat['city_code'] ?? '' }}, {{ $alamat['province_code'] ?? '' }}</td>
</tr>
<tr>
<td style="vertical-align: top; padding:2px;">Dokumen</td>
@@ -195,11 +218,7 @@
</tr>
<tr>
@php
$cekLuas = isset(
$forminspeksi['tanah']['luas_tanah']['tidak sesuai'],
)
? 'tidak sesuai'
: 'sesuai';
$cekLuas = isset($forminspeksi['tanah']['luas_tanah']['tidak sesuai']) ? 'tidak sesuai' : 'sesuai';
$luas = $forminspeksi['tanah']['luas_tanah'][$cekLuas] ?? null;
@endphp
@@ -208,16 +227,23 @@
<td>{{ $luas ?? '' }}</td>
</tr>
<tr>
<td>Tanggal Kunjungan</td>
<td>Tanggal Survey</td>
<td>:</td>
<td>{{ formatTanggalIndonesia($permohonan->penilaian->tanggal_kunjungan) }}</td>
</tr>
<tr>
<td>Tanggal Resume</td>
<td>:</td>
<td>{{ formatTanggalIndonesia($resumeData['tanggal_resume']) ?? '' }}</td>
</tr>
</table>
<table>
<table style="margin: 5px 0; border-collapse: collapse; width: 100%;">
<tr>
<td>
<h2 style=" text-transform: uppercase;">Faktor Positif</h2>
<td style="">
<h6 style="text-transform: uppercase; margin: 0; ">Faktor Positif</h2>
</td>
</tr>
<tr>
@@ -231,10 +257,10 @@
</tr>
</table>
<table>
<table style="margin: 5px 0; border-collapse: collapse; width: 100%;">
<tr>
<td>
<h2 style=" text-transform: uppercase;">Faktor negatif</h2>
<td style="">
<h6 style="text-transform: uppercase; margin: 0; ">Faktor negatif</h2>
</td>
</tr>
<tr>
@@ -247,46 +273,101 @@
@endisset
</tr>
</table>
<table style="width: 100%">
<table style="margin: 5px 0; border-collapse: collapse; width: 100%;">
<tr>
<td>
<h2 style=" text-transform: uppercase;">Nilai Pasar Wajar</h2>
<td style="">
<h3 style="text-transform: uppercase; margin: 0; ">Kesimpulan Nilai Pasar Wajar</h2>
</td>
<td>:</td>
<td></td>
</tr>
</table>
<table border="1" style="width: 100%">
<tr>
<td>
Keterangan
</td>
<td>
Nilai Pasar Wajar
</td>
<td>
Nilai Likudasi
</td>
</tr>
<tr>
@foreach ($resumeData['fisik'] as $item)
<td>
{{ $item['sertifikat'] ?? '' }}
</td>
<td>
{{ $item['nilai'] ?? '' }}
</td>
<td>
-
</td>
@endforeach
<table style="margin: 5px 0; border-collapse: collapse; width: 100%;">
<tr>
<td style="">
<h6 style="text-transform: uppercase; margin: 0; ">1. Sesuai Fisik</h6>
</td>
</tr>
</table>
<table>
<table border="1" style="width: 100%; border-collapse: collapse; margin-bottom: 10px;">
<tr>
<td>
<h2 style=" text-transform: uppercase;">lain lain</h2>
<td style="border: 1px solid #000; padding: 4px;">Sertifikat</td>
<td style="border: 1px solid #000; padding: 4px;">Luas Tanah ()</td>
<td style="border: 1px solid #000; padding: 4px;">Luas Bangunan ()</td>
<td style="border: 1px solid #000; padding: 4px;">Nilai Pasar Wajar (Rp)</td>
</tr>
@foreach ($resumeData['fisik'] as $item)
<tr>
<td style="border: 1px solid #000; padding: 4px;">{{ $item['sertifikat'] ?? '' }}</td>
<td style="border: 1px solid #000; padding: 4px;">{{ $item['luas_tanah'] ?? '' }}</td>
<td style="border: 1px solid #000; padding: 4px;">{{ $item['luas_bangunan'] ?? '' }}</td>
<td style="border: 1px solid #000; padding: 4px;">{{ $item['nilai'] ?? '' }}</td>
</tr>
@endforeach
</table>
<table style="margin: 5px 0; border-collapse: collapse; width: 100%;">
<tr>
<td style="">
<h6 style="text-transform: uppercase; margin: 0; ">2. Sesuai IMB</h6>
</td>
</tr>
</table>
<table border="1" style="width: 100%; border-collapse: collapse; margin-bottom: 10px;">
<tr>
<td style="border: 1px solid #000; padding: 4px;">Sertifikat</td>
<td style="border: 1px solid #000; padding: 4px;">Luas Tanah ()</td>
<td style="border: 1px solid #000; padding: 4px;">Luas Bangunan ()</td>
<td style="border: 1px solid #000; padding: 4px;">Nilai Pasar Wajar (Rp)</td>
</tr>
@foreach ($resumeData['sesuai_imb'] as $item)
<tr>
<td style="border: 1px solid #000; padding: 4px;">{{ $item['sertifikat'] ?? '' }}</td>
<td style="border: 1px solid #000; padding: 4px;">{{ $item['luas_tanah'] ?? '' }}</td>
<td style="border: 1px solid #000; padding: 4px;">{{ $item['luas_bangunan'] ?? '' }}</td>
<td style="border: 1px solid #000; padding: 4px;">{{ $item['nilai'] ?? '' }}</td>
</tr>
@endforeach
</table>
@if (!empty($resumeData['tambahan']))
@foreach ($resumeData['tambahan'] as $index => $item)
<table style="margin: 5px 0; border-collapse: collapse; width: 100%;">
<tr>
<td style="">
<h6 style="text-transform: uppercase; margin: 0; ">
{{ $index + 3 }}. {{ $item['tambahan_nama_kesimpulan'] ?? '-' }}
</h6>
</td>
</tr>
</table>
<table border="1" style="width: 100%; border-collapse: collapse; margin-bottom: 1px;">
<tr>
<td style="border: 1px solid #000; padding: 4px;">Sertifikat</td>
<td style="border: 1px solid #000; padding: 4px;">Luas Tanah ()</td>
<td style="border: 1px solid #000; padding: 4px;">Luas Bangunan ()</td>
<td style="border: 1px solid #000; padding: 4px;">Nilai Pasar Wajar (Rp)</td>
</tr>
<tr>
<td style="border: 1px solid #000; padding: 4px;">{{ $item['sertifikat'] ?? '-' }}</td>
<td style="border: 1px solid #000; padding: 4px;">{{ $item['luas_tanah'] ?? '-' }}</td>
<td style="border: 1px solid #000; padding: 4px;">{{ $item['luas_bangunan'] ?? '-' }}</td>
<td style="border: 1px solid #000; padding: 4px;">{{ $item['nilai'] ?? '-' }}</td>
</tr>
</table>
@endforeach
@endif
<table style="margin: 5px 0; border-collapse: collapse; width: 100%;">
<tr>
<td style="">
<h6 style="text-transform: uppercase; margin: 0; ">lain lain</h2>
</td>
</tr>
<tr>
@@ -295,11 +376,40 @@
</table>
<table style="width: 100%">
<tr>
<td>
<table>
<div style="margin-top: 20px;">
<label style="font-weight: bold;">DISCLAIMER</label>
<div>
<ol style="padding-left: 20px; list-style-type: decimal; margin-top: 0;">
<li style="margin-bottom: 5px;">LAPORAN RESUME INI DIKELUARKAN DIKARENAKAN BELUM
DILAKUKANNYA PEMBAYARAN BIAYA PENILAIAN JAMINAN</li>
<li style="margin-bottom: 5px;">LAPORAN RESUME INI TIDAK BISA DIJADIKAN SEBAGAI
DASAR PENGAJUAN DAN ATAU PENCAIRAN KREDIT, LAPORAN YANG DIGUNAKAN TETAP WAJIB
BERUPA LAPORAN PENILAIAN JAMINAN (LPJ)</li>
<li style="margin-bottom: 5px;">DETAIL PER METER TANAH DAN BANGUNAN, SARANA
PELENGKAP DLL AKAN TERCATAT DI LAPORAN PENILAIAN JAMINAN (LPJ) NANTI</li>
<li style="margin-bottom: 5px;">LAPORAN RESUME INI HANYA DIGUNAKAN UNTUK KEPENTINGAN
INTERNAL BAGI</li>
<li style="margin-bottom: 5px;">LAPORAN RESUME INI HANYA BERLAKU <span style="color:red;">14 HARI KALENDER </span>
TERHITUNG DARI TANGGAL RESUME INI DIBUAT SESUAI ATURAN YANG BERLAKU, APABILA
LEWAT MAKA HARUS DILAKUKAN ORDER ULANG SESUAI PROSEDUR YANG BERLAKU</li>
<li style="margin-bottom: 5px;">Apabila sudah melewati 6 bulan, maka harus penilaian
ulang kembali</li>
</ol>
</div>
</div>
</table>
</td>
</tr>
<tr>
<td>Demikian Kami Sampaikan, atas perhatiannya kami ucapkan terimakasih</td>
</tr>
<tr>
<table style="width: 100%; text-align: center;" >
<table style="width: 100%; text-align: center;">
<tr>
<td style="height: 50px"></td>
<td style="height: 50px"></td>
@@ -307,10 +417,20 @@
</tr>
<tr>
<td>{{ $penilai->userPenilaiTeam->name ?? '' }}</br>
Appraisal
PENILAI
</td>
<td> {{ $senior_officer->name ?? '' }}</br>
SO Region
SENIOR OFFICER
</td>
@php
use Modules\Usermanagement\Models\User;
@endphp
<td> {{ User::role('EO Appraisal')->first()->name ?? '' }}</br>
EXECUTIVE OFFICER
</td>
<td> {{ $surveyor->userPenilaiTeam->name ?? '' }}</br>
SURVEYOR
</td>
</tr>
</table>
@@ -328,8 +448,8 @@
</div>
</main>
<footer>
<footer id="footer">
Cabang : {{ $permohonan->debiture->branch->name ?? '' }}
</footer>
</body>

View File

@@ -5,7 +5,7 @@
@endsection
@section('content')
<style>
<style>
.list-decimal {
list-style-type: decimal;
margin: 0;
@@ -14,13 +14,12 @@
font-family: Arial, sans-serif;
font-size: 16px;
color: #333333;
}
}
.list-decimal li {
.list-decimal li {
margin-bottom: 0.5rem;
}
</style>
}
</style>
@include('lpj::assetsku.includenya')
<div class="w-full grid gap-5 lg:gap-7.5 mx-auto">
<form id="formResume" method="POST" class="w-full grid gap-5">
@@ -76,7 +75,7 @@
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Nomor Laporan</label>
<div class="flex flex-wrap items-base line w-full">
<p class="text-2sm text-gray-700">{{ $permohonan->nomor_registrasi }}</p>
<p class="text-2sm text-gray-700">{{ $nomorLaporan ?? '' }}</p>
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
@@ -87,6 +86,14 @@
@endif
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Tanggal Resume</label>
<div class="flex flex-wrap items-baseline w-full">
<input type="date" name="tanggal_resume" class="input w-full" placeholder="Masukkan..."
value="{{ $resumeData['tanggal_resume'] ?? '' }}">
</div>
</div>
</div>
</div>
<div class="card">
@@ -165,7 +172,7 @@
<div class="card-body grid gap-5">
<div class="gird gap-5">
<label class="form-label max-w-56">1. SESUAI FISIK</label>
<label class="form-label max-w-56">SESUAI FISIK</label>
<div class="flex flex-wrap items-baseline w-full mt-5">
<table class="table table-auto table-border align-middle text-gray-700 font-medium text-sm">
<thead>
@@ -222,7 +229,7 @@
</div>
<div class="gird gap-5">
<label class="form-label max-w-56">2. SESUAI IMB</label>
<label class="form-label max-w-56">SESUAI IMB</label>
<div class="flex flex-wrap items-baseline w-full">
<table
@@ -284,13 +291,19 @@
</div>
@if (!empty($resumeData['tambahan']))
<div class="gird gap-5">
<label class="form-label max-w-56">3. Tambahan</label>
@foreach ($resumeData['tambahan'] as $item)
<div id="kesimpulan" class="gird gap-5">
<div class="flex flex-wrap items-baseline w-full">
<table
class="table table-auto table-border align-middle text-gray-700 font-medium text-sm mt-5">
<input class="input" name="tambahan_nama_kesimpulan[]"
placeholder="Masukkan Nama Kesimpulan" type="text" value="{{ $item['tambahan_nama_kesimpulan'] ?? ''}}">
<thead>
<tr>
<th class="text-center">Sertipikat</th>
<th class="text-center">Luas Tanah</th>
@@ -302,7 +315,8 @@
</thead>
<tbody>
@if (!empty($resumeData['tambahan']))
@foreach ($resumeData['tambahan'] as $item)
{{-- @foreach ($resumeData['tambahan'] as $item) --}}
<tr>
<td class="text-center">
<input type="text" name="tambahan_sertifikat[]"
@@ -324,12 +338,12 @@
class="input number-format" value="{{ $item['nilai'] }}">
</td>
</tr>
@endforeach
@endif
</tbody>
</table>
</div>
</div>
@endforeach
@endif
<div>
@@ -354,30 +368,30 @@
</label>
<div class="input-group w-full flex gap-2">
<ol class="list-decimal pl-5 space-y-2">
<li>LAPORAN RESUME INI DIKELUARKAN DIKARENAKAN BELUM DILAKUKANNYA PEMBAYARAN BIAYA PENILAIAN JAMINAN
<li>LAPORAN RESUME INI DIKELUARKAN DIKARENAKAN BELUM DILAKUKANNYA PEMBAYARAN BIAYA PENILAIAN
JAMINAN
</li>
<li>LAPORAN RESUME INI TIDAK BISA DIJADIKAN SEBAGAI DASAR PENGAJUAN DAN ATAU PENCAIRAN KREDIT, LAPORAN YANG
<li>LAPORAN RESUME INI TIDAK BISA DIJADIKAN SEBAGAI DASAR PENGAJUAN DAN ATAU PENCAIRAN
KREDIT, LAPORAN YANG
DIGUNAKAN TETAP WAJIB BERUPA LAPORAN PENILAIAN JAMINAN (LPJ)
</li>
<li>DETAIL PER METER TANAH DAN BANGUNAN, SARANA PELENGKAP DLL AKAN TERCATAT DI LAPORAN PENILAIAN JAMINAN
<li>DETAIL PER METER TANAH DAN BANGUNAN, SARANA PELENGKAP DLL AKAN TERCATAT DI LAPORAN
PENILAIAN JAMINAN
(LPJ) NANTI
</li>
<li>LAPORAN RESUME INI HANYA DIGUNAKAN UNTUK KEPENTINGAN INTERNAL BAGI
</li>
<li>LAPORAN RESUME INI HANYA BERLAKU 14 HARI KALENDER TERHITUNG DARI TANGGAL RESUME INI DIBUAT SESUAI ATURAN
YANG BERLAKU, APABILA LEWAT MAKA HARUS DILAKUKAN ORDER ULANG SESUAI PROSEDUR YANG BERLAKU
<li>LAPORAN RESUME INI HANYA BERLAKU 14 HARI KALENDER TERHITUNG DARI TANGGAL RESUME INI
DIBUAT SESUAI ATURAN
YANG BERLAKU, APABILA LEWAT MAKA HARUS DILAKUKAN ORDER ULANG SESUAI PROSEDUR YANG
BERLAKU
</li>
<li>Apabila sudah melewati 6 bulan, maka harus penilaian ulang kembali
</li>
</ol>
</div>
</div>
<div class="flex card-footer justify-end gap-5">
<button type="button" class="btn btn-success" onclick="saveResume()">Save</button>
@if (Auth::user()->hasAnyRole(['senior-officer', 'EO Appraisal', 'DD Appraisal']))
@@ -405,11 +419,17 @@
kesimpulan.innerHTML += `
<div class="grid gap-5 w-full" id="kesimpulan-${counter}">
<label class="form-label kesimpulan max-w-56">${counter}. Tambahan</label>
<div class="flex flex-wrap items-baseline w-full">
<div class="tabel-container w-full">
<table class="table table-auto table-border align-middle text-gray-700 font-medium text-sm mt-5">
<input type="text" name="tambahan_nama_kesimpulan[]"
class="input number-format">
<thead>
<tr>
<th class="text-center">Sertipikat</th>
<th class="text-center">Luas Tanah</th>
@@ -419,7 +439,7 @@
</tr>
</thead>
<tbody>
<tr>
<td class="text-center">
<input type="text" name="tambahan_sertifikat[]"
class="input number-format">
@@ -537,6 +557,7 @@
function formToJson(formElement) {
const formData = new FormData(formElement);
const jsonData = {
tanggal_resume: "",
fakta: {
fakta_positif: [],
fakta_negatif: []
@@ -547,6 +568,7 @@
keterangan: ""
};
// Ambil fakta positif
document.querySelectorAll('textarea[name="fakta_positif[]"]').forEach(textarea => {
jsonData.fakta.fakta_positif.push(textarea.value);
@@ -583,8 +605,10 @@
}
});
document.querySelectorAll('table tbody tr').forEach(row => {
document.querySelectorAll('#kesimpulan > div').forEach(row => {
const imbData = {
tambahan_nama_kesimpulan: row.querySelector('input[name="tambahan_nama_kesimpulan[]"]')
?.value || "",
sertifikat: row.querySelector('input[name="tambahan_sertifikat[]"]')?.value || "",
luas_tanah: row.querySelector('input[name="tambahan_luas_tanah[]"]')?.value || "",
luas_bangunan: row.querySelector('input[name="tambahan_luas_bangunan[]"]')?.value || "",
@@ -600,6 +624,9 @@
const keterangan = formElement.querySelector('textarea[name="keterangan"]')?.value || "";
jsonData.keterangan = keterangan;
const tanggal_resume = formElement.querySelector('input[name="tanggal_resume"]')?.value || "";
jsonData.tanggal_resume = tanggal_resume;
return jsonData;
}

View File

@@ -288,8 +288,16 @@
</div>
<div class="flex justify-end gap-5">
<a class="btn btn-outline btn-info "
onclick="checkLaporan('{{ $permohonan->id }}', '{{ $dokumen->id }}', '{{ $inspeksiId }}', {{ $dokumen->jenis_jaminan_id }}, 1 )">
<i class="ki-filled ki-eye"></i>
PRIVIEW
</a>
<a class="btn btn-success"
onclick="checkLaporan('{{ $permohonan->id }}', '{{ $dokumen->id }}', '{{ $inspeksiId }}', {{ $dokumen->jenis_jaminan_id }}, )">
onclick="checkLaporan('{{ $permohonan->id }}', '{{ $dokumen->id }}', '{{ $inspeksiId }}', {{ $dokumen->jenis_jaminan_id }}, 0 )">
<i class="ki-filled ki-printer"></i>
PRINT OUT
</a>
</div>

View File

@@ -36,8 +36,7 @@
@csrf
<input type="hidden" value="{{ $permohonan->id }}" name="permohonan_id">
<input type="hidden" name="dokument_id" value="{{ request('dokument') }}">
<!-- Container untuk daftar denah -->
<input type="hidden" name="nomor_registrasi" value="{{ $permohonan->nomor_registrasi }}">
<!-- Container untuk daftar denah -->
<div id="denah-container">
@if (isset($formDenah['denahs']) && is_array($formDenah['denahs']) && count($formDenah['denahs']) > 0)

View File

@@ -146,7 +146,7 @@
<form id="formFoto" method="POST" class="grid gap-5" enctype="multipart/form-data">
<input type="hidden" name="permohonan_id" value="{{ $permohonan->id }}">
<input type="hidden" name="dokument_id" value="{{ request('dokument') }}">
<input type="hidden" name="nomor_registrasi" value="{{ $permohonan->nomor_registrasi }}">
<div class="card border border-agi-100 bg-white rounded-lg shadow-md">

View File

@@ -11,10 +11,12 @@
@csrf
<input type="hidden" name="permohonan_id" value="{{ $permohonan->id }}">
<input type="hidden" name="dokument_id" value="{{ request('dokument') }}">
<input type="hidden" name="nomor_registrasi" value="{{ $permohonan->nomor_registrasi }}">
@if (strtolower($permohonan->tujuanPenilaian->name) == 'rap')
<input type="hidden" name="action" value="rap">
<input type="hidden" name="type" value="rap">
@include('lpj::surveyor.components.header')
@include('lpj::surveyor.components.rap')
@else

View File

@@ -304,7 +304,7 @@
}
function checkLaporan(permohonanId, documentId, inspeksiId, jaminanId) {
function checkLaporan(permohonanId, documentId, inspeksiId, jaminanId, statusLpj) {
// showLoadingSwal('Tunggu...');
fetch(
`{{ url('/penilai/check-laporan') }}?permohonanId=${permohonanId}&documentId=${documentId}&inspeksiId=${inspeksiId}`
@@ -315,7 +315,7 @@
// Jika laporan ada, arahkan ke halaman cetak
window.location.href =
`{{ route('penilai.print-out') }}?permohonanId=${permohonanId}&documentId=${documentId}&inspeksiId=${inspeksiId}&jaminanId=${jaminanId}&statusLpj=0&type=${data.status}`;
`{{ route('penilai.print-out') }}?permohonanId=${permohonanId}&documentId=${documentId}&inspeksiId=${inspeksiId}&jaminanId=${jaminanId}&statusLpj=${statusLpj}&type=${data.status}`;
} else {
// Jika laporan belum ada, tampilkan pesan peringatan
Swal.fire({