perbaikan alamat, foto pembading, diskon, dan perbaikan tampilan kjjp
This commit is contained in:
@@ -189,36 +189,36 @@ class SurveyorController extends Controller
|
||||
'lingkungan' => 'getLingkunganData',
|
||||
'fakta' => 'getFactData'
|
||||
];
|
||||
|
||||
|
||||
$rules = [];
|
||||
$hasAssetDescriptionRules = false;
|
||||
|
||||
|
||||
$pisah = array_filter(
|
||||
explode(',', $action),
|
||||
explode(',', $action),
|
||||
function($act) use ($allowedActions) {
|
||||
return isset($allowedActions[trim($act)]);
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
foreach ($pisah as $act) {
|
||||
$act = trim($act);
|
||||
$method = $allowedActions[$act];
|
||||
|
||||
|
||||
$actionRules = $this->$method($data, $request);
|
||||
$rules = array_merge($rules, $actionRules);
|
||||
|
||||
|
||||
if (in_array($act, ['apartemen-kantor', 'tanah', 'bangunan'])) {
|
||||
$hasAssetDescriptionRules = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if ($hasAssetDescriptionRules) {
|
||||
$rules = array_merge($rules, $this->getAssetData($data));
|
||||
}
|
||||
|
||||
|
||||
return $rules;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public function storeDenah(Request $request)
|
||||
{
|
||||
@@ -234,7 +234,7 @@ class SurveyorController extends Controller
|
||||
$maxSize = getMaxFileSize('Foto');
|
||||
$validationRules['foto_denah'] = 'file|mimes:jpeg,jpg,png,pdf,svg|max:'. $maxSize;
|
||||
}
|
||||
|
||||
|
||||
$validatedData = $request->validate($validationRules);
|
||||
|
||||
$formatJsonDenah = [
|
||||
@@ -252,7 +252,7 @@ class SurveyorController extends Controller
|
||||
|
||||
if ($inspeksi) {
|
||||
$existingDenah = json_decode($inspeksi->denah_form, true) ?? [];
|
||||
|
||||
|
||||
$updatedDenah = array_merge($existingDenah, $formatJsonDenah);
|
||||
|
||||
$inspeksi->update([
|
||||
@@ -555,7 +555,7 @@ class SurveyorController extends Controller
|
||||
$penilaian->update([
|
||||
'authorized_status' => 1,
|
||||
]);
|
||||
|
||||
|
||||
$data['status'] = 'success';
|
||||
$data['message']= 'Jadwal '.$request->noReg.' berhasil di aprove';
|
||||
} catch (\Exception $e) {
|
||||
@@ -591,7 +591,7 @@ class SurveyorController extends Controller
|
||||
->first();
|
||||
|
||||
if ($inspeksi) {
|
||||
$existingData = $inspeksi->data_pembanding ?? [];
|
||||
$existingData = json_decode($inspeksi->data_pembanding, true) ?? [];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -600,8 +600,8 @@ class SurveyorController extends Controller
|
||||
|
||||
|
||||
$existingFoto = null;
|
||||
if ($existingData && isset($existingData[$i]['foto_objek'])) {
|
||||
$existingFoto = $existingData[$i]['foto_objek'];
|
||||
if ($existingData && isset($existingData['data_pembanding'][$i]['foto_objek'])) {
|
||||
$existingFoto = $existingData['data_pembanding'][$i]['foto_objek'];
|
||||
}
|
||||
|
||||
// Penanganan foto pembanding
|
||||
@@ -620,8 +620,8 @@ class SurveyorController extends Controller
|
||||
|
||||
return $dataPembanding;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
private function formatSinglePembanding($request, $index)
|
||||
{
|
||||
$fields = [
|
||||
@@ -631,12 +631,12 @@ class SurveyorController extends Controller
|
||||
'peruntukan', 'penawaran_transaksi', 'nomor_tlp',
|
||||
'kordinat_lat', 'kordinat_lng', 'jenis_aset','foto_objek'
|
||||
];
|
||||
|
||||
|
||||
$pembanding = [];
|
||||
foreach ($fields as $field) {
|
||||
$inputName = "{$field}_pembanding";
|
||||
$inputValue = $request->input($inputName);
|
||||
|
||||
|
||||
// Pastikan input adalah array dan index valid
|
||||
if (is_array($inputValue) && isset($inputValue[$index])) {
|
||||
$pembanding[$field] = $inputValue[$index];
|
||||
@@ -645,10 +645,10 @@ class SurveyorController extends Controller
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
return $pembanding;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
private function handleupdateOrDeleteFile($file, $type, $prefix)
|
||||
@@ -680,54 +680,54 @@ class SurveyorController extends Controller
|
||||
'status_nara_sumber', 'harga', 'nama_nara_sumber',
|
||||
'kordinat_lat', 'kordinat_lng', 'jenis_aset',
|
||||
];
|
||||
|
||||
|
||||
$inspeksi = Inspeksi::where('permohonan_id', $request->input('permohonan_id'))
|
||||
->where('jenis_jaminan_id', $request->input('jenis_jaminan_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) ?: [];
|
||||
|
||||
|
||||
// Inisialisasi struktur data jika belum ada
|
||||
if(!isset($dataForm['bangunan'])) {
|
||||
$dataForm['bangunan'] = [];
|
||||
$needsSave = true;
|
||||
}
|
||||
|
||||
|
||||
if(!isset($dataForm['tanah'])) {
|
||||
$dataForm['tanah'] = [];
|
||||
$needsSave = true;
|
||||
}
|
||||
|
||||
|
||||
if (!isset($dataForm['asset'])) {
|
||||
$dataForm['asset'] = [];
|
||||
$needsSave = true;
|
||||
}
|
||||
|
||||
|
||||
// Update data dengan mempertahankan struktur sesuai/tidak sesuai
|
||||
foreach ($fields as $field) {
|
||||
if ($request->filled($field)) {
|
||||
$newValue = $request->input($field);
|
||||
|
||||
|
||||
// Fields untuk tanah
|
||||
if (in_array($field, ['luas_tanah'])) {
|
||||
$cekLuas = $dataForm['tanah']['luas_tanah'] == 'sesuai' ? 'sesuai' : 'tidak sesuai';
|
||||
$cekLuas = $dataForm['tanah']['luas_tanah'] == 'sesuai' ? 'sesuai' : 'tidak sesuai';
|
||||
$dataForm['tanah'][$field][$cekLuas] = $newValue;
|
||||
}
|
||||
// Fields untuk bangunan
|
||||
else if (in_array($field, ['luas_tanah_bagunan'])) {
|
||||
|
||||
$cekBanguan = $dataForm['bangunan']['luas_tanah_bagunan'] == 'sesuai' ? 'sesuai' : 'tidak sesuai';
|
||||
$cekBanguan = $dataForm['bangunan']['luas_tanah_bagunan'] == 'sesuai' ? 'sesuai' : 'tidak sesuai';
|
||||
$dataForm['bangunan'][$field][$cekBanguan] = $newValue;
|
||||
}
|
||||
// Fields untuk alamat dalam asset
|
||||
@@ -736,12 +736,12 @@ class SurveyorController extends Controller
|
||||
if (!isset($dataForm['asset']['alamat'])) {
|
||||
$dataForm['asset']['alamat'] = [];
|
||||
}
|
||||
|
||||
|
||||
$alamatStatus = $dataForm['asset']['alamat'] == 'sesuai' ? 'sesuai' : 'tidak sesuai';
|
||||
if (!isset($dataForm['asset']['alamat'][$alamatStatus])) {
|
||||
$dataForm['asset']['alamat'][$alamatStatus] = [];
|
||||
}
|
||||
|
||||
|
||||
$dataForm['asset']['alamat'][$alamatStatus][$field] = $newValue;
|
||||
}
|
||||
// Jenis asset dalam asset
|
||||
@@ -755,19 +755,19 @@ class SurveyorController extends Controller
|
||||
else {
|
||||
$dataForm['asset'][$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],
|
||||
@@ -790,7 +790,7 @@ class SurveyorController extends Controller
|
||||
return $carry;
|
||||
}, [])
|
||||
);
|
||||
|
||||
|
||||
} else {
|
||||
// Inisialisasi data baru
|
||||
$objekPenilaian = array_reduce($fields, function ($carry, $field) use ($request) {
|
||||
@@ -798,10 +798,10 @@ class SurveyorController extends Controller
|
||||
return $carry;
|
||||
}, ['foto_objek' => null]);
|
||||
}
|
||||
|
||||
|
||||
return $objekPenilaian;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
private function saveInspeksi($formattedData)
|
||||
@@ -873,6 +873,7 @@ class SurveyorController extends Controller
|
||||
'data_pembanding' => $this->formatDataPembanding($request)
|
||||
];
|
||||
|
||||
|
||||
$inspeksi = $this->saveInspeksi($formattedData);
|
||||
|
||||
DB::commit();
|
||||
@@ -1041,7 +1042,6 @@ class SurveyorController extends Controller
|
||||
if (json_last_error() !== JSON_ERROR_NONE) {
|
||||
throw new \Exception('Error decoding comparison data: ' . json_last_error_msg());
|
||||
}
|
||||
|
||||
}
|
||||
$fotoForm = json_decode($inspeksi->foto_form, true);
|
||||
|
||||
@@ -1055,8 +1055,6 @@ class SurveyorController extends Controller
|
||||
$districts = District::where('city_code', $this->getCodeAlamat('city_code', $inspectionData))->get();
|
||||
$villages = Village::where('district_code', $this->getCodeAlamat('district_code', $inspectionData))->get();
|
||||
|
||||
|
||||
|
||||
return view('lpj::surveyor.components.data-pembanding', compact(
|
||||
'permohonan',
|
||||
'id',
|
||||
@@ -1068,7 +1066,8 @@ class SurveyorController extends Controller
|
||||
'cities',
|
||||
'districts',
|
||||
'villages',
|
||||
'provinces'
|
||||
'provinces',
|
||||
'inspeksi'
|
||||
));
|
||||
|
||||
} catch (\Exception $e) {
|
||||
@@ -1562,7 +1561,7 @@ class SurveyorController extends Controller
|
||||
|
||||
|
||||
|
||||
private function getCommonData()
|
||||
public function getCommonData()
|
||||
{
|
||||
return [
|
||||
'branches' => Branch::all(),
|
||||
@@ -1809,11 +1808,9 @@ class SurveyorController extends Controller
|
||||
'jarak_tps' => $data['jarak_tps'] ?? null,
|
||||
'nama_tps' => $data['nama_tps'] ?? null,
|
||||
'merupakan_daerah' => $data['merupakan_daerah'] ?? null,
|
||||
'fasilitas_dekat_object' => $this->getFieldData(
|
||||
$data,
|
||||
'fasilitas_dekat_object',
|
||||
false,
|
||||
'lainnya'
|
||||
'fasilitas_dekat_object' => $this->mapArrayWithInputs(
|
||||
$data['fasilitas_dekat_object'] ?? [],
|
||||
$data['fasilitas_dekat_object_input'] ?? []
|
||||
),
|
||||
]
|
||||
];
|
||||
|
||||
Reference in New Issue
Block a user