route, 'module',true); if(Kuesioner::where('ms_sekolah_id',session('sekolah_id'))->where('tahun',date('Y'))->count() == 0){ return redirect('kuesioner/update/'.encode_id(session('sekolah_id')))->with([ 'message' => 'Maaf anda belum melakukan isi kuesioner, silahkan isi terlebih dahulu', 'type' => 'error', ]); } if(Kuesioner::where('ms_sekolah_id',session('sekolah_id'))->where('tahun',date('Y'))->value('status') == 0){ return redirect('kuesioner/update/'.encode_id(session('sekolah_id')))->with([ 'message' => 'Maaf usulan anda belum diverifikasi oleh Dinas', 'type' => 'error', ]); } $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($id) { $keyId = decode_id($id); // 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(); $data['log'] = KuesionerLog::where('ms_sekolah_id',$keyId)->orderBy('created_at','ASC')->get(); $data['kuesioner'] = Kuesioner::where('ms_sekolah_id',$keyId)->where('tahun',date('Y'))->first(); 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), ],[ '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']]); } }