route, 'module',true); $data['title'] = $this->title; $data['route'] = $this->route; $data['page'] = FormKriteria::select('page_number')->groupBy('page_number')->orderBy('page_number','ASC')->pluck('page_number')->toArray(); return view($this->template.'.form',$data); } public function resume() { // permission('is_read', $this->route, 'module',true); $data['title'] = $this->title; $data['route'] = $this->route; $data['page'] = FormKriteria::select('page_number')->groupBy('page_number')->orderBy('page_number','ASC')->pluck('page_number')->toArray(); return view($this->template.'.resume',$data); } public function progress() { // permission('is_read', $this->route, 'module',true); $data['title'] = $this->title; $data['route'] = $this->route; $data['page'] = FormKriteria::select('page_number')->groupBy('page_number')->orderBy('page_number','ASC')->pluck('page_number')->toArray(); return view($this->template.'.progress',$data); } public function store(Request $request) { // dd(); $data = $request['data']; $_value = []; foreach ($data as $key => $value) { if (strpos($key, 'input_') === 0) { $_value[$key] = $value; if($key == 'input_unsur_warga_partisipasi'){ $skor = hitungSkor(str_replace('input_','','input_unsur_warga_partisipasi'),$value,$data['input_lainnya']); }elseif($key == 'input_jumlah_timbulan'){ $sebelum = $data['input_jumlah_timbulan']; $sekarang = $data['input_ratarata_jumlah_timbulan']; $pengurangan = $sebelum - $sekarang; $persentase = $sebelum > 0 ? ($pengurangan / $sebelum) * 100 : 0; if($persentase > 80){ $skor = 5; }elseif(($persentase > 60) || ($persentase <= 80)){ $skor = 4; }elseif(($persentase > 40) || ($persentase <= 60)){ $skor = 3; }elseif(($persentase > 20) || ($persentase <= 40)){ $skor = 2; }else{ $skor = 1; } }elseif($key == 'input_jumlah_pohon'){ $pohon = $data['input_jumlah_pohon']; $warga = $data['input_jumlah_warga_sekolah']; $persentase = $warga > 0 ? ($pohon / $warga) * 100 : 0; if($persentase > 80){ $skor = 5; }elseif(($persentase > 60) || ($persentase <= 80)){ $skor = 4; }elseif(($persentase > 40) || ($persentase <= 60)){ $skor = 3; }elseif(($persentase > 20) || ($persentase <= 40)){ $skor = 2; }else{ $skor = 1; } }elseif($key == 'input_kondisi_kebersihan'){ $kebersihan = $data['input_kondisi_kebersihan']; $drainase = $data['input_kondisi_drainase']; if ($kebersihan == "Bersih" && $drainase == "Bersih") { $skor = 3; // Lingkungan bersih dan drainase berfungsi } elseif (($kebersihan == "Bersih" && $drainase == "Kurang Bersih") || ($kebersihan == "Kurang Bersih" && $drainase == "Bersih")) { $skor = 2; // Salah satu kondisi kurang baik } else { $skor = 1; // Lingkungan kurang bersih dan drainase tidak berfungsi } }else{ $skor = hitungSkor(str_replace('input_','',$key),$value); } $penilaian[$key] = Penilaian::updateOrCreate([ 'tahun' => date('Y'), 'ms_sekolah_id' => session('sekolah_id'), 'npsn' => session('npsn'), 'page_number' => decode_id($data['key']), 'key' => str_replace('input_','',$key), ],[ 'user_id' => auth()->user()->id, 'ms_sekolah_id' => session('sekolah_id'), 'npsn' => session('npsn'), 'page_number' => decode_id($data['key']), 'key' => str_replace('input_','',$key), 'value' => json_encode($value), 'status' => 0, 'skor' => $skor, 'tahun' => date('Y'), 'created_by' => auth()->user()->id, ]); } } return response()->json(['status' => true,'data' => $_value,'message' => 'Berhasil Update Data','page' => $data['key']]); } }