update form inspeksi (tanah, bangunan, dan unit apartement)
This commit is contained in:
@@ -150,15 +150,18 @@ class SurveyorController extends Controller
|
||||
/**
|
||||
* Store form inspeksi.
|
||||
*/
|
||||
public function store(Request $request)
|
||||
public function store(FormSurveyorRequest $request)
|
||||
{
|
||||
|
||||
try {
|
||||
|
||||
return response()->json(['status' => 200, 'message' => 'Data berhasil disimpan']);
|
||||
} catch (Exception $e) {
|
||||
|
||||
return response()->json(['status' => 500, 'message' => 'Data gagal disimpan: ' . $e->getMessage()], 500);
|
||||
$data = $request->validated();
|
||||
if ($data) {
|
||||
try {
|
||||
return response()->json(['message' => 'Data berhasil disimpan',
|
||||
'data' => $data], 200);
|
||||
} catch (Exception $e) {
|
||||
|
||||
return response()->json(['status' => 500, 'message' => 'Data gagal disimpan: ' . $e->getMessage()], 500);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -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',
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user