update form inspeksi (tanah, bangunan, dan unit apartement)

This commit is contained in:
majid
2024-11-11 17:24:22 +07:00
parent 1f033a6f25
commit a809828b80
10 changed files with 1315 additions and 1188 deletions

View File

@@ -19,10 +19,11 @@ class FormSurveyorRequest extends FormRequest
*/
public function rules(): array
{
$commonRules = $this->getCommonRules();
$commonRules = $this->getBangunanRules();
$actionSpecificRules = $this->getActionSpecificRules();
return array_merge($commonRules, $actionSpecificRules);
return $actionSpecificRules;
}
/**
@@ -31,44 +32,26 @@ class FormSurveyorRequest extends FormRequest
private function getCommonRules(): array
{
return [
'jenis_jaminan_id' => 'required',
'type' => 'required',
'permohonan_id' => 'required',
'luas' => 'required',
'jarak_jalan_utama' => 'required',
'alamat' => 'required',
'jarak_cbd_point' => 'required',
'lebar_perkerasan_jalan' => 'required',
'perkerasan_jalan' => 'required',
'lalu_lintas' => 'required',
'gol_mas_sekitar' => 'required',
'tingkat_keramaian' => 'required',
'terletak_diarea' => 'required',
'disekitar_lokasi' => 'required',
'dekat_makam' => 'required',
'dekat_tps' => 'required',
'merupakan_daerah' => 'required',
'fasilitas_dekat_object' => 'required',
'fakta_positif' => 'required',
'fakta_negatif' => 'required',
'rute_menuju' => 'required',
'batas_batas' => 'required',
'kondisi_linkungan' => 'required',
'kondisi_lain_bangunan' => 'required',
'informasi_dokument' => 'required',
'peruntukan' => 'required',
'kdb' => 'required',
'kdh' => 'required',
'gsb' => 'required',
'max_lantai' => 'required',
'klb' => 'required',
'gss' => 'required',
'pelebaran_jalan' => 'required',
'nama_petugas' => 'required',
'fakta_positif' => 'nullable|array',
'fakta_negatif' => 'nullable|array',
'rute_menuju' => 'nullable',
'batas_batas' => 'nullable|array',
'kondisi_linkungan' => 'nullable|array',
'kondisi_lain_bangunan' => 'nullable|array',
'informasi_dokument' => 'nullable|array',
'peruntukan' => 'nullable',
'kdb' => 'nullable',
'kdh' => 'nullable',
'gsb' => 'nullable',
'max_lantai' => 'nullable',
'klb' => 'nullable',
'gss' => 'nullable',
'pelebaran_jalan' => 'nullable',
'nama_petugas' => 'nullable',
'lat' => 'required|numeric',
'lng' => 'required|numeric',
'foto_tempat' => 'required',
'keterangan' => 'required',
'foto_tempat' => 'nullable',
'keterangan' => 'nullable',
];
}
@@ -81,7 +64,7 @@ class FormSurveyorRequest extends FormRequest
switch ($action) {
case 'tanah':
return $this->getTanahBangunanRules();
return $this->getTanahRules();
case 'unit':
return $this->getUnitRules();
case 'kapal':
@@ -93,7 +76,7 @@ class FormSurveyorRequest extends FormRequest
case 'bangunan':
return $this->getTanahBangunanRules();
case 'tanah_bangunan':
return $this->getTanahBangunanRules();
return $this->getTanahRules();
case 'alat-berat':
return $this->getUnitRules();
default:
@@ -102,50 +85,104 @@ class FormSurveyorRequest extends FormRequest
}
/**
* Get rules specific to tanah_bangunan action.
* Get rules specific to tanah action.
*/
private function getTanahBangunanRules(): array
public function getTanahRules(): array
{
return [
'action' => 'required',
'bentuk_tanah' => 'required',
'kontur_tanah' => 'required',
'posisi_kavling' => 'required',
'ketinggian_jalan' => 'required',
'kondisi_fisik_tanah' => 'required',
$assetDescriptionRules = $this->getAssetDescriptionRules();
return array_merge($assetDescriptionRules, [
'luas_tanah' => 'required',
'luas_tanah_tidak_sesuai' => 'nullable',
'hadap_mata_angin' => 'required',
'hadap_mata_angin_tidak_sesuai' => 'nullable',
'bentuk_tanah' => 'nullable|array',
'bentuk_tanah_lainnya' => 'nullable',
'kontur_tanah' => 'required|array',
'ketinggian_jalan' => 'required|array',
'kontur_jalan' => 'required',
'kondisi_bangunan' => 'required',
'sifat_bangunan' => 'required',
'sarana_pelengkap' => 'required',
'luas_tanah_bagunan' => 'required',
'posisi_kavling' => 'required|array',
'posisi_kavling_lainnya' => 'nullable',
'tusuk_sate' => 'required',
'name.*' => 'required|string',
'kategori.*' => 'required|string',
'lockland' => 'required',
'jenis_bangunan' => 'required',
'kondisi_bangunan' => 'required',
];
'kondisi_fisik_tanah' => 'required|array',
]);
}
/**
* Get rules specific to Bangunan action.
*/
private function getBangunanRules(): array
{
return [
'action' => 'required',
'luas_tanah_bagunan' => 'required',
'jenis_bangunan' => 'required',
'kondisi_bangunan' => 'required',
'sifat_bangunan' => 'required',
'sifat_bangunan_input' => 'nullable|array',
'nama_bagunan' => 'required|array',
'spek_kategori_bangunan' => 'required|array',
'spek_kategori_bangunan.*' => 'required|string',
'sarana_pelengkap' => 'required',
'sarana_pelengkap_input' => 'nullable|array',
];
}
/**
* Get rules specific to unit action.
*/
private function getUnitRules(): array
{
return array_merge($this->getAssetDescriptionRules(), [
'action' => 'required',
'luas_unit' => 'required',
'luas_unit_tidak_sesuai' => 'nullable',
'jenis_unit' => 'required|array',
'kondisi_unit' => 'required|array',
'posisi_unit' => 'required|array',
'lantai' => 'required|array',
'view' => 'required|array',
'bentuk_unit' => 'required|array',
]);
}
/**
* Get rules specific to Linkungan action.
*/
public function getLinkunganRules(): array
{
return [
'action' => 'required',
'jenis_unit' => 'required',
'kondisi_unit' => 'required',
'posisi_unit' => 'required',
'lantai' => 'required',
'view' => 'required',
'bentuk_unit' => 'required',
'jarak_jalan_utama' => 'nullable',
'jalan_linkungan' => 'nullable',
'jarak_cbd_point' => 'nullable',
'nama_cbd_point' => 'nullable',
'lebar_perkerasan_jalan' => 'nullable',
'perkerasan_jalan' => 'nullable',
'lalu_lintas' => 'nullable',
'gol_mas_sekitar' => 'nullable',
'tingkat_keramaian' => 'nullable',
'terletak_diarea' => 'nullable',
'disekitar_lokasi' => 'nullable',
'kondisi_bangunan_sekitar' => 'nullable',
'sifat_bangunan_sekitar' => 'nullable',
'dekat_makam' => 'nullable',
'jarak_makam' => 'nullable',
'nama_tpu' => 'nullable',
'dekat_tps' => 'nullable',
'jarak_tps' => 'nullable',
'nama_tpu' => 'nullable',
'merupakan_daerah' => 'nullable',
'fasilitas_dekat_object' => 'nullable',
];
}
private function getKapalRules():array{
private function getKapalRules(): array
{
return [
'action' => 'required',
'kondisi_kapal' => 'required',
@@ -153,7 +190,8 @@ class FormSurveyorRequest extends FormRequest
];
}
public function getKendaraanRules():array{
public function getKendaraanRules(): array
{
return [
'action' => 'required',
'kondisi_kendaraan' => 'required',
@@ -162,7 +200,8 @@ class FormSurveyorRequest extends FormRequest
}
public function getMesinRules():array{
public function getMesinRules(): array
{
return [
'action' => 'required',
'kondisi_mesin' => 'required',
@@ -171,11 +210,37 @@ class FormSurveyorRequest extends FormRequest
}
public function getAlatBeratRules():array{
public function getAlatBeratRules(): array
{
return [
'action' => 'required',
'kondisi_alat_berat' => 'required',
'kondisi_alat_berat_lain' => 'required',
];
}
private function getAssetDescriptionRules(): array
{
return [
'debitur_perwakilan' => 'required|array',
'jenis_asset' => 'required',
'jenis_asset_tidak_sesuai' => 'nullable',
'alamat_sesuai' => 'required',
'alamat_tidak_sesuai' => 'nullable',
'nama_jalan' => 'nullable',
'desa_kelurahan' => 'nullable',
'kecamatan' => 'nullable',
'kota_kabupaten' => 'nullable',
'provinsi' => 'nullable',
'kordinat_lng' => 'nullable',
'kordinat_lat' => 'nullable',
];
}
}