diff --git a/app/Helpers/Lpj.php b/app/Helpers/Lpj.php index 0380fa6..ed82be9 100644 --- a/app/Helpers/Lpj.php +++ b/app/Helpers/Lpj.php @@ -131,10 +131,10 @@ $noUrutAkhirString = sprintf("%04s", abs($code_penawaran_last + 1)); } // jika ternyata tahun tdk sama (kurang dari tahun sekarang), maka nomor di set 0001 - } - + } + } - + return 'NP' . Carbon::now()->format('y') . $noUrutAkhirString; } @@ -143,7 +143,7 @@ return ctype_digit($str); } - // generate last penawaran.no_spk + // generate last penawaran.no_spk function onLastnumberCodePenawaranSPK($jenis_laporan_code): string { diff --git a/app/Http/Controllers/OtorisasiPenawaranController.php b/app/Http/Controllers/OtorisasiPenawaranController.php index ca25549..4adee4e 100644 --- a/app/Http/Controllers/OtorisasiPenawaranController.php +++ b/app/Http/Controllers/OtorisasiPenawaranController.php @@ -249,8 +249,8 @@ try { // update status KJPP yg tidak terpilih menjadi 2 -> kalah - // update status Penawaran menjadi SPK - // update status Permohonan menjadi SPK + // update status Penawaran menjadi persetujuan-penawaran (20241205) + // update status Permohonan menjadi persetujuan-penawaran (20241205) // insert detail_permohonan_log PenawaranDetailTender::where('status', 1) @@ -260,9 +260,9 @@ 'updated_by' => Auth::id(), 'updated_at' => now() ]); - + // 20241205 arahkan ke persetujuan-penawaran PenawaranTender::where('id', $request->penawaran_id) - ->update(['status'=>'spk', + ->update(['status'=>'persetujuan-penawaran', 'nama_kjpp_sebelumnya'=>$request->kjppName, 'biaya_kjpp_sebelumnya'=>$request->biaya_penawaran, 'tanggal_penilaian_sebelumnya'=>now(), diff --git a/app/Http/Controllers/PersetujuanPenawaranController.php b/app/Http/Controllers/PersetujuanPenawaranController.php index 1af71bf..be5896f 100644 --- a/app/Http/Controllers/PersetujuanPenawaranController.php +++ b/app/Http/Controllers/PersetujuanPenawaranController.php @@ -6,7 +6,10 @@ use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; use Modules\Lpj\Http\Requests\PersetujuanPenawaranRequest; - use Modules\Lpj\Models\Permohonan; +use Modules\Lpj\Models\PenawaranDetailTender; +use Modules\Lpj\Models\PenawaranDetailTenderLog; +use Modules\Lpj\Models\PenawaranTender; +use Modules\Lpj\Models\Permohonan; use Modules\Lpj\Models\PersetujuanPenawaran; class PersetujuanPenawaranController extends Controller @@ -69,6 +72,16 @@ $permohonan->status_bayar = request()->get('status_bayar'); $permohonan->status = 'spk'; $permohonan->save(); + + // andy add, update status penawaran.status='spk' + // $penawaran = PenawaranTender::where('nomor_registrasi',$permohonan->nomor_registrasi)->first(); + PenawaranTender::where('nomor_registrasi',$permohonan->nomor_registrasi) + ->update(['status'=>'spk', + 'updated_by' => Auth::id(), + 'updated_at' => now() + ]); + // andy add, update status penawaran.status='spk' + } return redirect() @@ -90,6 +103,64 @@ { $permohonan = Permohonan::find($id); $permohonan->status='tender'; + $dataDetailPenawaranLog = []; + + // andy add update status penawaran + // update detail_penawaran => detail_penawaran.status = 1 (untuk all KJPP) + // update penawaran => penawaran.status ="tender", penawaran.updated_at, penawaran.updated_by + // update permohonan => permohonan.status ="tender", permohonan.updated_at, permohonan.updated_by + // insert detail_permohonan_log + $penawaran = PenawaranTender::where('nomor_registrasi',$permohonan->nomor_registrasi)->first(); + // dd($penawaran->id); + PenawaranDetailTender::where('penawaran_id', $penawaran->id) + ->update(['status' => 1, + 'updated_by' => Auth::id(), + 'updated_at' => now() + ]); + + PenawaranTender::where('id', $penawaran->id) + ->update(['status'=>'tender', + 'updated_by' => Auth::id(), + 'updated_at' => now() + ]); + + $detailPenawaran = PenawaranDetailTender::where('penawaran_id', $penawaran->id) + ->distinct() + ->get(); + + // log + if(sizeof($detailPenawaran)>0) + { + + foreach ($detailPenawaran as $model) { + array_push($dataDetailPenawaranLog, [ + 'detail_penawaran_id' =>$model->id, + 'kjpp_rekanan_id' =>$model->kjpp_rekanan_id, + 'penawaran_id' =>$model->penawaran_id, + 'no_proposal' =>$model->no_proposal, + 'tgl_proposal' =>$model->tgl_proposal, + 'biaya_penawaran' =>$model->biaya_penawaran, + 'attachment' =>$model->attachment, + 'dokumen_persetujuan' =>$model->dokumen_persetujuan, + 'status' =>$model->status, + 'authorized_status' =>$model->authorized_status, + 'authorized_at' =>$model->authorized_at, + 'authorized_at' =>$model->authorized_at, + 'created_at' =>$model->created_at, + 'updated_at' =>$model->updated_at, + 'deleted_at' =>$model->deleted_at, + 'created_by' =>$model->created_by, + 'updated_by' =>$model->updated_by, + 'deleted_by' =>$model->deleted_by + ]); + + } + + PenawaranDetailTenderLog::insert($dataDetailPenawaranLog); + } + // log + // andy add update status penawaran + return $permohonan->save(); } diff --git a/app/Http/Controllers/RegistrasiFinalController.php b/app/Http/Controllers/RegistrasiFinalController.php index c82c2e6..305310f 100644 --- a/app/Http/Controllers/RegistrasiFinalController.php +++ b/app/Http/Controllers/RegistrasiFinalController.php @@ -134,10 +134,10 @@ public function show($id) { $permohonan = Permohonan::find($id); - if ($permohonan->dokumen) { - $pdfSPK_path = Storage::url($permohonan->dokumen); - $permohonan->dokumen = $pdfSPK_path; - $permohonan->dokumen = '| Dokumen SPK.pdf '; + $document = PenawaranTender::where('nomor_registrasi','=',$permohonan->nomor_registrasi)->first(); + if ($document) { + $pdfSPK_path = Storage::url($document->spk_dokumen_path); + $permohonan->pdfSPK_path = '| Dokumen SPK.pdf '; } return view('lpj::registrasifinal.show', compact('id', 'permohonan')); @@ -145,7 +145,15 @@ public function edit($id) { - return view('lpj::registrasifinal.edit', compact('id')); + $doc_pdf=''; + $permohonan = Permohonan::find($id); + $document = PenawaranTender::where('nomor_registrasi','=',$permohonan->nomor_registrasi)->first(); + if ($document) { + $pdfSPK_path = Storage::url($document->spk_dokumen_path); + $doc_pdf = 'Dokumen SPK.pdf '; + } + + return view('lpj::registrasifinal.edit', compact('id','doc_pdf')); } public function setData(Request $request) diff --git a/app/Http/Controllers/SurveyorController.php b/app/Http/Controllers/SurveyorController.php index e87d454..3931aa2 100644 --- a/app/Http/Controllers/SurveyorController.php +++ b/app/Http/Controllers/SurveyorController.php @@ -5,6 +5,7 @@ namespace Modules\Lpj\Http\Controllers; use App\Http\Controllers\Controller; use Illuminate\Http\RedirectResponse; use Illuminate\Http\Request; +use Illuminate\Http\JsonResponse; use Illuminate\Support\Facades\Validator; use Maatwebsite\Excel\Facades\Excel; use Modules\Lpj\Exports\BasicDataSurveyorExport; @@ -217,7 +218,7 @@ class SurveyorController extends Controller try { $maxSize = getMaxFileSize('Foto'); $validatedData = $request->validate([ - 'foto_denah' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:'. $maxSize, + 'foto_denah' => 'required|file|mimes:jpeg,jpg,png,pdf,svg|max:'. $maxSize, 'luas' => 'required|numeric', 'permohonan_id' => 'required', 'jenis_jaminan_id' => 'required' @@ -312,8 +313,6 @@ class SurveyorController extends Controller $inspeksi->foto_form = json_encode($formatFotojson); $inspeksi->save(); - - return response()->json(['success' => true, 'message' => 'Data berhasil disimpan', 'data' => $formatFotojson], 200); } catch (Exception $e) { return response()->json(['success' => false, 'message' => 'Failed to upload: ' . $e->getMessage()], 500); @@ -373,9 +372,6 @@ class SurveyorController extends Controller } } - - - /** * Custom validation request for foto */ @@ -495,8 +491,6 @@ class SurveyorController extends Controller } - - public function storeJadwal(Request $request) { try { @@ -534,25 +528,29 @@ class SurveyorController extends Controller - public function storeAproved($id) + public function storeAproved(Request $request, $id): JsonResponse { - try { + $data = []; + if (request()->ajax()) { + try { + $penilaian = Penilaian::findOrFail($id); + $penilaian->update([ + 'authorized_status' => 1, + ]); + + $data['status'] = 'success'; + $data['message']= 'Jadwal '.$request->noReg.' berhasil di aprove'; + } catch (\Exception $e) { + $data['status'] = 'error'; + $data['message'] = 'Gagal membuat jadwal: ' . $e->getMessage(); + } - - $penilaian = Penilaian::findOrFail($id); - - $penilaian->update([ - 'authorized_status' => 1, - ]); - - return redirect() - ->route('permohonan.index') - ->with('success', 'Jadwal berhasil di aprove.'); - } catch (\Exception $e) { - return redirect() - ->route('permohonan.index') - ->with('error', 'Gagal membuat jadwal: ' . $e->getMessage()); + } else { + $data['status'] = 'error'; + $data['message'] = "no ajax request"; } + + return response()->json($data); } @@ -567,10 +565,10 @@ class SurveyorController extends Controller $dataPembanding = []; $pembandingCount = count($request->input('address_pembanding', [])); $fotoPembanding = $request->file('foto_objek_pembanding') ?? []; - + for ($i = 0; $i < $pembandingCount; $i++) { $pembanding = $this->formatSinglePembanding($request, $i); - + // Penanganan foto pembanding if (isset($fotoPembanding[$i]) && $fotoPembanding[$i]->isValid()) { $pembanding['foto_objek'] = $this->handleupdateOrDeleteFile( @@ -579,34 +577,32 @@ class SurveyorController extends Controller "pembanding_{$i}" ); } - + $dataPembanding[] = $pembanding; } - + return $dataPembanding; } private function handleupdateOrDeleteFile($file, $type, $prefix) -{ - try { - if ($file) { - // Generate nama file unik - $fileName = $prefix . '_' . uniqid() . '_' . time() . '.' . $file->getClientOriginalExtension(); - $path = "{$type}/" . date('Y/m'); - Storage::makeDirectory("public/{$path}"); - $filePath = $file->storeAs("public/{$path}", $fileName); - return str_replace('public/', '', $filePath); - } - - return null; - - } catch (\Exception $e) { - \Log::error('File upload error: ' . $e->getMessage()); - throw new \Exception("Gagal mengupload file: " . $e->getMessage()); - } -} + { + try { + if ($file) { + // Generate nama file unik + $fileName = $prefix . '_' . uniqid() . '_' . time() . '.' . $file->getClientOriginalExtension(); + $path = "{$type}/" . date('Y/m'); + Storage::makeDirectory("public/{$path}"); + $filePath = $file->storeAs("public/{$path}", $fileName); + return str_replace('public/', '', $filePath); + } - + return null; + + } catch (\Exception $e) { + \Log::error('File upload error: ' . $e->getMessage()); + throw new \Exception("Gagal mengupload file: " . $e->getMessage()); + } + } private function formatSinglePembanding($request, $index) @@ -618,16 +614,16 @@ class SurveyorController extends Controller 'peruntukan', 'penawaran_transaksi', 'nomor_tlp', 'kordinat_lat', 'kordinat_lng', 'jenis_aset', ]; - + $pembanding = []; foreach ($fields as $field) { $inputName = "{$field}_pembanding"; $pembanding[$field] = $request->input($inputName)[$index] ?? null; } - + // Inisialisasi foto_objek sebagai null $pembanding['foto_objek'] = null; - + return $pembanding; } @@ -730,10 +726,8 @@ class SurveyorController extends Controller $branches = Branch::all(); $provinces = Province::all(); - $debitur = Debiture::find($permohonan->debiture_id); - $cities = City::where('province_code', $debitur->province_code)->get(); - $districts = District::where('city_code', $debitur->city_code)->get(); - $villages = Village::where('district_code', $debitur->district_code)->get(); + + $surveyor = $id; $basicData = $this->getCommonData(); @@ -743,6 +737,28 @@ class SurveyorController extends Controller if ($inpeksi) { $forminspeksi = json_decode($inpeksi->data_form, true); } + + // Default: gunakan data dari debitur + $debitur = Debiture::find($permohonan->debiture_id); + + $provinceCode = $debitur->province_code; + $cityCode = $debitur->city_code; + $districtCode = $debitur->district_code; + + // Jika alamat tidak sesuai, override dengan kode dari alamat + + $cekAlamat = $forminspeksi['asset']['alamat']['tidak sesuai'] ?? null; + + if ($cekAlamat) { + $provinceCode = $cekAlamat['province_code'] ?? $provinceCode; + $cityCode = $cekAlamat['city_code'] ?? $cityCode; + $districtCode = $cekAlamat['district_code'] ?? $districtCode; + } + + // Ambil data menggunakan kode yang telah ditentukan + $cities = City::where('province_code', $provinceCode)->get(); + $districts = District::where('city_code', $cityCode)->get(); + $villages = Village::where('district_code', $districtCode)->get(); return view('lpj::surveyor.components.inspeksi', compact( 'permohonan', 'surveyor', @@ -754,7 +770,8 @@ class SurveyorController extends Controller 'villages', 'link_url_region', 'forminspeksi', - 'basicData' + 'basicData', + 'cekAlamat' )); } @@ -789,8 +806,6 @@ class SurveyorController extends Controller $branches = Branch::all(); $provinces = Province::all(); - - $inpeksi = Inspeksi::where('permohonan_id', $id)->where('jenis_jaminan_id', $jaminanId)->first(); $formFoto = null; @@ -798,12 +813,6 @@ class SurveyorController extends Controller $formFoto = json_decode($inpeksi->foto_form, true); } $fotoJaminan = null; - - // return response()->json([ - // 'inspeksi' => $formFoto, - - // ]); - return view('lpj::surveyor.components.foto', compact('permohonan', 'surveyor', 'branches', 'provinces', 'fotoJaminan', 'formFoto')); } @@ -842,7 +851,7 @@ class SurveyorController extends Controller $inspectionData = json_decode($inspeksi->data_form, true); if (json_last_error() !== JSON_ERROR_NONE) { - throw new \Exception('Error decoding inspection data: ' . json_last_error_msg()); + throw new \Exception('Harap mengisi form inspeksi terlebih dahulu.'); } if ($inspeksi->data_pembanding) { @@ -851,7 +860,6 @@ class SurveyorController extends Controller throw new \Exception('Error decoding comparison data: ' . json_last_error_msg()); } - } $fotoForm = json_decode($inspeksi->foto_form, true); @@ -860,11 +868,11 @@ class SurveyorController extends Controller // Ambil data pendukung $data = $this->getCommonData(); $provinces = Province::all(); - + $cities = City::where('province_code', $this->getCodeAlamat('province_code', $inspectionData))->get(); $districts = District::where('city_code', $this->getCodeAlamat('city_code', $inspectionData))->get(); - $villages = Village::where('district_code',$this->getCodeAlamat('district_code', $inspectionData))->get(); - + $villages = Village::where('district_code', $this->getCodeAlamat('district_code', $inspectionData))->get(); + return view('lpj::surveyor.components.data-pembanding', compact( @@ -889,7 +897,8 @@ class SurveyorController extends Controller } - public function getCodeAlamat($code, $inspectionData){ + public function getCodeAlamat($code, $inspectionData) + { $cekAlamat = isset( $inspectionData['asset']['alamat']['sesuai'], ) @@ -919,7 +928,6 @@ class SurveyorController extends Controller public function createData($type) { - $spekKategoriBagunan = SpekKategoritBangunan::all(); $header = $this->getHeader($type); return view('lpj::surveyor.data.form', compact('header', 'spekKategoriBagunan')); @@ -928,7 +936,6 @@ class SurveyorController extends Controller public function storeData(SurveyorRequest $request, $type) { - $validate = $request->validated(); if ($validate) { @@ -1029,8 +1036,6 @@ class SurveyorController extends Controller ->with('error', 'Invalid type specified.'); } - - $model = $modelClass::findOrFail($id); $model->update($validate); @@ -1299,10 +1304,7 @@ class SurveyorController extends Controller if (!$modelClass) { return response()->json(['success' => false, 'message' => 'Invalid type specified.'], 400); } - - $model = $modelClass::findOrFail($id); - $model->delete(); return response()->json(['success' => true, 'message' => 'deleted successfully']); } catch (ModelNotFoundException $e) { @@ -1382,7 +1384,6 @@ class SurveyorController extends Controller { return [ 'branches' => Branch::all(), - 'bentukTanah' => BentukTanah::all(), 'konturTanah' => KonturTanah::all(), 'posisiKavling' => PosisiKavling::all(), @@ -1413,6 +1414,8 @@ class SurveyorController extends Controller 'jenisJaminan' => JenisJaminan::all(), 'hubCadeb' => HubunganPemilikJaminan::all(), 'hubPenghuni' => HubunganPenghuniJaminan::all(), + 'perkerasanJalan' => PerkerasanJalan::all(), + 'terletakDiArea' => TerletakArea::all(), ]; } @@ -1470,18 +1473,10 @@ class SurveyorController extends Controller $data['alamat_sesuai'] => $alamatData ], 'hub_cadeb' => [ - $data['hub_cadeb'] => $this->getFieldData( - $data, - 'hub_cadeb', - true - ) + $data['hub_cadeb'] => ($data['hub_cadeb'] == 'sesuai') ? $data['hub_cadeb_sesuai'] : $data['hub_cadeb_tidak_sesuai'] ], 'hub_cadeb_penghuni' => [ - $data['hub_cadeb_penghuni'] => $this->getFieldData( - $data, - 'hub_cadeb_penghuni', - true - ) + $data['hub_cadeb_penghuni'] => ($data['hub_cadeb_penghuni'] == 'sesuai') ? $data['hub_cadeb_penghuni_sesuai'] : $data['hub_penghuni_tidak_sesuai'] ], 'kordinat_lng' => $data['kordinat_lng'] ?? null, @@ -1500,11 +1495,9 @@ class SurveyorController extends Controller 'luas_tanah', true ), - 'hadap_mata_angin' => $this->getFieldData( - $data, - 'hadap_mata_angin', - true - ), + 'hadap_mata_angin' => [ + $data['hadap_mata_angin'] => ($data['hadap_mata_angin'] == 'sesuai') ? $data['hadap_mata_angin_sesuai'] : $data['hadap_mata_angin_tidak_sesuai'] + ], 'bentuk_tanah' => $this->getFieldData( $data, 'bentuk_tanah', @@ -1513,7 +1506,7 @@ class SurveyorController extends Controller ), 'kontur_tanah' => $data['kontur_tanah'] ?? [], 'ketinggian_tanah' => [ - 'ketinggian' => $data['kontur_tanah'] ?? null, + 'ketinggian' => $data['ketinggian_jalan'] ?? null, 'lebih_tinggi' => $data['ketinggian_lebih_tinggi'] ?? null, 'lebih_rendah' => $data['ketinggian_lebih_rendah'] ?? null ], @@ -1543,23 +1536,39 @@ class SurveyorController extends Controller $data = $request->all(); $result = []; - // foreach ($data['nama_bangunan'] as $index => $bangunan) { - // $bangunanData = [ - // 'bangunan' => $bangunan, - // 'kategori' => [] - // ]; - // foreach ($data['spek_kategori_bangunan'] as $kategoriIndex => $kategori) { - // if (isset($data['spek_bangunan'][$kategori])) { - // $bangunanData['kategori'][] = [ - // 'kategori' => $kategori, - // 'spesifikasi' => $data['spek_bangunan'][$kategori] - // ]; - // } - // } + foreach ($request->input('nama_bangunan') as $index => $buildingName) { + if (empty($buildingName)) { + continue; + } // Skip if building name is empty + + $buildingData = []; + $buildingData['bagunan'] = $buildingName; + + $specCategories = $request->input('spek_kategori_bangunan'); + $buildingData['spek_kategori_bangunan'] = []; + + if (!empty($specCategories)) { + foreach ($specCategories as $category) { + if (empty($category)) { + continue; + } // Skip empty categories + + $specs = $request->input("spek_bangunan.{$index}.{$category}", []); + + // Only add category if it has specifications + if (!empty($specs)) { + $buildingData['spek_kategori_bangunan'][$category] = $specs; + } + } + } + + // Only add building data if it has specifications + if (!empty($buildingData['spek_kategori_bangunan'])) { + $result[] = $buildingData; + } + } - // $result[] = $bangunanData; - // } return [ 'bangunan' => [ @@ -1590,17 +1599,27 @@ class SurveyorController extends Controller '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, + 'perkerasan_jalan' => $this->getFieldData( + $data, + 'perkerasan_jalan', + false, + 'lainnya' + ), '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, + 'terletak_diarea' => $this->getFieldData( + $data, + 'terletak_diarea', + false, + 'lainnya' + ), 'disekitar_lokasi' => $data['disekitar_lokasi'] === 'yes' ? [ 'kondisi' => $data['kondisi_bagunan_disekitar_lokasi'] ?? null, 'sifat' => $data['sifat_bagunan_disekitar_lokasi'] ?? null, ] : $data['disekitar_lokasi'], - 'kondisi_bangunan_sekitar' => $data['kondisi_bangunan_sekitar'] ?? null, - 'sifat_bangunan_sekitar' => $data['sifat_bangunan_sekitar'] ?? null, + 'kondisi_bagunan_disekitar_lokasi' => $data['kondisi_bagunan_disekitar_lokasi'] ?? null, + 'sifat_bagunan_disekitar_lokasi' => $data['sifat_bagunan_disekitar_lokasi'] ?? null, 'dekat_makam' => $data['dekat_makam'] ?? null, 'jarak_makam' => $data['jarak_makam'] ?? null, 'nama_makam' => $data['nama_makam'] ?? null, @@ -1608,7 +1627,12 @@ 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' => $data['fasilitas_dekat_object'] ?? null, + 'fasilitas_dekat_object' => $this->getFieldData( + $data, + 'fasilitas_dekat_object', + false, + 'lainnya' + ), ] ]; } @@ -1621,8 +1645,8 @@ class SurveyorController extends Controller 'fakta_negatif' => $data['fakta_negatif'] ?? null, 'rute_menuju' => $data['rute_menuju'] ?? null, 'batas_batas' => $this->mapArrayWithInputs( - $data['batas_batas'] ?? null, - $data['batas_batas_input'] ?? null + $data['batas_batas'] ?? [], + $data['batas_batas_input'] ?? [] ), 'kondisi_lingkungan' => $data['kondisi_lingkungan'] ?? null, 'kondisi_lain_bangunan' => $data['kondisi_lain_bangunan'] ?? null, diff --git a/app/Http/Requests/FormSurveyorRequest.php b/app/Http/Requests/FormSurveyorRequest.php index 9bf82e3..f56063f 100644 --- a/app/Http/Requests/FormSurveyorRequest.php +++ b/app/Http/Requests/FormSurveyorRequest.php @@ -86,6 +86,8 @@ class FormSurveyorRequest extends FormRequest 'tusuk_sate' => 'required', 'lockland' => 'required', 'kondisi_fisik_tanah' => 'required|array', + 'ketinggian_lebih_tinggi' => 'nullable', + 'ketinggian_lebih_rendah' => 'nullable', ]; } @@ -104,9 +106,13 @@ class FormSurveyorRequest extends FormRequest 'kondisi_bangunan' => 'nullable', 'sifat_bangunan' => 'required|array', 'sifat_bangunan_input' => 'nullable|array', - 'nama_bagunan' => 'required|nullable', - 'spek_kategori_bangunan.*' => 'required', - 'spek_bangunan.*' => 'required', + + + 'nama_bangunan.*' => 'required|string|max:255', + 'spek_kategori_bangunan.*' => 'nullable|string', + 'spek_bangunan.*.*' => 'array', + 'spek_bangunan.*.*.*' => 'string', + 'sarana_pelengkap' => 'required', 'sarana_pelengkap_input' => 'nullable|array', ]; @@ -143,12 +149,14 @@ class FormSurveyorRequest extends FormRequest 'jarak_cbd_point' => 'nullable', 'nama_cbd_point' => 'nullable', 'lebar_perkerasan_jalan' => 'nullable', - 'perkerasan_jalan.*' => 'nullable', + 'perkerasan_jalan' => 'nullable|array', + 'perkerasan_jalan_lainnya' => 'nullable', 'lalu_lintas' => 'nullable', 'gol_mas_sekitar' => 'nullable', 'tingkat_keramaian' => 'nullable', 'terletak_diarea' => 'nullable', - 'disekitar_lokasi' => 'nullable', + 'terletak_diarea_lainnya' => 'nullable', + 'disekitar_lokasi' => 'required', 'kondisi_bagunan_disekitar_lokasi' => 'nullable', 'sifat_bagunan_disekitar_lokasi' => 'nullable', 'dekat_makam' => 'nullable', @@ -158,7 +166,8 @@ class FormSurveyorRequest extends FormRequest 'jarak_tps' => 'nullable', 'nama_tpu' => 'nullable', 'merupakan_daerah' => 'nullable', - 'fasilitas_dekat_object' => 'nullable', + 'fasilitas_dekat_object' => 'nullable|array', + 'fasilitas_dekat_object_lainnya' => 'nullable', ]; } @@ -526,7 +535,7 @@ class FormSurveyorRequest extends FormRequest 'hub_cadeb_tidak_sesuai' => 'nullable', 'hub_cadeb_penghuni' => 'required', 'hub_cadeb_penghuni_sesuai' => 'nullable', - 'hub_cadeb_penghuni_tidak_sesuai' => 'nullable', + 'hub_penghuni_tidak_sesuai' => 'nullable', 'address' => 'nullable', 'village_code' => 'nullable', @@ -549,11 +558,11 @@ class FormSurveyorRequest extends FormRequest 'fakta_positif' => 'nullable|array', 'fakta_negatif' => 'nullable|array', 'rute_menuju' => 'nullable', - 'batas_batas' => 'nullable|array', + 'batas_batas' => 'required|array', 'batas_batas_input' => 'nullable|array', 'kondisi_lingkungan' => 'nullable|array', 'kondisi_lain_bangunan' => 'nullable|array', - 'informasi_dokument' => 'nullable', + 'informasi_dokument' => 'nullable|array', 'peruntukan' => 'nullable', 'kdb' => 'nullable', 'kdh' => 'nullable', diff --git a/resources/views/penilaian/form.blade.php b/resources/views/penilaian/form.blade.php index 88e0105..e4f9550 100644 --- a/resources/views/penilaian/form.blade.php +++ b/resources/views/penilaian/form.blade.php @@ -3,11 +3,8 @@ @section('breadcrumbs') {{ Breadcrumbs::render(request()->route()->getName()) }} @endsection - - - - @section('content') +@include('lpj::assetsku.includenya')