update form inspeksi menggunakan json

This commit is contained in:
majid76
2024-11-12 07:13:33 +07:00
parent a809828b80
commit d0390d3f9f
5 changed files with 194 additions and 53 deletions

View File

@@ -34,8 +34,9 @@ use Modules\Lpj\Models\Denah;
use Modules\Lpj\Models\FotoJaminan;
use Modules\Lpj\Models\Lingkungan;
use Modules\Lpj\Models\LantaiUnit;
use Modules\Lpj\Models\Lantai;
use Modules\Lpj\Models\Teams;
use Modules\Lpj\Models\Lantai;
use Modules\Lpj\Models\Inspeksi;
use Modules\Lpj\Models\ViewUnit;
use Modules\Lpj\Models\ObjekJaminan;
use Modules\Lpj\Models\RuteJaminan;
@@ -156,48 +157,117 @@ class SurveyorController extends Controller
$data = $request->validated();
if ($data) {
try {
$formatTanahJson =[
'debitur_perwakilan' => $data['debitur_perwakilan'] ?? [],
'jenis_asset' => $data['jenis_asset'] ?? null,
'jenis_asset_tidak_sesuai' => $data['jenis_asset_tidak_sesuai'] ?? null,
'alamat_sesuai' => $data['alamat_sesuai'] ?? null,
'alamat_tidak_sesuai' => $data['alamat_tidak_sesuai'] ?? null,
'nama_jalan' => $data['nama_jalan'] ?? null,
'desa_kelurahan' => $data['desa_kelurahan'] ?? null,
'kecamatan' => $data['kecamatan'] ?? null,
'kota_kabupaten' => $data['kota_kabupaten'] ?? null,
'provinsi' => $data['provinsi'] ?? null,
'kordinat_lng' => $data['kordinat_lng'] ?? null,
'kordinat_lat' => $data['kordinat_lat'] ?? null,
'luas_tanah' => $data['luas_tanah'] ?? null,
'luas_tanah_tidak_sesuai' => $data['luas_tanah_tidak_sesuai'] ?? null,
'hadap_mata_angin' => $data['hadap_mata_angin'] ?? null,
'hadap_mata_angin_tidak_sesuai' => $data['hadap_mata_angin_tidak_sesuai'] ?? null,
'bentuk_tanah' => $data['bentuk_tanah'] ?? null,
'bentuk_tanah_lainnya' => $data['bentuk_tanah_lainnya'] ?? null,
'kontur_tanah' => $data['kontur_tanah'] ?? [],
'ketinggian_tanah' => $data['ketinggian_tanah'] ?? [],
'ketinggian_tanah_tidak_sesuai' => $data['ketinggian_tanah_tidak_sesuai'] ?? [],
'posisi_kavling' => $data['posisi_kavling'] ?? [],
'posisi_kavling_lainnya' => $data['posisi_kavling_lainnya'] ?? null,
'tusuk_sate' => $data['tusuk_sate'] ?? null,
'lockland' => $data['lockland'] ?? null,
'kondisi_fisik_tanah' => $data['kondisi_fisik_tanah'] ?? [],
'kondisi_fisik_tanah_lainnya' => $data['kondisi_fisik_tanah_lainnya'] ?? null,
];
$formatBangunanJson =[
'luas_tanah_bangunan' => $data['luas_tanah_bangunan'] ?? null,
'jenis_bangunan' => $data['jenis_bangunan'] ?? null,
'kondisi_bangunan' => $data['kondisi_bangunan'] ?? null,
'sifat_bangunan' => $data['sifat_bangunan'] ?? null,
'sifat_bangunan_input' => $data['sifat_bagunan_input'] ?? null,
'spek_kategori_bagunan' => $data['spek_kategori_bagunan'] ?? null,
'spek_bangunan' => $data['spek_bangunan'] ?? null,
'sarana_pelengkap' => $data['sarana_pelengkap'] ?? [],
'sarana_pelengkap_input' => $data['sarana_pelengkap_input'] ?? null,
];
$formatLingkunganJson =[
'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' => $data['perkerasan_jalan'] ?? null,
'lalu_lintas' => $data['lalu_lintas'] ?? null,
'gol_mas_sekitar' => $data['gol_mas_sekitar'] ?? null,
'tingkat_keramaian' => $data['tingkat_keramaian'] ?? null,
'terletak_diarea' => $data['terletak_diarea'] ?? null,
'disekitar_lokasi' => $data['disekitar_lokasi'] ?? null,
'kondisi_bangunan_sekitar' => $data['kondisi_bangunan_sekitar'] ?? null,
'sifat_bangunan_sekitar' => $data['sifat_bangunan_sekitar'] ?? 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,
'merupkan_daerah' => $data['merupkan_daerah'] ?? null,
'fasilitas_dekat_object' => $data['fasilitas_dekat_object'] ?? null,
];
$formatFaktaJson =[
'fakta_positif' => $data['fakta_positif'] ?? null,
'fakta_negatif' => $data['fakta_negatif'] ?? null,
'rute_menuju' => $data['rute_menuju'] ?? null,
'batas_batas' => $data['batas_batas'] ?? 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,
'lat' => $data['lat'] ?? null,
'lng' => $data['lng'] ?? null,
'foto_tempat' => $data['foto_tempat'] ?? null,
'keterangan' => $data['keterangan'] ?? null,
];
$mergeData = array_merge($formatTanahJson, $formatBangunanJson, $formatLingkunganJson, $formatFaktaJson);
Inspeksi::create([
'permohonan_id' => $request->permohonan_id,
'data_form' => json_encode($mergeData),
'name' => $request->type,
]);
return response()->json(['message' => 'Data berhasil disimpan',
'data' => $data], 200);
'data' => $mergeData], 200);
} catch (Exception $e) {
return response()->json(['status' => 500, 'message' => 'Data gagal disimpan: ' . $e->getMessage()], 500);
return response()->json(['message' => 'Data gagal disimpan: ' . $e->getMessage()], 500);
}
}
// $validatedData = $request->validated();
// DB::beginTransaction();
// try {
// $analisa = Analisa::create($validatedData);
// if ($analisa) {
// $validatedData['analisa_id'] = $analisa->id;
// switch ($validatedData['action']) {
// case 'tanah_bangunan':
// $this->handleTanahBangunan($validatedData, $request);
// break;
// case 'unit':
// $this->handleUnit($validatedData);
// break;
// default:
// throw new \Exception('Invalid action type');
// }
// AnalisaLingkungan::create($validatedData);
// $validatedData['foto_tempat'] = $this->uploadFile($request->file('foto_tempat'), 'foto_tempat');
// AnalisaFakta::create($validatedData);
// }
// DB::commit();
// return redirect()->route('surveyor.show', [
// 'id' => $validatedData['permohonan_id'],
// 'form' => 'inspeksi'
// ])->with('success', 'Data form surveyor berhasil disimpan');
// } catch (Exception $e) {
// DB::rollback();
// return response()->json(['error' => 'Failed to save data', 'details' => $e->getMessage()], 500);
// }
}
private function handleTanahBangunan(array $validatedData, FormSurveyorRequest $request)