diff --git a/app/Http/Controllers/SurveyorController.php b/app/Http/Controllers/SurveyorController.php index 5a400ee..537b3fb 100644 --- a/app/Http/Controllers/SurveyorController.php +++ b/app/Http/Controllers/SurveyorController.php @@ -123,6 +123,8 @@ class SurveyorController extends Controller ->where('permohonan_id', $id) ->get(); + $inpeksi = Inspeksi::where('permohonan_id', $id)->get(); + $forminspeksi = json_decode($inpeksi[0]->data_form, true); return view('lpj::surveyor.detail', compact( @@ -158,7 +160,9 @@ class SurveyorController extends Controller if ($data) { try { - $formatTanahJson =[ + + + $formatTanahJson = [ 'debitur_perwakilan' => $data['debitur_perwakilan'] ?? [], 'jenis_asset' => $data['jenis_asset'] ?? null, 'jenis_asset_tidak_sesuai' => $data['jenis_asset_tidak_sesuai'] ?? null, @@ -189,7 +193,7 @@ class SurveyorController extends Controller ]; - $formatBangunanJson =[ + $formatBangunanJson = [ 'luas_tanah_bangunan' => $data['luas_tanah_bangunan'] ?? null, 'jenis_bangunan' => $data['jenis_bangunan'] ?? null, 'kondisi_bangunan' => $data['kondisi_bangunan'] ?? null, @@ -202,7 +206,7 @@ class SurveyorController extends Controller ]; - $formatLingkunganJson =[ + $formatLingkunganJson = [ 'jarak_jalan_utama' => $data['jarak_jalan_utama'] ?? null, 'jalan_linkungan' => $data['jalan_linkungan'] ?? null, 'jarak_cbd_point' => $data['jarak_cbd_point'] ?? null, @@ -222,13 +226,13 @@ class SurveyorController extends Controller 'dekat_tps' => $data['dekat_tps'] ?? null, 'jarak_tps' => $data['jarak_tps'] ?? null, 'nama_tps' => $data['nama_tps'] ?? null, - 'merupkan_daerah' => $data['merupkan_daerah'] ?? null, + 'merupakan_daerah' => $data['merupakan_daerah'] ?? null, 'fasilitas_dekat_object' => $data['fasilitas_dekat_object'] ?? null, ]; - $formatFaktaJson =[ + $formatFaktaJson = [ 'fakta_positif' => $data['fakta_positif'] ?? null, 'fakta_negatif' => $data['fakta_negatif'] ?? null, 'rute_menuju' => $data['rute_menuju'] ?? null, @@ -247,7 +251,10 @@ class SurveyorController extends Controller 'nama_petugas' => $data['nama_petugas'] ?? null, 'lat' => $data['lat'] ?? null, 'lng' => $data['lng'] ?? null, - 'foto_tempat' => $data['foto_tempat'] ?? null, + 'foto_gistaru' => $data['foto_gistaru'] = $this->uploadFile($request->file('foto_gistaru'), $request->type) ?? null, + 'foto_bhumi' => $data['foto_bhumi'] = $this->uploadFile($request->file('foto_bhumi'), $request->type) ?? null, + 'foto_argis_region' => $data['foto_argis_region'] = $this->uploadFile($request->file('foto_argis_region'), $request->type) ?? null, + 'foto_tempat' => $data['foto_tempat'] = $this->uploadFile($request->file('foto_tempat'), $request->type) ?? null, 'keterangan' => $data['keterangan'] ?? null, ]; @@ -257,15 +264,13 @@ class SurveyorController extends Controller 'permohonan_id' => $request->permohonan_id, 'data_form' => json_encode($mergeData), 'name' => $request->type, - + ]); - - - return response()->json(['message' => 'Data berhasil disimpan', + return response()->json(['success' => true, 'message' => 'Data berhasil disimpan', 'data' => $mergeData], 200); } catch (Exception $e) { - return response()->json(['message' => 'Data gagal disimpan: ' . $e->getMessage()], 500); + return response()->json(['success' => false, 'message' => 'Data gagal disimpan: ' . $e->getMessage()], 500); } } } @@ -357,29 +362,58 @@ class SurveyorController extends Controller 'foto_lantai_unit.*' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048', ]); - DB::beginTransaction(); + // DB::beginTransaction(); try { - $pendampingPath = $this->uploadFile($request->file('pendamping'), 'pendamping'); - $fotojaminan = FotoJaminan::create([ - 'pendamping' => $pendampingPath, - 'permohonan_id' => $validatedData['permohonan_id'], - 'jenis_jaminan_id' => $validatedData['jenis_jaminan_id'], - ]); + $rute_menuju_lokasi = []; + $object_jaminan = []; + $lingkungan = []; - $this->processObjekUploads($request, $fotojaminan); - $this->processLantaiUnitUploads($request, $fotojaminan); - $this->processUploads('rute', $request, $fotojaminan); - $this->processUploads('lingkungan', $request, $fotojaminan); - DB::commit(); - return redirect()->route('surveyor.show', [ - 'id' => $validatedData['permohonan_id'], - 'form' => 'foto' - ])->with('success', 'Data foto berhasil disimpan'); + foreach ($request->file('foto_rute', []) as $key => $value) { + $fotoRutePath = $this->uploadFile($request->file('foto_rute.' . $key), 'foto_rute.' . $key); + + $rute_menuju_lokasi[] = [ + 'name_rute' => $request->input('name_rute.' . $key), + 'foto_rute' => $fotoRutePath, + ]; + } + + foreach ($request->file('foto_objek', []) as $key => $value) { + $fotoObjekPath = $this->uploadFile($request->file('foto_objek.' . $key), 'foto_objek.' . $key); + $object_jaminan[] = [ + 'nama_objek' => $request->input('name_objek.' . $key), + 'foto_object' => $fotoObjekPath, + 'deskripsi_objek' => $request->input('deskripsi_objek.' . $key), + ]; + } + + foreach ($request->file('foto_lingkungan', []) as $key => $value) { + $fotoLingkunganPath = $this->uploadFile($request->file('foto_lingkungan.' . $key), 'foto_lingkungan.' . $key); + $lingkungan[] = [ + 'name_lingkungan' => $request->input('name_lingkungan.' . $key), + 'foto_lingkungan' => $fotoLingkunganPath, + + ]; + } + + + + $formatFotojson = [ + 'rute_menuju_lokasi' => $rute_menuju_lokasi, + 'object_jaminan' => $object_jaminan, + 'lingkungan' => $lingkungan + ]; + + + + + // DB::commit(); + + return response()->json(['success' => true, 'message' => 'Data berhasil disimpan', 'data' => $formatFotojson], 200); } catch (Exception $e) { - DB::rollBack(); + return response()->json(['success' => false, 'message' => 'Failed to upload: ' . $e->getMessage()], 500); } } @@ -691,6 +725,11 @@ class SurveyorController extends Controller ->where('jenis_jaminan_id', $jaminanId) ->first(); + + $inpeksi = Inspeksi::where('permohonan_id', $id)->get(); + $forminspeksi = json_decode($inpeksi[0]->data_form, true); + + return view('lpj::surveyor.components.inspeksi', compact( 'analisa', 'permohonan', @@ -715,7 +754,8 @@ class SurveyorController extends Controller 'tingkatKeramaian', 'laluLintasLokasi', 'perkerasanJalan', - 'link_url_region' + 'link_url_region', + 'forminspeksi' )); } @@ -743,7 +783,10 @@ class SurveyorController extends Controller $branches = Branch::all(); $provinces = Province::all(); - $fotoJaminan = FotoJaminan::with(['objekJaminan', 'lantaiUnit' ,'ruteJaminan', 'lingkungan'])->where('permohonan_id', $id)->where('jenis_jaminan_id', $jaminanId)->first(); + // $fotoJaminan = FotoJaminan::with(['objekJaminan', 'lantaiUnit' ,'ruteJaminan', 'lingkungan'])->where('permohonan_id', $id)->where('jenis_jaminan_id', $jaminanId)->first(); + + $fotoJaminan = null; + return view('lpj::surveyor.components.foto', compact('permohonan', 'surveyor', 'branches', 'provinces', 'fotoJaminan')); } @@ -829,11 +872,9 @@ class SurveyorController extends Controller ->with('success', 'created successfully'); } catch (Exeception $e) { - - return response()->json(array('error' => $e->getMessage()), 400); - // return redirect() - // ->route('basicdata.' . $type .'.index') - // ->with('error', $th->getMessage()); + return redirect() + ->route('basicdata.' . $type .'.index') + ->with('error', $th->getMessage()); } } } @@ -868,7 +909,7 @@ class SurveyorController extends Controller $header = $dataMap[$type] ?? ''; $model = $modelClass::findOrFail($id); - $spekKategoriBagunan= null; + $spekKategoriBagunan = null; if ($type == 'spek-bangunan') { $spekKategoriBagunan = SpekKategoritBangunan::all(); diff --git a/app/Http/Requests/FormSurveyorRequest.php b/app/Http/Requests/FormSurveyorRequest.php index 0a0e032..e003a36 100644 --- a/app/Http/Requests/FormSurveyorRequest.php +++ b/app/Http/Requests/FormSurveyorRequest.php @@ -38,7 +38,7 @@ class FormSurveyorRequest extends FormRequest 'batas_batas' => 'nullable|array', 'kondisi_linkungan' => 'nullable|array', 'kondisi_lain_bangunan' => 'nullable|array', - 'informasi_dokument' => 'nullable|array', + 'informasi_dokument' => 'nullable', 'peruntukan' => 'nullable', 'kdb' => 'nullable', 'kdh' => 'nullable', @@ -48,8 +48,11 @@ class FormSurveyorRequest extends FormRequest 'gss' => 'nullable', 'pelebaran_jalan' => 'nullable', 'nama_petugas' => 'nullable', - 'lat' => 'required|numeric', - 'lng' => 'required|numeric', + 'lat' => 'nullable|numeric', + 'lng' => 'nullable|numeric', + 'foto_gistaru' => 'nullable', + 'foto_bhumi' => 'nullable', + 'foto_argis_region' => 'nullable', 'foto_tempat' => 'nullable', 'keterangan' => 'nullable', ]; @@ -76,7 +79,8 @@ class FormSurveyorRequest extends FormRequest case 'bangunan': return $this->getTanahBangunanRules(); case 'tanah_bangunan': - return $this->getTanahRules(); + return array_merge($this->getAssetDescriptionRules(),$this->getTanahRules(), $this->getBangunanRules(), $this->getLinkunganRules(), $this->getCommonRules()); + case 'alat-berat': return $this->getUnitRules(); default: @@ -90,10 +94,7 @@ class FormSurveyorRequest extends FormRequest public function getTanahRules(): array { - - $assetDescriptionRules = $this->getAssetDescriptionRules(); - return array_merge($assetDescriptionRules, [ - + return [ 'luas_tanah' => 'required', 'luas_tanah_tidak_sesuai' => 'nullable', 'hadap_mata_angin' => 'required', @@ -108,7 +109,7 @@ class FormSurveyorRequest extends FormRequest 'tusuk_sate' => 'required', 'lockland' => 'required', 'kondisi_fisik_tanah' => 'required|array', - ]); + ]; } /** @@ -117,7 +118,7 @@ class FormSurveyorRequest extends FormRequest private function getBangunanRules(): array { - return [ + return [ 'action' => 'required', 'luas_tanah_bagunan' => 'required', 'jenis_bangunan' => 'required', @@ -137,7 +138,7 @@ class FormSurveyorRequest extends FormRequest */ private function getUnitRules(): array { - return array_merge($this->getAssetDescriptionRules(), [ + return [ 'action' => 'required', 'luas_unit' => 'required', 'luas_unit_tidak_sesuai' => 'nullable', @@ -147,14 +148,14 @@ class FormSurveyorRequest extends FormRequest 'lantai' => 'required|array', 'view' => 'required|array', 'bentuk_unit' => 'required|array', - ]); + ]; } /** * Get rules specific to Linkungan action. */ - public function getLinkunganRules(): array + private function getLinkunganRules(): array { return [ 'action' => 'required', @@ -242,8 +243,4 @@ class FormSurveyorRequest extends FormRequest } - - - - } diff --git a/resources/views/surveyor/components/bangunan.blade.php b/resources/views/surveyor/components/bangunan.blade.php index cbdf41e..d82bee0 100644 --- a/resources/views/surveyor/components/bangunan.blade.php +++ b/resources/views/surveyor/components/bangunan.blade.php @@ -1,8 +1,6 @@ -{{-- @if ($analisaType == 'tanah_bangunan') --}} +
{{ $permohonan->debiture->name }}
+ @endif{{ $permohonan->nomor_registrasi }}
+{{ $permohonan->branch->name }}
+ @endif +{{ $permohonan->nomor_registrasi }}
+{{ $permohonan->user->name }}
+ @endif +