feat(print-out): hasil inspeksi surveyor

This commit is contained in:
majid
2025-01-31 02:32:55 +07:00
parent d8f0996184
commit d5311a944d
16 changed files with 1155 additions and 579 deletions

View File

@@ -2407,7 +2407,7 @@ class SurveyorController extends Controller
$data['hub_cadeb_penghuni'] => ($data['hub_cadeb_penghuni'] == 'sesuai') ? $data['hub_cadeb_penghuni_sesuai'] : $data['hub_penghuni_tidak_sesuai']
],
'pihak_bank' => $data['pihak_bank'] ?? null,
'nomor_nib' => $data['nomor_nib'] ?? null,
'kordinat_lng' => $data['kordinat_lng'] ?? null,
'kordinat_lat' => $data['kordinat_lat'] ?? null,
]
@@ -3265,33 +3265,33 @@ class SurveyorController extends Controller
if ($checkKesesuaian) {
// Mengecek apakah status kesesuaian adalah 'sesuai'
$isSesuai = ($data[$fieldName] ?? '') === 'sesuai';
// Menggunakan key berdasarkan status kesesuaian
$result = [
$isSesuai ? 'sesuai' : 'tidak_sesuai' => $data[$fieldName] ?? null
];
// Tambahkan field ekstra jika ada
if ($extraField) {
$result[$extraField] = $data["{$fieldName}_{$extraField}"] ?? null;
}
return $result;
}
// Jika tidak melakukan pengecekan kesesuaian, hanya ambil data berdasarkan fieldName
$result = [
$fieldName => $data[$fieldName] ?? null,
];
// Jika ada extra field, tambahkan ke result
if ($extraField) {
$result[$extraField] = $data["{$fieldName}_{$extraField}"] ?? null;
}
return $result;
}
public function export(string $type)
{
@@ -3332,12 +3332,13 @@ class SurveyorController extends Controller
->where('dokument_id', $request->input('document_id'))
->first();
if (!$inspeksi) {
return response()->json([
'success' => false,
'message' => 'Data inspeksi tidak ditemukan'
], 404);
}
if (!$inspeksi) {
$inspeksi = new Inspeksi();
$inspeksi->permohonan_id = $request->input('permohonan_id');
$inspeksi->dokument_id = $request->input('document_id');
$inspeksi->data_form = json_encode([]); // Inisialisasi data_form kosong
$inspeksi->save();
}
// Decode data form yang ada
$dataForm = json_decode($inspeksi->data_form, true) ?: [];
@@ -3493,36 +3494,43 @@ class SurveyorController extends Controller
public function print_out_inspeksi($permohonan_id, $dokument_id, $jenis_jaminan_id)
{
$permohonan = $this->getPermohonanJaminanId(
$permohonan_id,
$dokument_id,
$jenis_jaminan_id
);
// Ambil data permohonan dan data umum
$permohonan = $this->getPermohonanJaminanId($permohonan_id, $dokument_id, $jenis_jaminan_id);
$basicData = $this->getCommonData();
// Ambil data inspeksi
$inspeksi = Inspeksi::where('permohonan_id', $permohonan_id)
->where('dokument_id', $dokument_id)
->first();
$forminspeksi = null;
if ($inspeksi) {
$forminspeksi = json_decode($inspeksi->data_form, true);
if (!$inspeksi) {
// Redirect jika inspeksi tidak ditemukan
return redirect()->back()->with('error', 'Data inspeksi tidak ditemukan.');
}
// Cek jika forminspeksi kosong
// Decode data form inspeksi
$forminspeksi = json_decode($inspeksi->data_form, true);
if (!$forminspeksi) {
// Redirect kembali dengan pesan error
return redirect()->back()->with('error', 'Silahkan isi terlebih dahulu form inspeksi');
// Redirect jika data form inspeksi kosong
return redirect()->back()->with('error', 'Silahkan isi terlebih dahulu form inspeksi.');
}
$pdf = PDF::loadView('lpj::surveyor.components.print-out.main', compact(
'permohonan',
'basicData',
'forminspeksi',
));
// Pilih template PDF berdasarkan nama inspeksi
$templateView = strtolower($inspeksi->name) === 'rap'
? 'lpj::surveyor.components.print-out.main'
: 'lpj::surveyor.components.print-out.main';
// Generate PDF
$pdf = PDF::loadView($templateView, compact('permohonan', 'basicData', 'forminspeksi'));
$pdf->setPaper('A4', 'portrait');
return $pdf->download('Laporan_data.pdf');
// Tentukan nama file PDF
$namaDebiture = $permohonan->debiture->name . '-' . $permohonan->nomor_registrasi;
$fileName = 'inspeksi-' . $namaDebiture . '-data.pdf';
return $pdf->download($fileName);
}
}