From d51fd932e7231b47b2f5e0bce8d51445744003a5 Mon Sep 17 00:00:00 2001 From: majid Date: Tue, 19 Nov 2024 10:50:21 +0700 Subject: [PATCH] update semua form inspeksi --- app/Http/Controllers/SurveyorController.php | 421 +++++- app/Http/Requests/FormSurveyorRequest.php | 291 +++- .../views/jenis_jaminan/create.blade.php | 2 +- resources/views/penilaian/form.blade.php | 2 +- .../surveyor/components/alat-berat.blade.php | 526 +++++-- .../surveyor/components/bangunan.blade.php | 7 +- .../surveyor/components/card-tambah.blade.php | 6 +- .../components/data-pembanding.blade.php | 248 +++- .../views/surveyor/components/denah.blade.php | 20 +- .../views/surveyor/components/fakta.blade.php | 184 ++- .../views/surveyor/components/foto.blade.php | 1043 ++++++------- .../surveyor/components/header.blade.php | 5 +- .../surveyor/components/informasi.blade.php | 5 +- .../surveyor/components/inspeksi.blade.php | 74 +- .../views/surveyor/components/kapal.blade.php | 648 ++++++-- .../surveyor/components/kendaraan.blade.php | 226 ++- .../components/lokasi-jaminan.blade.php | 12 +- .../views/surveyor/components/mesin.blade.php | 263 ++-- .../surveyor/components/pesawat.blade.php | 1298 +++++++++++------ .../views/surveyor/components/tanah.blade.php | 23 - resources/views/surveyor/detail.blade.php | 16 +- routes/web.php | 2 +- 22 files changed, 3643 insertions(+), 1679 deletions(-) diff --git a/app/Http/Controllers/SurveyorController.php b/app/Http/Controllers/SurveyorController.php index 891b88d..4bb1364 100644 --- a/app/Http/Controllers/SurveyorController.php +++ b/app/Http/Controllers/SurveyorController.php @@ -169,7 +169,7 @@ class SurveyorController extends Controller $rules = $this->getActionSpecificRules($data, $action, $request); $inspeksi = Inspeksi::where('permohonan_id', $request->input('permohonan_id'))->where('jenis_jaminan_id', $request->input('jenis_jaminan_id'))->first(); - if ($request->input('permohonan_id') == $inspeksi->permohonan_id && $request->input('jenis_jaminan_id') == $inspeksi->jenis_jaminan_id) { + if ($inspeksi) { $inspeksi->update(['data_form' => json_encode($rules)]); } else { Inspeksi::create([ @@ -228,7 +228,6 @@ class SurveyorController extends Controller public function storeDenah(Request $request) { - try { $validatedData = $request->validate([ 'foto_denah' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048', @@ -239,31 +238,33 @@ class SurveyorController extends Controller $validatedData['foto_denah'] = $this->uploadFile($request->file('foto_denah'), 'foto_denah'); - $formatJsonDenah = [ 'foto_denah' => $validatedData['foto_denah'], 'luas' => $validatedData['luas'], ]; - $inspeksi = Inspeksi::where('permohonan_id', $request->input('permohonan_id'))->where('jenis_jaminan_id', $request->input('jenis_jaminan_id'))->first(); - if ($request->input('permohonan_id') == $inspeksi->permohonan_id && $request->input('jenis_jaminan_id') == $inspeksi->jenis_jaminan_id) { + $inspeksi = Inspeksi::where('permohonan_id', $request->input('permohonan_id')) + ->where('jenis_jaminan_id', $request->input('jenis_jaminan_id')) + ->first(); + + if ($inspeksi) { $inspeksi->update([ 'denah_form' => json_encode($formatJsonDenah) ]); } else { Inspeksi::create([ 'permohonan_id' => $request->input('permohonan_id'), - 'denah_form' => json_encode($formatFotojson) + 'jenis_jaminan_id' => $request->input('jenis_jaminan_id'), + 'denah_form' => json_encode($formatJsonDenah) ]); } return response()->json(['success' => true, 'message' => 'Data berhasil disimpan', - 'data' => $formatJsonDenah], 200); + 'data' => $formatJsonDenah], 200); } catch (Exception $e) { return response()->json(['success' => false, 'message' => 'Data gagal disimpan: ' . $e->getMessage()], 500); } - } @@ -371,19 +372,21 @@ class SurveyorController extends Controller 'foto_lantai_lainnya' => $foto_lantai_lainnya, 'foto_rute_lainnya' => $foto_rute_lainnya, 'basement' => $basement, - 'gerbang' => $gerbang, + 'foto_gerbang' => $gerbang, 'pendamping' => $pendamping ]; $inspeksi = Inspeksi::where('permohonan_id', $request->input('permohonan_id'))->where('jenis_jaminan_id', $request->input('jenis_jaminan_id'))->first(); - if ($request->input('permohonan_id') == $inspeksi->permohonan_id && $request->input('jenis_jaminan_id') == $inspeksi->jenis_jaminan_id) { + + if ($inspeksi) { $inspeksi->update([ 'foto_form' => json_encode($formatFotojson) ]); } else { Inspeksi::create([ 'permohonan_id' => $request->input('permohonan_id'), - 'foto_form' => json_encode($formatFotojson) + 'foto_form' => json_encode($formatFotojson), + 'jenis_jaminan_id' => $request->input('jenis_jaminan_id') ]); } @@ -645,7 +648,7 @@ class SurveyorController extends Controller * Data pembanding. */ - public function dataPembanding($id) + public function dataPembanding($id, $jaminanId) { $permohonan = Permohonan::with( [ @@ -663,7 +666,15 @@ class SurveyorController extends Controller $branches = Branch::all(); $provinces = Province::all(); - return view('lpj::surveyor.detail', compact('permohonan', 'surveyor', 'branches', 'provinces')); + + $inpeksi = Inspeksi::where('permohonan_id', $id)->where('jenis_jaminan_id', $jaminanId)->first(); + $forminspeksi = null; + if ($inpeksi) { + $forminspeksi = json_decode($inpeksi->data_form, true); + } + + // return response()->json($forminspeksi); + return view('lpj::surveyor.components.data-pembanding', compact('permohonan', 'surveyor', 'branches', 'provinces')); } @@ -1238,49 +1249,363 @@ class SurveyorController extends Controller unlink($fullPath); } } - private function getKapalData($data): array + + + private function getKapalData($data, $request): array { return [ - 'keterangan' => $data['keterangan'] - ]; - } - - private function getKendaraanData($data): array - { - return [ - 'keterangan' => $data['keterangan'] - ]; - } - - private function getMesinData($data): array - { - return [ - 'keterangan' => $data['keterangan'] - ]; - } - - private function getPesawatData($data): array - { - return [ - 'keterangan' => $data['keterangan'] + 'action' => $data['action'] ?? null, + 'nama_wakil_debitur' => $data['nama_wakil_debitur'] ?? null, + 'hub_calon_debitur' => $data['hub_calon_debitur'] ?? null, + 'dermaga' => $data['dermaga'] ?? null, + 'desa_kelurahan' => $data['desa_kelurahan'] ?? null, + 'kecamatan' => $data['kecamatan'] ?? null, + 'kota_madya' => $data['kota_madya'] ?? null, + 'provinsi' => $data['provinsi'] ?? null, + 'jenis' => $data['jenis'] ?? null, + 'size' => $data['size'] ?? null, + 'kondisi' => $data['kondisi'] ?? null, + 'klasifikasi' => $data['klasifikasi'] ?? null, + + 'nama_kapal' => $data['nama_kapal'] ?? null, + 'pemilik_kapal' => $data['pemilik_kapal'] ?? null, + 'bendera' => $data['bendera'] ?? null, + 'nomor_selar' => $data['nomor_selar'] ?? null, + 'kapal' => $data['kapal'] ?? null, + 'galangan_kapal' => $data['galangan_kapal'] ?? null, + 'kapal_shipyard' => $data['kapal_shipyard'] ?? null, + 'tahun_pembuatan' => $data['tahun_pembuatan'] ?? null, + 'tahun_launcing' => $data['tahun_launcing'] ?? null, + 'dwt' => $data['dwt'] ?? null, + 'lwt' => $data['lwt'] ?? null, + 'gross_tonnage' => $data['gross_tonnage'] ?? null, + 'net_tonnage' => $data['net_tonnage'] ?? null, + 'tenaga_mesin' => $data['tenaga_mesin'] ?? null, + 'loa' => $data['loa'] ?? null, + 'lbp' => $data['lbp'] ?? null, + 'beam' => $data['beam'] ?? null, + 'depth' => $data['depth'] ?? null, + 'draft' => $data['draft'] ?? null, + + 'lambung_kapal' => $data['lambung_kapal'] ?? null, + 'dek' => $data['dek'] ?? null, + 'struktur_rangka' => $data['struktur_rangka'] ?? null, + 'palka' => $data['palka'] ?? null, + 'pondasi_mesin' => $data['pondasi_mesin'] ?? null, + 'area_mesin' => $data['area_mesin'] ?? null, + 'cat_dan_korosi' => $data['cat_dan_korosi'] ?? null, + 'sistem_pengelasan' => $data['sistem_pengelasan'] ?? null, + 'deskripsi_struktur' => $data['deskripsi_struktur'] ?? null, + + 'sekoci' => $data['sekoci'] ?? null, + 'jaket_pelampung' => $data['jaket_pelampung'] ?? null, + 'alat_pemadaman' => $data['alat_pemadaman'] ?? null, + 'rambu_darurat' => $data['rambu_darurat'] ?? null, + 'sistem_alarm' => $data['sistem_alarm'] ?? null, + 'sistem_pencegah' => $data['sistem_pencegah'] ?? null, + 'kebakaran' => $data['kebakaran'] ?? null, + 'lampu_darurat' => $data['lampu_darurat'] ?? null, + 'deskripsi_peralatan' => $data['deskripsi_peralatan'] ?? null, + + 'gps' => $data['gps'] ?? null, + 'radar' => $data['radar'] ?? null, + 'radio_komunikasi' => $data['radio_komunikasi'] ?? null, + 'lampu_navigasi' => $data['lampu_navigasi'] ?? null, + 'sistem_kendali_otomatis' => $data['sistem_kendali_otomatis'] ?? null, + 'kompas' => $data['kompas'] ?? null, + 'deskripsi_navigasi' => $data['deskripsi_navigasi'] ?? null, + + 'mesin_utama' => $data['mesin_utama'] ?? null, + 'mesin_bantu' => $data['mesin_bantu'] ?? null, + 'pompa_pendingin' => $data['pompa_pendingin'] ?? null, + 'sistem_pelumasan' => $data['sistem_pelumasan'] ?? null, + 'propeller' => $data['propeller'] ?? null, + 'sistem_kelistrikan' => $data['sistem_kelistrikan'] ?? null, + 'deskripsi_mesin_penggerak' => $data['deskripsi_mesin_penggerak'] ?? null, + + 'lampu_navigasi' => $data['lampu_navigasi'] ?? null, + 'sistem_penerangan' => $data['sistem_penerangan'] ?? null, + 'sistem_panel_distribusi' => $data['sistem_panel_distribusi'] ?? null, + 'kabel_perangkat' => $data['kabel_perangkat'] ?? null, + 'deskripsi_kelistrikan' => $data['deskripsi_kelistrikan'] ?? null, + + 'kebersihan_dek_luar' => $data['kebersihan_dek_luar'] ?? null, + 'tangki_limbah' => $data['tangki_limbah'] ?? null, + 'sistem_pengelolaan_limbah' => $data['sistem_pengelolaan_limbah'] ?? null, + 'pengelolaan_air_ballast' => $data['pengelolaan_air_ballast'] ?? null, + 'deskripsi_kebersihan' => $data['deskripsi_kebersihan'] ?? null, + + 'fakta_positif' => $data['fakta_positif'] ?? null, + 'fakta_negatif' => $data['fakta_negatif'] ?? null, + 'analisa_makro' => $data['analisa_makro'] ?? null, + 'kesimpulan' => $data['kesimpulan'] ?? null, + 'catatan' => $data['catatan'] ?? null, ]; } + public function getKendaraanData($data, $request): array +{ + return [ + 'action' => $data['action'] ?? null, + 'tanggal_survey' => $data['tanggal_survey'] ?? null, + 'nama_wakil' => $data['nama_wakil'] ?? null, + 'hub_calon_debitur' => $data['hub_calon_debitur'] ?? null, + 'nama_jalan' => $data['nama_jalan'] ?? null, + 'perumahan_gang' => $data['perumahan_gang'] ?? null, + 'blok_nomor' => $data['blok_nomor'] ?? null, + 'desa_kelurahan' => $data['desa_kelurahan'] ?? null, + 'kecamatan' => $data['kecamatan'] ?? null, + 'kota_madya' => $data['kota_madya'] ?? null, + 'provinsi' => $data['provinsi'] ?? null, + 'kondisi' => $data['kondisi'] ?? null, + 'nomor_polisi' => $data['nomor_polisi'] ?? null, + 'nomor_polis_tidak_sesuai' => $data['nomor_polis_tidak_sesuai'] ?? null, + 'merek' => $data['merek'] ?? null, + 'merek_tidak_sesuai' => $data['merek_tidak_sesuai'] ?? null, + 'warna' => $data['warna'] ?? null, + 'warna_tidak_sesuai' => $data['warna_tidak_sesuai'] ?? null, + 'nomor_rangka' => $data['nomor_rangka'] ?? null, + 'nomor_rangka_tidak_sesuai' => $data['nomor_rangka_tidak_sesuai'] ?? null, + 'nomor_mesin' => $data['nomor_mesin'] ?? null, + 'nomor_mesin_tidak_sesuai' => $data['nomor_mesin_tidak_sesuai'] ?? null, + 'posisi_kilometer' => $data['posisi_kilometer'] ?? null, + 'transmisi' => $data['transmisi'] ?? null, - private function getAlatBeratData($data): array - { - return [ - 'keterangan' => $data['keterangan'] - ]; - } + 'mesin_panel_instrument' => $data['mesin_panel_instrument'] ?? null, + 'fungsi_mesin_panel_instrument' => $data['fungsi_mesin_panel_instrument'] ?? null, + 'interior' => $data['interior'] ?? null, + 'interior' => $data['interior'] ?? null, + + 'jumlah_pintu' => $data['jumlah_pintu'] ?? null, + 'rangka_karoseri' => $data['rangka_karoseri'] ?? null, + 'ban' => $data['ban'] ?? null, + 'velg' => $data['velg'] ?? null, + 'bamper_depan' => $data['bamper_depan'] ?? null, + 'bamper_belakang' => $data['bamper_belakang'] ?? null, + 'lampu_depan' => $data['lampu_depan'] ?? null, + 'lampu_belakang' => $data['lampu_belakang'] ?? null, + 'kaca_kendaraan' => $data['kaca_kendaraan'] ?? null, + 'air_conditioner' => $data['air_conditioner'] ?? null, + 'tape_radio_cd' => $data['tape_radio_cd'] ?? null, + 'sensor_parkir' => $data['sensor_parkir'] ?? null, + 'sensor_camera_recorder' => $data['sensor_camera_recorder'] ?? null, + 'lcd' => $data['lcd'] ?? null, + 'sabuk_keselamatan' => $data['sabuk_keselamatan'] ?? null, + 'airbag' => $data['airbag'] ?? null, + 'asuransi' => $data['asuransi'] ?? null, + 'perusahaan_asuransi' => $data['perusahaan_asuransi'] ?? null, + 'tahun_berakhir' => $data['tahun_berakhir'] ?? null, - private function getUnitData($data): array - { - return [ - 'keterangan' => $data['keterangan'] - ]; - } + 'fakta_positif' => $data['fakta_positif'] ?? null, + 'fakta_negatif' => $data['fakta_negatif'] ?? null, + 'analisa_makro' => $data['analisa_makro'] ?? null, + 'kesimpulan' => $data['kesimpulan'] ?? null, + 'catatan' => $data['catatan'] ?? null, + ]; +} + +public function getMesinData($data, $request): array +{ + return [ + 'action' => $data['action'] ?? null, + 'nama_wakil' => $data['nama_wakil'] ?? null, + 'nama_jalan' => $data['nama_jalan'] ?? null, + 'perumahan_gang' => $data['perumahan_gang'] ?? null, + 'blok' => $data['blok'] ?? null, + 'desa_kelurahan' => $data['desa_kelurahan'] ?? null, + 'kecamatan' => $data['kecamatan'] ?? null, + 'kota_madya' => $data['kota_madya'] ?? null, + 'provinsi' => $data['provinsi'] ?? null, + 'hub_calon_debitur' => $data['hub_calon_debitur'] ?? null, + 'tipe_model' => $data['tipe_model'] ?? null, + 'merek' => $data['merek'] ?? null, + 'tahun_pembuatan' => $data['tahun_pembuatan'] ?? null, + 'negara_pembuat' => $data['negara_pembuat'] ?? null, + 'kondisi_mesin' => $data['kondisi_mesin'] ?? null, + 'faktor_positif' => $data['faktor_positif'] ?? null, + 'faktor_negatif' => $data['faktor_negatif'] ?? null, + 'kesimpulan' => $data['kesimpulan'] ?? null, + 'catatan' => $data['catatan'] ?? null, + ]; +} + +public function getAlatBeratData($data, $request): array +{ + return [ + 'action' => $data['action'] ?? null, + 'tanggal_survey' => $data['tanggal_survey'] ?? null, + 'nama_wakil' => $data['nama_wakil'] ?? null, + 'hub_calon_debitur' => $data['hub_calon_debitur'] ?? null, + 'dengan_wadeb' => $data['dengan_wadeb'] ?? null, + 'nama_jalan' => $data['nama_jalan'] ?? null, + 'perumahan_gang' => $data['perumahan_gang'] ?? null, + 'blok' => $data['blok'] ?? null, + 'desa_kelurahan' => $data['desa_kelurahan'] ?? null, + 'kecamatan' => $data['kecamatan'] ?? null, + 'kota_madya' => $data['kota_madya'] ?? null, + 'provinsi' => $data['provinsi'] ?? null, + 'jenis_model' => $data['jenis_model'] ?? null, + 'nomor_lambung' => $data['nomor_lambung'] ?? null, + 'model_unit' => $data['model_unit'] ?? null, + 'tahun_pembuatan' => $data['tahun_pembuatan'] ?? null, + 'merk' => $data['merk'] ?? null, + 'negara_pembuat' => $data['negara_pembuat'] ?? null, + 'tahun_pembelian' => $data['tahun_pembelian'] ?? null, + 'nomor_faktur' => $data['nomor_faktur'] ?? null, + 'nomor_kontrak' => $data['nomor_kontrak'] ?? null, + 'nama_pemilik' => $data['nama_pemilik'] ?? null, + 'alamat_pemilik' => $data['alamat_pemilik'] ?? null, + 'nomor_asuransi' => $data['nomor_asuransi'] ?? null, + 'nomor_rangka' => $data['nomor_rangka'] ?? null, + 'nomor_mesin' => $data['nomor_mesin'] ?? null, + 'hour_mesters' => $data['hour_mesters'] ?? null, + 'overhaul_mesin' => $data['overhaul_mesin'] ?? null, + + 'mesin_panel' => $data['mesin_panel'] ?? null, + 'fungsi_panel' => $data['fungsi_panel'] ?? null, + 'interior' => $data['interior'] ?? null, + 'rangka_Karoseri' => $data['rangka_Karoseri'] ?? null, + 'ban' => $data['ban'] ?? null, + 'velg' => $data['velg'] ?? null, + 'air_conditioner' => $data['air_conditioner'] ?? null, + 'aksesoris' => $data['aksesoris'] ?? null, + 'lcd' => $data['lcd'] ?? null, + 'perlengkapan' => $data['perlengkapan'] ?? null, + 'asuransi' => $data['asuransi'] ?? null, + 'perusahaan_asuransi' => $data['perusahaan_asuransi'] ?? null, + 'tahun_berakhir' => $data['tahun_berakhir'] ?? null, + 'sensor_kamera' => $data['sensor_kamera'] ?? null, + 'sabuk_keselamatan' => $data['sabuk_keselamatan'] ?? null, + 'air_bag' => $data['air_bag'] ?? null, + + 'faktor_positif' => $data['faktor_positif'] ?? null, + 'faktor_negatif' => $data['faktor_negatif'] ?? null, + 'kesimpulan' => $data['kesimpulan'] ?? null, + 'catatan' => $data['catatan'] ?? null, + ]; +} + +private function getPesawatData($data, $request): array +{ + return [ + 'action' => $data['action'] ?? null, + 'tanggal_survey' => $data['tanggal_survey'] ?? null, + 'nama_wakil' => $data['nama_wakil'] ?? null, + 'hub_calon_debitur' => $data['hub_calon_debitur'] ?? null, + 'bandara' => $data['bandara'] ?? null, + 'desa_kelurahan' => $data['desa_kelurahan'] ?? null, + 'kecamatan' => $data['kecamatan'] ?? null, + 'kota_madya' => $data['kota_madya'] ?? null, + 'provinsi' => $data['provinsi'] ?? null, + + 'jenis_pesawat' => $data['jenis_pesawat'] ?? null, + 'size' => $data['size'] ?? null, + 'kondisi' => $data['kondisi'] ?? null, + 'nama_pesawat' => $data['nama_pesawat'] ?? null, + 'model' => $data['model'] ?? null, + 'nomor_registrasi' => $data['nomor_registrasi'] ?? null, + 'tahun_pembuatan' => $data['tahun_pembuatan'] ?? null, + 'certificate_of_airworthines' => $data['certificate_of_airworthines'] ?? null, + 'certificate_of_registration' => $data['certificate_of_registration'] ?? null, + 'total_service_hours' => $data['total_service_hours'] ?? null, + 'total_service_cycles' => $data['total_service_cycles'] ?? null, + + 'last_a_check' => $data['last_a_check'] ?? null, + 'next_a_check' => $data['next_a_check'] ?? null, + 'last_b_check' => $data['last_b_check'] ?? null, + 'next_b_check' => $data['next_b_check'] ?? null, + 'last_c_check' => $data['last_c_check'] ?? null, + 'next_c_check' => $data['next_c_check'] ?? null, + 'next_d_check' => $data['next_d_check'] ?? null, + 'last_d_check' => $data['last_d_check'] ?? null, + 'deskripsi_maintenence' => $data['deskripsi_maintenence'] ?? null, + + 'instrument_landing_system' => $data['instrument_landing_system'] ?? null, + 'traffic_collision_avoidance_system' => $data['traffic_collision_avoidance_system'] ?? null, + 'windshear' => $data['windshear'] ?? null, + 'electronic_flight' => $data['electronic_flight'] ?? null, + 'winglets' => $data['winglets'] ?? null, + 'deskripsi_konfigurasi' => $data['deskripsi_konfigurasi'] ?? null, + + 'maksimal_penumpang' => $data['maksimal_penumpang'] ?? null, + 'jumlah_kursi' => $data['jumlah_kursi'] ?? null, + 'kursi_pramugari_pramugara' => $data['kursi_pramugari_pramugara'] ?? null, + 'kartu_fitur_keselamatan' => $data['kartu_fitur_keselamatan'] ?? null, + 'sabuk_pengaman' => $data['sabuk_pengaman'] ?? null, + 'lampu_kabin' => $data['lampu_kabin'] ?? null, + 'lampu_pintu_keluar' => $data['lampu_pintu_keluar'] ?? null, + 'intercom_kabin' => $data['intercom_kabin'] ?? null, + 'deskripsi_kabin' => $data['deskripsi_kabin'] ?? null, + + 'badan_pesawat' => $data['badan_pesawat'] ?? null, + 'sayap_pesawat' => $data['sayap_pesawat'] ?? null, + 'ekor_pesawat' => $data['ekor_pesawat'] ?? null, + 'landing_gear' => $data['landing_gear'] ?? null, + 'sistem_pengelasan' => $data['sistem_pengelasan'] ?? null, + 'deskripsi_struktur' => $data['deskripsi_struktur'] ?? null, + + 'gps' => $data['gps'] ?? null, + 'radar' => $data['radar'] ?? null, + 'radio_komunikasi' => $data['radio_komunikasi'] ?? null, + 'lampu_navigasi' => $data['lampu_navigasi'] ?? null, + 'sistem_autopilot' => $data['sistem_autopilot'] ?? null, + 'deskripsi_navigasi' => $data['deskripsi_navigasi'] ?? null, + + 'tangki_bahan_bakar' => $data['tangki_bahan_bakar'] ?? null, + 'saluran_pipa_bahan_bakar' => $data['saluran_pipa_bahan_bakar'] ?? null, + 'pompa_bahan_bakar' => $data['pompa_bahan_bakar'] ?? null, + 'sistem_hidrolik_utama' => $data['sistem_hidrolik_utama'] ?? null, + 'sistem_pendigin_hidrolik' => $data['sistem_pendigin_hidrolik'] ?? null, + 'deskripsi_hidrolik' => $data['deskripsi_hidrolik'] ?? null, + + 'mesin_utama' => $data['mesin_utama'] ?? null, + 'sistem_pendorong' => $data['sistem_pendorong'] ?? null, + 'sistem_pendigin_mesin' => $data['sistem_pendigin_mesin'] ?? null, + 'sistem_pelumasan' => $data['sistem_pelumasan'] ?? null, + 'filter_dan_perangkat_pendukung' => $data['filter_dan_perangkat_pendukung'] ?? null, + 'deskripsi_kondisi_mesin' => $data['deskripsi_kondisi_mesin'] ?? null, + + 'jaket_pelampung' => $data['jaket_pelampung'] ?? null, + 'pintu_darurat' => $data['pintu_darurat'] ?? null, + 'alat_pemadaman_kebakaran' => $data['alat_pemadaman_kebakaran'] ?? null, + 'sistem_alaram_darurat' => $data['sistem_alaram_darurat'] ?? null, + 'sekoci' => $data['sekoci'] ?? null, + 'masker_oxigen' => $data['masker_oxigen'] ?? null, + 'sabuk_pengaman' => $data['sabuk_pengaman'] ?? null, + 'deskripsi_fungsi_keselamatan' => $data['deskripsi_fungsi_keselamatan'] ?? null, + + 'sistem_ventilasi_ac' => $data['sistem_ventilasi_ac'] ?? null, + 'sistem_penerangan_kabin' => $data['sistem_penerangan_kabin'] ?? null, + 'panel_informasi_penumpang' => $data['panel_informasi_penumpang'] ?? null, + 'sistem_hiburan_kabin' => $data['sistem_hiburan_kabin'] ?? null, + 'deskripsi_Interior' => $data['deskripsi_Interior'] ?? null, + + // Validasi untuk faktor dan kesimpulan + 'faktor_positif' => $data['faktor_positif'] ?? null, + 'faktor_negatif' => $data['faktor_negatif'] ?? null, + 'kesimpulan' => $data['kesimpulan'] ?? null, + 'catatan' => $data['catatan'] ?? null, + ]; +} + + + + +private function getUnitData($data, $request): array +{ + return [ + 'action' => $data['action'] ?? null, + 'luas_unit' => $data['luas_unit'] ?? null, + 'luas_unit_tidak_sesuai' => $data['luas_unit_tidak_sesuai'] ?? null, + 'jenis_unit' => $data['jenis_unit'] ?? null, + 'kondisi_unit' => $data['kondisi_unit'] ?? null, + 'posisi_unit' => $data['posisi_unit'] ?? null, + 'lantai' => $data['lantai'] ?? null, + 'view' => $data['view'] ?? null, + 'bentuk_unit' => $data['bentuk_unit'] ?? null, + ]; +} diff --git a/app/Http/Requests/FormSurveyorRequest.php b/app/Http/Requests/FormSurveyorRequest.php index 04ab54c..39a6376 100644 --- a/app/Http/Requests/FormSurveyorRequest.php +++ b/app/Http/Requests/FormSurveyorRequest.php @@ -38,8 +38,8 @@ class FormSurveyorRequest extends FormRequest 'kapal' => $this->getKapalRules(), 'kendaraan' => $this->getKendaraanRules(), 'mesin' => $this->getMesinRules(), - 'pesawat' => $this->getLinkunganRules(), - 'alat-berat' => $this->getLinkunganRules(), + 'pesawat' => $this->getPesawatRules(), + 'alat-berat' => $this->getAlatBeratRules(), 'apartemen-kantor' => $this->getUnitRules(), 'lingkungan' => $this->getLinkunganRules(), 'fakta' => $this->getCommonRules(), @@ -163,7 +163,7 @@ class FormSurveyorRequest extends FormRequest return [ 'action' => 'required', 'nama_wakil_debitur' => 'required', - 'hubungan_calon_debitur' => 'required', + 'hub_calon_debitur' => 'required', 'dermaga' => 'required', 'desa_kelurahan' => 'required', 'kecamatan' => 'required', @@ -173,11 +173,14 @@ class FormSurveyorRequest extends FormRequest 'size.*' => 'required', 'kondisi.*' => 'required', 'klasifikasi.*' => 'required', + 'nama_kapal' => 'required', 'pemilik_kapal' => 'required', 'bendera' => 'required', - 'nomor_tanda_selar_kapal' => 'required', + 'nomor_selar' => 'required', + 'kapal' => 'required', 'galangan_kapal' => 'required', + 'kapal_shipyard' => 'required', 'tahun_pembuatan' => 'required', 'tahun_launcing' => 'required', 'dwt' => 'required', @@ -190,23 +193,27 @@ class FormSurveyorRequest extends FormRequest 'beam' => 'required', 'depth' => 'required', 'draft' => 'required', + 'lambung_kapal' => 'required', 'dek' => 'required', - 'struktur_kapal' => 'required', + 'struktur_rangka' => 'required', 'palka' => 'required', 'pondasi_mesin' => 'required', 'area_mesin' => 'required', - 'cat_korosi' => 'required', + 'cat_dan_korosi' => 'required', 'sistem_pengelasan' => 'required', - 'deskripsi_lain' => 'required', + 'deskripsi_struktur' => 'required', + 'sekoci' => 'required', 'jaket_pelampung' => 'required', 'alat_pemadaman' => 'required', 'rambu_darurat' => 'required', - 'sistem_pencegahan' => 'required', + 'sistem_alarm' => 'required', + 'sistem_pencegah' => 'required', 'kebakaran' => 'required', 'lampu_darurat' => 'required', 'deskripsi_peralatan' => 'required', + 'gps' => 'required', 'radar' => 'required', 'radio_komunikasi' => 'required', @@ -214,6 +221,7 @@ class FormSurveyorRequest extends FormRequest 'sistem_kendali_otomatis' => 'required', 'kompas' => 'required', 'deskripsi_navigasi' => 'required', + 'mesin_utama' => 'required', 'mesin_bantu' => 'required', 'pompa_pendingin' => 'required', @@ -221,15 +229,24 @@ class FormSurveyorRequest extends FormRequest 'propeller' => 'required', 'sistem_kelistrikan' => 'required', 'deskripsi_mesin_penggerak' => 'required', + 'lampu_navigasi' => 'required', 'sistem_penerangan' => 'required', 'sistem_panel_distribusi' => 'required', 'kabel_perangkat' => 'required', 'deskripsi_kelistrikan' => 'required', + 'kebersihan_dek_luar' => 'required', 'tangki_limbah' => 'required', 'sistem_pengelolaan_limbah' => 'required', - 'pengelolaan_air_ballast' => 'required', + 'pengelolaan_air_ballast' => 'required', + 'deskripsi_kebersihan' => 'required', + + 'fakta_positif.*' => 'nullable', + 'fakta_negatif.*' => 'nullable', + 'analisa_makro.*' => 'nullable', + 'kesimpulan.*' => 'nullable', + 'catatan.*' => 'nullable', ]; } @@ -237,8 +254,56 @@ class FormSurveyorRequest extends FormRequest { return [ 'action' => 'required', - 'kondisi_kendaraan' => 'required', - 'kondisi_kendaraan_lain' => 'required', + 'tanggal_survey' => 'required', + 'nama_wakil' => 'required', + 'hub_calon_debitur' => 'required', + 'nama_jalan' => 'required', + 'perumahan_gang' => 'required', + 'blok_nomor' => 'required', + 'desa_kelurahan' => 'required', + 'kecamatan' => 'required', + 'kota_madya' => 'required', + 'provinsi' => 'required', + 'kondisi' => 'required', + 'nomor_polisi' => 'required', + 'nomor_polis_tidak_sesuai' => 'nullable', + 'merek' => 'required', + 'merek_tidak_sesuai' => 'nullable', + 'warna' => 'required', + 'warna_tidak_sesuai' => 'nullable', + 'nomor_rangka' => 'required', + 'nomor_rangka_tidak_sesuai' => 'nullable', + 'nomor_mesin' => 'required', + 'nomor_mesin_tidak_sesuai' => 'nullable', + 'posisi_kilometer' => 'required', + 'transmisi' => 'required', + 'mesin_panel_instrument.*' => 'required', + 'fungsi_mesin_panel_instrument.*' => 'required', + 'interior.*' => 'required', + 'jumlah_pintu.*' => 'required', + 'rangka_karoseri.*' => 'required', + 'ban.*' => 'required', + 'velg.*' => 'required', + 'bamper_depan.*' => 'required', + 'bamper_belakang.*' => 'required', + 'lampu_depan.*' => 'required', + 'lampu_belakang.*' => 'required', + 'kaca_kendaraan.*' => 'required', + 'air_conditioner.*' => 'required', + 'tape_radio_cd.*' => 'required', + 'sensor_parkir.*' => 'required', + 'sensor_camera_recorder.*' => 'required', + 'lcd.*' => 'required', + 'sabuk_keselamatan.*' => 'required', + 'airbag.*' => 'required', + 'asuransi.*' => 'required', + 'perusahaan_asuransi' => 'required', + 'tahun_berakhir' => 'required', + 'fakta_positif.*' => 'nullable', + 'fakta_negatif.*' => 'nullable', + 'analisa_makro.*' => 'nullable', + 'kesimpulan.*' => 'nullable', + 'catatan.*' => 'nullable', ]; } @@ -247,8 +312,24 @@ class FormSurveyorRequest extends FormRequest { return [ 'action' => 'required', - 'kondisi_mesin' => 'required', - 'kondisi_mesin_lain' => 'required', + 'nama_wakil' => 'required', + 'nama_jalan' => 'required', + 'perumahan_gang' => 'required', + 'blok' => 'required', + 'desa_kelurahan' => 'required', + 'kecamatan' => 'required', + 'kota_madya' => 'required', + 'provinsi' => 'required', + 'hub_calon_debitur' => 'required', + 'tipe_model' => 'required', + 'merek' => 'required', + 'tahun_pembuatan' => 'required', + 'negara_pembuat' => 'required', + 'kondisi_mesin' => 'required', + 'faktor_positif' => 'nullable', + 'faktor_negatif' => 'nullable', + 'kesimpulan' => 'nullable', + 'catatan' => 'nullable', ]; } @@ -258,60 +339,172 @@ class FormSurveyorRequest extends FormRequest return [ 'action' => 'required', 'tanggal_survey' => 'required', - 'nama_wakili' => 'required', + 'nama_wakil' => 'required', 'hub_calon_debitur' => 'required', 'dengan_wadeb' => 'required', 'nama_jalan' => 'required', - 'perumahan_gang'=>'required', + 'perumahan_gang' => 'required', 'blok' => 'required', 'desa_kelurahan' => 'required', 'kecamatan' => 'required', 'kota_madya' => 'required', 'provinsi' => 'required', - 'masa_berlaku_stnk' => 'required', - 'masa_berlaku_pajak' => 'required', - 'kendaraan' => 'required', + 'jenis_model' => 'required', + 'nomor_lambung' => 'required', + 'model_unit' => 'required', + 'tahun_pembuatan' => 'required', 'merk' => 'required', - 'detail_merek' => 'required', - 'kondisi' => 'required', - 'nomor_polisi' => 'nullable', - 'merek' => 'nullable', - 'warna' => 'nullable', - 'nomor_rangka'=>'nullable', - 'nomor_mesin'=>'nullable', - 'posisi_kilometer' => 'nullable', - 'transmisi' => 'nullable', - 'mesin_instrument' => 'nullable', - 'fungsi_instrument' => 'nullable', - 'interior' => 'nullable', - 'jumlah' => 'nullable', - 'rangka' => 'nullable', - 'ban' => 'nullable', - 'velg' => 'nullable', - 'bamper_depan' => 'nullable', - 'bamper_belakang' => 'nullable', - 'lampu_depan' => 'nullable', - 'lampu_belakang' => 'nullable', - 'kaca' => 'nullable', - 'air_conditions' => 'nullable', - 'tape_radio' => 'nullable', - 'sensor_parkir' => 'nullable', - 'sensor_kamera' => 'nullable', - 'lcd' => 'nullable', - 'sabuk_keselamatan' => 'nullable', - 'air_bag' => 'nullable', - 'asuransi' => 'nullable', + 'negara_pembuat' => 'required', + 'tahun_pembelian' => 'required', + 'nomor_faktur' => 'nullable', + 'nomor_kontrak' => 'nullable', + 'nama_pemilik' => 'nullable', + 'alamat_pemilik' => 'nullable', + 'nomor_asuransi' => 'nullable', + 'nomor_rangka' => 'nullable', + 'nomor_mesin' => 'nullable', + 'hour_mesters' => 'nullable', + 'overhaul_mesin' => 'nullable', + 'mesin_panel.*' => 'nullable', + 'fungsi_panel.*' => 'nullable', + 'interior.*' => 'nullable', + 'rangka_Karoseri.*' => 'nullable', + 'ban.*' => 'nullable', + 'velg.*' => 'nullable', + 'air_conditioner.*' => 'nullable', + 'aksesoris.*' => 'nullable', + 'lcd.*' => 'nullable', + 'perlengkapan.*' => 'nullable', + 'asuransi.*' => 'nullable', + 'perusahaan_asuransi.*' => 'nullable', + 'tahun_berakhir.*' => 'nullable', + 'sensor_kamera.*' => 'nullable', + 'lcd.*' => 'nullable', + 'sabuk_keselamatan.*' => 'nullable', + 'air_bag.*' => 'nullable', + 'asuransi.*' => 'nullable', 'perusahan_asuransi' => 'nullable', 'tahun_berakhir' => 'nullable', 'faktor_positif' => 'nullable', 'faktor_negatif' => 'nullable', - 'analisa_makro' => 'nullable', 'kesimpulan' => 'nullable', - 'catatan_lainnya' => 'nullable', + 'catatan' => 'nullable', ]; } + + private function getPesawatRules(): array + { + return [ + 'action' => 'required', + 'tanggal_survey' => 'required', + 'nama_wakil' => 'required', + 'hub_calon_debitur' => 'required', + 'bandara' => 'required', + 'desa_kelurahan' => 'required', + 'kecamatan' => 'required', + 'kota_madya' => 'required', + 'provinsi' => 'required', + + 'jenis_pesawat' => 'required', + 'size' => 'required', + 'kondisi' => 'required', + 'nama_pesawat' => 'required', + 'model' => 'required', + 'nomor_registrasi' => 'required', + 'tahun_pembuatan' => 'required', + 'certificate_of_airworthines' => 'required', + 'certificate_of_registration' => 'required', + 'total_service_hours' => 'required', + 'total_service_cycles' => 'required', + + 'last_a_check' => 'required', + 'next_a_check' => 'required', + 'last_b_check' => 'required', + 'next_b_check' => 'required', + 'last_c_check' => 'required', + 'next_c_check' => 'required', + 'next_d_check' => 'required', + 'last_d_check' => 'required', + 'deskripsi_maintenence' => 'nullable', + + 'instrument_landing_system' => 'required', + 'traffic_collision_avoidance_system' => 'required', + 'windshear' => 'required', + 'electronic_flight' => 'required', + 'winglets' => 'required', + 'deskripsi_konfigurasi' => 'required', + + + 'maksimal_penumpang' => 'required', + 'jumlah_kursi' => 'required', + 'kursi_pramugari_pramugara' => 'required', + 'kartu_fitur_keselamatan' => 'required', + 'sabuk_pengaman' => 'required', + 'lampu_kabin' => 'required', + 'lampu_pintu_keluar' => 'required', + 'intercom_kabin' => 'required', + 'deskripsi_kabin' => 'required', + + + 'badan_pesawat' => 'required', + 'sayap_pesawat' => 'required', + 'ekor_pesawat' => 'required', + 'landing_gear' => 'required', + 'sabuk_pengaman' => 'required', + 'sistem_pengelasan' => 'required', + 'deskripsi_struktur' => 'required', + + 'gps' => 'required', + 'radar' => 'required', + 'radio_komunikasi' => 'required', + 'lampu_navigasi' => 'required', + 'sistem_autopilot' => 'required', + 'deskripsi_navigasi' => 'required', + + 'tangki_bahan_bakar' => 'required', + 'saluran_pipa_bahan_bakar' => 'required', + 'pompa_bahan_bakar' => 'required', + 'sistem_hidrolik_utama' => 'required', + 'sistem_pendigin_hidrolik' => 'required', + 'deskripsi_hidrolik' => 'required', + + 'mesin_utama' => 'required', + 'sistem_pendorong' => 'required', + 'sistem_pendigin_mesin' => 'required', + 'sistem_pelumasan' => 'required', + 'filter_dan_perangkat_pendukung' => 'required', + 'deskripsi_kondisi_mesin' => 'required', + + + 'jaket_pelampung' => 'required', + 'pintu_darurat' => 'required', + 'alat_pemadaman_kebakaran' => 'required', + 'sistem_alaram_darurat' => 'required', + 'sekoci' => 'required', + 'masker_oxigen' => 'required', + 'sabuk_pengaman' => 'required', + 'deskripsi_fungsi_keselamatan' => 'required', + + + 'sistem_ventilasi_ac' => 'required', + 'sistem_penerangan_kabin' => 'required', + 'panel_informasi_penumpang' => 'required', + 'sistem_hiburan_kabin' => 'required', + 'deskripsi_Interior' => 'required', + + + + 'faktor_positif.*' => 'nullable', + 'faktor_negatif.*' => 'nullable', + 'kesimpulan.*' => 'nullable', + 'catatan.*' => 'nullable', + + + ]; + } + private function getAssetDescriptionRules(): array { return [ diff --git a/resources/views/jenis_jaminan/create.blade.php b/resources/views/jenis_jaminan/create.blade.php index a12b7ee..382377f 100644 --- a/resources/views/jenis_jaminan/create.blade.php +++ b/resources/views/jenis_jaminan/create.blade.php @@ -75,7 +75,7 @@ name="form_kategori[]" multiple="multiple"> - @foreach (['tanah', 'bangunan', 'kapal', 'kendaraan', 'mesin', 'pesawat', 'alat-berat', 'apartemen-kantor','lingkungan', 'fakta'] as $item) + @foreach (['tanah', 'bangunan', 'kapal', 'kendaraan', 'mesin', 'pesawat', 'alat-berat', 'apartemen-kantor','lingkungan', 'fakta','informasi'] as $item)