diff --git a/app/Http/Controllers/Web/Produktivitas/PraktikBudidayaController.php b/app/Http/Controllers/Web/Produktivitas/PraktikBudidayaController.php index a6dc6b3..aa4b943 100644 --- a/app/Http/Controllers/Web/Produktivitas/PraktikBudidayaController.php +++ b/app/Http/Controllers/Web/Produktivitas/PraktikBudidayaController.php @@ -122,8 +122,8 @@ class PraktikBudidayaController extends Controller $caraPemberianPupukLainnya = collect(explode(', ', $caraPemberianPupuk)) ->first(fn ($item) => !in_array($item, $defaultCaraPemberianPupuk)); - $sumberAir = $praktikBudidaya->sumber_air ?? ''; - $sumberAirLainnya = collect(explode(', ', $sumberAir)) + $sumberAir = $praktikBudidaya->sumber_air ?? []; + $sumberAirLainnya = collect($sumberAir) ->first(fn ($item) => !in_array($item, $defaultSumberAir)); $sistemIrigasi = $praktikBudidaya->sistem_irigasi ?? ''; @@ -316,7 +316,7 @@ class PraktikBudidayaController extends Controller ->first(fn ($item) => !in_array($item, $defaultCaraPemberianPupuk)); $sumberAir = $praktikBudidaya->sumber_air ?? ''; - $sumberAirLainnya = collect(explode(', ', $sumberAir)) + $sumberAirLainnya = collect($sumberAir) ->first(fn ($item) => !in_array($item, $defaultSumberAir)); $sistemIrigasi = $praktikBudidaya->sistem_irigasi ?? ''; @@ -379,7 +379,8 @@ class PraktikBudidayaController extends Controller 'metode_paling_sering_dilakukan' => ['nullable', 'string'], - 'volume_obat_obatan_permusim' => ['nullable', 'numeric'], + 'volume_obat_obatan_padat' => ['nullable', 'numeric'], + 'volume_obat_obatan_cair' => ['nullable', 'numeric'], // 2.6 Sanitasi Kebun @@ -392,7 +393,7 @@ class PraktikBudidayaController extends Controller 'kondisi_pengelolaan_air_irigasi' => ['nullable', 'integer', new Enum(KondisiPengelolaanAir::class)], - 'sumber_air' => ['nullable', 'string'], + 'sumber_air' => ['nullable', 'array'], 'sumber_air_lainnya' => ['nullable', 'string'], 'sistem_irigasi' => ['nullable', 'string'], @@ -481,7 +482,8 @@ class PraktikBudidayaController extends Controller 'intensitas_serangan' => 'intensitas serangan', 'waktu_kemunculan_terparah' => 'waktu kemunculan terparah', 'metode_paling_sering_dilakukan' => 'metode yang paling sering dilakukan', - 'volume_obat_obatan_permusim' => 'volume obat-obatan per musim', + 'volume_obat_obatan_padat' => 'volume obat-obatan padat per musim', + 'volume_obat_obatan_cair' => 'volume obat-obatan cair per musim', // 2.6 Sanitasi Kebun 'frekuensi_sanitasi_lahan' => 'frekuensi sanitasi lahan', @@ -574,6 +576,14 @@ class PraktikBudidayaController extends Controller } if ($request->has('metode_penanganan_hama_penyakit')) { + $sumber_air = $request->sumber_air ?? []; + if (($key = array_search('Lainnya', $sumber_air)) !== false) { + unset($sumber_air[$key]); + if (!empty($request->sumber_air_lainnya)) { + $sumber_air[] = $request->sumber_air_lainnya; + } + } + $sumberAir = array_values($sumber_air); $dataPraktikBudidaya = [ 'metode_penanganan_opt' => $validatedData['metode_penanganan_hama_penyakit'] ?? null, 'jenis_hama' => $validatedData['jenis_hama'] ?? [], @@ -581,12 +591,13 @@ class PraktikBudidayaController extends Controller 'intensitas_serangan' => $validatedData['intensitas_serangan'] ?? null, 'waktu_kemunculan_terparah' => $validatedData['waktu_kemunculan_terparah'] ?? null, 'metode_paling_sering_dilakukan' => $validatedData['metode_paling_sering_dilakukan'] ?? null, - 'volume_obat_obatan_permusim' => $validatedData['volume_obat_obatan_permusim'] ?? null, + 'volume_obat_obatan_padat_permusim' => $validatedData['volume_obat_obatan_padat'] ?? null, + 'volume_obat_obatan_cair_permusim' => $validatedData['volume_obat_obatan_cair'] ?? null, 'frekuensi_sanitasi_lahan' => $validatedData['frekuensi_sanitasi_lahan'] ?? null, 'penanganan_sisa_buah_ranting' => $validatedData['penanganan_sisa_buah_ranting'] ?? null, 'penanganan_gulma' => $validatedData['penanganan_gulma'] ?? null, 'kondisi_pengelolaan_air' => $validatedData['kondisi_pengelolaan_air_irigasi'] ?? null, - 'sumber_air' => ($validatedData['sumber_air'] ?? null) === 'Lainnya' ? ($validatedData['sumber_air_lainnya'] ?? null) : ($validatedData['sumber_air'] ?? null), + 'sumber_air' => $sumberAir, 'sistem_irigasi' => ($validatedData['sistem_irigasi'] ?? null) === 'Lainnya' ? ($validatedData['sistem_irigasi_lainnya'] ?? null) : ($validatedData['sistem_irigasi'] ?? null), 'kebutuhan_air_permusim' => $validatedData['kebutuhan_air_permusim'] ?? null, 'kebiasaan_konservasi_tanah' => $validatedData['kebiasaan_konservasi_tanah'] ?? [], diff --git a/app/Http/Controllers/Web/Produktivitas/SurveyProduktivitasController.php b/app/Http/Controllers/Web/Produktivitas/SurveyProduktivitasController.php index cb9ba6a..037a638 100644 --- a/app/Http/Controllers/Web/Produktivitas/SurveyProduktivitasController.php +++ b/app/Http/Controllers/Web/Produktivitas/SurveyProduktivitasController.php @@ -14,7 +14,6 @@ class SurveyProduktivitasController extends Controller public function store($petaniId, Request $request) { $petani = Petani::findOrFail($petaniId); - // dd($request->all()); $validated = $request->validate([ 'produktivitas_komoditas' => ['required', 'array'], 'produktivitas_komoditas.*.komoditas_id' => ['nullable', 'exists:master_komoditas,id'], diff --git a/app/Models/Pertanian/PraktikBudidaya.php b/app/Models/Pertanian/PraktikBudidaya.php index 64f818a..5ba2ea7 100644 --- a/app/Models/Pertanian/PraktikBudidaya.php +++ b/app/Models/Pertanian/PraktikBudidaya.php @@ -19,7 +19,8 @@ class PraktikBudidaya extends Model 'teknik_pemangkasan' => 'array', 'jenis_hama' => 'array', 'jenis_penyakit' => 'array', - 'kebiasaan_konservasi_tanah' => 'array' + 'sumber_air' => 'array', + 'kebiasaan_konservasi_tanah' => 'array', ]; protected $fillable = [ @@ -45,7 +46,8 @@ class PraktikBudidaya extends Model 'intensitas_serangan', 'waktu_kemunculan_terparah', 'metode_paling_sering_dilakukan', - 'volume_obat_obatan_permusim', + 'volume_obat_obatan_padat_permusim', + 'volume_obat_obatan_cair_permusim', 'satuan_volume_obat_obatan', 'frekuensi_sanitasi_lahan', 'penanganan_sisa_buah_ranting', diff --git a/resources/views/produktivitas/petani/praktik-budidaya/edit.blade.php b/resources/views/produktivitas/petani/praktik-budidaya/edit.blade.php index aca2652..acf98d6 100644 --- a/resources/views/produktivitas/petani/praktik-budidaya/edit.blade.php +++ b/resources/views/produktivitas/petani/praktik-budidaya/edit.blade.php @@ -705,24 +705,46 @@ @error('metode_paling_sering_dilakukan')