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['secure_id'] = $id; $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(); $data['dok'] = DokumenAdministrasi::where('ms_sekolah_id',$keyId)->where('tahun',date('Y'))->first(); $data['penilaian'] = Penilaian::where('ms_sekolah_id',$keyId)->where('tahun',date('Y'))->groupBy('page_number')->orderBy('page_number','ASC')->pluck('page_number')->toArray(); return view($this->template.'.progress',$data); } public function store(Request $request) { // dd($request['sekolah']); $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); } if(session('group_alias') == 'sekolah'){ $status = 0; }elseif(session('group_alias') == 'penilai_kota'){ $status = 1; }elseif(session('group_alias') == 'penilai_provinsi'){ $status = 2; } if(@$request['sekolah']){ $idSekolah = decode_id(@$request['sekolah']); $sekolah = Sekolah::find($idSekolah); }else{ $idSekolah = session('sekolah_id'); $sekolah = Sekolah::find($idSekolah); } $penilaian[$key] = Penilaian::updateOrCreate([ 'tahun' => date('Y'), 'ms_sekolah_id' => $sekolah->MsSekolahId, 'npsn' => $sekolah->npsn, 'page_number' => decode_id($data['key']), 'key' => str_replace('input_','',$key), 'status' => $status, ],[ 'ms_sekolah_id' => $sekolah->MsSekolahId, 'npsn' => $sekolah->npsn, 'page_number' => decode_id($data['key']), 'key' => str_replace('input_','',$key), 'value' => json_encode($value), 'skor' => $skor, 'tahun' => date('Y'), 'created_by' => auth()->user()->id, ]); } } return response()->json(['status' => true,'data' => $_value,'message' => 'Berhasil Update Data','page' => $data['key']]); } public function kirimData($sekolah_id, $kuesioner_id) { $keyId = decode_id($kuesioner_id); $kuesioner = Kuesioner::find($keyId); $kuesioner->status = 3; $kuesioner->save(); $log = new KuesionerLog; $log->kuesioner_id = $kuesioner->KuesionerId; $log->ms_sekolah_id = $kuesioner->ms_sekolah_id; $log->npsn = $kuesioner->npsn; $log->ms_group_id = session('group_id'); $log->step = 'kirim_kelengkapan_data'; $log->status = 3; $log->created_by = auth()->user()->id; $log->save(); return response()->json(['status' => true,'message' => 'Data Berhasil Di Update','type' => 'success']); } }