perbaikan pembanding kendaraan, alat berat, pesawat, kapal, print out dan ukuran foto pada objek jaminan
This commit is contained in:
@@ -268,7 +268,7 @@ class PenilaiController extends Controller
|
||||
);
|
||||
|
||||
$resume = Penilai::where('permohonan_id', $permohonanId)->where('dokument_id', $documentId)->first();
|
||||
|
||||
|
||||
$lpjData = null;
|
||||
$rap = null;
|
||||
$forminspeksi= null;
|
||||
@@ -729,7 +729,8 @@ class PenilaiController extends Controller
|
||||
|
||||
if ($lpj) {
|
||||
$lpjData = json_decode($lpj->lpj, true);
|
||||
$memo = json_decode($lpj->memoe, true);
|
||||
$memo = json_decode($lpj->memo, true);
|
||||
$resumeData = json_decode($lpj->resume, true);
|
||||
}
|
||||
|
||||
$inputAddress = $forminspeksi['asset']['alamat']['sesuai'] ?? $forminspeksi['asset']['alamat']['tidak sesuai'];
|
||||
@@ -757,7 +758,9 @@ class PenilaiController extends Controller
|
||||
'statusLpj',
|
||||
'alamat',
|
||||
'dataPembanding',
|
||||
'nomorLaporan'
|
||||
'nomorLaporan',
|
||||
'memo',
|
||||
'resumeData'
|
||||
));
|
||||
|
||||
$pdf->setPaper('A4', 'portrait');
|
||||
@@ -776,9 +779,11 @@ class PenilaiController extends Controller
|
||||
'alamat',
|
||||
'dataPembanding',
|
||||
'nomorLaporan',
|
||||
'memo'
|
||||
'memo',
|
||||
'resumeData'
|
||||
));
|
||||
|
||||
// return $pdf;
|
||||
$pdf->setPaper('A4', 'portrait');
|
||||
return $pdf->download('Laporan_'. $tipeLaporan . '_' . $permohonan->nomor_registrasi . '_' .$permohonan->debiture->name .'_data.pdf');
|
||||
}
|
||||
@@ -864,24 +869,24 @@ class PenilaiController extends Controller
|
||||
$permohonanId = $request->query('permohonanId');
|
||||
$documentId = $request->query('documentId');
|
||||
$inspeksiId = $request->query('inspeksiId');
|
||||
|
||||
|
||||
// Ambil data berdasarkan ID
|
||||
$statusLpj = Penilai::where('permohonan_id', $permohonanId)
|
||||
->where('dokument_id', $documentId)
|
||||
->where('inspeksi_id', $inspeksiId)
|
||||
->first();
|
||||
|
||||
|
||||
// Jika data tidak ditemukan, kembalikan status null
|
||||
if (!$statusLpj) {
|
||||
return response()->json(['status' => null]);
|
||||
return response()->json(['status' => null]);
|
||||
}
|
||||
|
||||
|
||||
// Tentukan tipe berdasarkan kondisi
|
||||
$type = $statusLpj->type_penilai ?? null;
|
||||
|
||||
|
||||
// Kembalikan respons dengan tipe yang sesuai
|
||||
return response()->json(['status' => $type]);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -649,15 +649,22 @@ class PenilaianController extends Controller
|
||||
|
||||
if ($lpj) {
|
||||
$lpjData = json_decode($lpj->lpj, true);
|
||||
$resumeData = json_decode($lpj->resume, true);
|
||||
$memo = json_decode($lpj->memo, true);
|
||||
$rap = json_decode($lpj->rap, true);
|
||||
}
|
||||
|
||||
|
||||
if (empty($lpj->type_penilai)) {
|
||||
return redirect()->back()->with('error', 'Masih diproses');
|
||||
}
|
||||
|
||||
$viewLaporan = $this->getViewLaporan($lpj->type_penilai);
|
||||
|
||||
if (empty($viewLaporan)) {
|
||||
return redirect()->back()->with('error', 'Laporan belum dibuat');
|
||||
}
|
||||
|
||||
return view('lpj::'. $viewLaporan, compact('permohonan', 'forminspeksi', 'basicData', 'inspeksi', 'lpjData', 'provinces'));
|
||||
|
||||
return view('lpj::'. $viewLaporan, compact('permohonan', 'forminspeksi', 'basicData', 'inspeksi', 'lpjData', 'provinces','resumeData', 'rap','memo'));
|
||||
}
|
||||
|
||||
private function getViewLaporan($tipe)
|
||||
|
||||
@@ -909,8 +909,8 @@ class SurveyorController extends Controller
|
||||
$jenisJaminan = $inspeksi->dokument->jenisJaminan->name ?? '';
|
||||
|
||||
$isTanahBangunan = !in_array(
|
||||
strtoupper($jenisJaminan->name ?? ''),
|
||||
['KAPAL', 'PESAWAT', 'KENDARAAN', 'ALAT BERAT']
|
||||
strtoupper($jenisJaminan ?? ''),
|
||||
['KAPAL', 'PESAWAT', 'KENDARAAN', 'ALAT BERAT', 'MESIN']
|
||||
);
|
||||
|
||||
$isInvalid =
|
||||
@@ -968,7 +968,9 @@ class SurveyorController extends Controller
|
||||
->route('surveyor.index')
|
||||
->with('success', 'Jadwal berhasil dibuat.');
|
||||
} catch (\Exception $e) {
|
||||
return response()->json(['buttonDisable' => $e->getMessage()]);
|
||||
return redirect()
|
||||
->route('surveyor.index')
|
||||
->with('error', 'Tanggal dan catatan tidak boleh kosong');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1052,6 +1054,19 @@ class SurveyorController extends Controller
|
||||
|
||||
private function formatSinglePembanding($request, $index)
|
||||
{
|
||||
$tanahBangunanTypes = ['KAPAL', 'PESAWAT', 'KENDARAAN', 'ALAT BERAT', 'MESIN'];
|
||||
|
||||
if (isset($request->action) &&
|
||||
in_array(strtoupper($request->action), array_map('strtoupper', $tanahBangunanTypes))) {
|
||||
$fields = [
|
||||
'address', 'village_code', 'district_code', 'city_code', 'province_code',
|
||||
'nama', 'type','warna','lokasi', 'total', 'diskon', 'harga_diskon',
|
||||
'sumber_data', 'harga', 'tahun','transmisi','telepon',
|
||||
'kordinat_lat', 'kordinat_lng', 'tahun_pembuatan','merek_buatan','kapasitas','power','kondisi'
|
||||
];
|
||||
|
||||
|
||||
}else{
|
||||
$fields = [
|
||||
'address', 'village_code', 'district_code', 'city_code', 'province_code',
|
||||
'tahun', 'luas_tanah', 'luas_bangunan', 'tahun_bangunan',
|
||||
@@ -1059,6 +1074,7 @@ class SurveyorController extends Controller
|
||||
'peruntukan', 'penawaran', 'telepon','hak_properti',
|
||||
'kordinat_lat', 'kordinat_lng', 'jenis_aset','foto_objek'
|
||||
];
|
||||
}
|
||||
|
||||
$pembanding = [];
|
||||
foreach ($fields as $field) {
|
||||
@@ -1252,6 +1268,104 @@ class SurveyorController extends Controller
|
||||
return $objekPenilaian;
|
||||
}
|
||||
|
||||
private function formatObjekPenilaiankendaraan($request)
|
||||
{
|
||||
$fields = [
|
||||
'address', 'village_code', 'district_code', 'city_code', 'province_code',
|
||||
'nama', 'type','warna','lokasi', 'total', 'diskon', 'harga_diskon',
|
||||
'sumber_data', 'harga', 'tahun','transmisi','telepon',
|
||||
'kordinat_lat', 'kordinat_lng', 'tahun_pembuatan','merek_buatan','kapasitas','power','kondisi'
|
||||
];
|
||||
|
||||
$inspeksi = Inspeksi::where('permohonan_id', $request->input('permohonan_id'))
|
||||
->where('dokument_id', $request->input('dokument_id'))
|
||||
->first();
|
||||
|
||||
if ($inspeksi) {
|
||||
$needsSave = false;
|
||||
|
||||
// Handle foto_form
|
||||
$fotoForm = json_decode($inspeksi->foto_form, true) ?: [];
|
||||
if (!isset($fotoForm['object_jaminan'])) {
|
||||
$fotoForm['object_jaminan'] = [['foto_objek' => null]];
|
||||
$needsSave = true;
|
||||
}
|
||||
|
||||
// Handle data_form
|
||||
$dataForm = json_decode($inspeksi->data_form, true) ?: [];
|
||||
|
||||
|
||||
// Update data dengan mempertahankan struktur sesuai/tidak sesuai
|
||||
foreach ($fields as $field) {
|
||||
if ($request->filled($field)) {
|
||||
$newValue = $request->input($field);
|
||||
|
||||
// Fields untuk alamat dalam asset
|
||||
if (in_array($field, ['address', 'village_code', 'district_code', 'city_code', 'province_code'])) {
|
||||
|
||||
if (!isset($dataForm['alamat'])) {
|
||||
$dataForm['alamat'] = [];
|
||||
}
|
||||
|
||||
$alamatStatus = $dataForm['alamat'] == 'sesuai' ? 'sesuai' : 'tidak sesuai';
|
||||
if (!isset($dataForm['alamat'][$alamatStatus])) {
|
||||
$dataForm['alamat'][$alamatStatus] = [];
|
||||
}
|
||||
|
||||
$dataForm['alamat'][$alamatStatus][$field] = $newValue;
|
||||
}
|
||||
else {
|
||||
if (!isset($dataForm[$field])) {
|
||||
$dataForm[$field] = [];
|
||||
}
|
||||
$dataForm[$field] = $newValue;
|
||||
}
|
||||
|
||||
|
||||
$needsSave = true;
|
||||
}
|
||||
}
|
||||
|
||||
if ($needsSave) {
|
||||
$inspeksi->foto_form = json_encode($fotoForm);
|
||||
$inspeksi->data_form = json_encode($dataForm);
|
||||
$inspeksi->save();
|
||||
}
|
||||
|
||||
$existingFoto = $fotoForm['object_jaminan'][0]['foto_objek'] ?? null;
|
||||
|
||||
// Gabungkan data dari tanah, bangunan, dan asset
|
||||
$objekPenilaian = array_merge(
|
||||
['foto_objek' => $existingFoto],
|
||||
array_reduce($fields, function ($carry, $field) use ($request, $dataForm) {
|
||||
if (isset($dataForm[$field])) {
|
||||
if (is_array($dataForm[$field])) {
|
||||
if (isset($dataForm[$field]['sesuai'])) {
|
||||
$carry[$field] = $dataForm[$field]['sesuai'];
|
||||
} elseif (isset($dataForm[$field]['tidak sesuai'])) {
|
||||
$carry[$field] = $dataForm[$field]['tidak sesuai'];
|
||||
}
|
||||
} else {
|
||||
$carry[$field] = $dataForm[$field];
|
||||
}
|
||||
} else {
|
||||
$carry[$field] = $request->input($field);
|
||||
}
|
||||
return $carry;
|
||||
}, [])
|
||||
);
|
||||
|
||||
} else {
|
||||
// Inisialisasi data baru
|
||||
$objekPenilaian = array_reduce($fields, function ($carry, $field) use ($request) {
|
||||
$carry[$field] = $request->input($field);
|
||||
return $carry;
|
||||
}, ['foto_objek' => null]);
|
||||
}
|
||||
|
||||
return $objekPenilaian;
|
||||
}
|
||||
|
||||
|
||||
|
||||
private function saveInspeksi($formattedData)
|
||||
@@ -1283,7 +1397,15 @@ class SurveyorController extends Controller
|
||||
'foto_objek_pembanding.*' => 'nullable|image|max:'.$maxSize,
|
||||
]);
|
||||
|
||||
$objekPenilaian = $this->formatObjekPenilaian($request);
|
||||
$tanahBangunanTypes = ['KAPAL', 'PESAWAT', 'KENDARAAN', 'ALAT BERAT', 'MESIN'];
|
||||
|
||||
if (isset($request->action) &&
|
||||
in_array(strtoupper($request->action), array_map('strtoupper', $tanahBangunanTypes))) {
|
||||
|
||||
$objekPenilaian = $this->formatObjekPenilaiankendaraan($request);
|
||||
}else{
|
||||
$objekPenilaian = $this->formatObjekPenilaian($request);
|
||||
}
|
||||
if ($request->hasFile('foto_objek')) {
|
||||
$newFoto = $this->handleupdateOrDeleteFile(
|
||||
$request->file('foto_objek'),
|
||||
@@ -1583,16 +1705,21 @@ class SurveyorController extends Controller
|
||||
|
||||
public function getCodeAlamat($code, $inspectionData)
|
||||
{
|
||||
$cekAlamat = isset(
|
||||
$inspectionData['asset']['alamat']['sesuai'],
|
||||
)
|
||||
? 'sesuai'
|
||||
: 'tidak sesuai';
|
||||
$selectedProvince =
|
||||
$inspectionData['asset']['alamat'][$cekAlamat][
|
||||
$code
|
||||
] ?? null;
|
||||
return $selectedProvince;
|
||||
|
||||
$tanahBangunanTypes = ['KAPAL', 'PESAWAT', 'KENDARAAN', 'ALAT BERAT', 'MESIN'];
|
||||
|
||||
if (isset($inspectionData['action']) &&
|
||||
in_array(strtoupper($inspectionData['action']), array_map('strtoupper', $tanahBangunanTypes))) {
|
||||
return $selectedProvince = $inspectionData['alamat']['sesuai'][$code] ?? null;
|
||||
}
|
||||
|
||||
if (isset($inspectionData['asset'])) {
|
||||
$cekAlamat = isset($inspectionData['asset']['alamat']['sesuai']) ? 'sesuai' : 'tidak sesuai';
|
||||
$selectedProvince = $inspectionData['asset']['alamat'][$cekAlamat][$code] ?? null;
|
||||
return $selectedProvince;
|
||||
}
|
||||
return null;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user