route, 'module',true);
        $data['title'] = 'Profile Sekolah';
        $data['route'] = $this->route;
        if(session('group_alias') == 'sekolah'){
            $profile = Profile::where('user_id',auth()->user()->id)->first();
            $jumlah = json_decode($profile->data_jumlah);
            $data['jumlah_peserta_didik']         = @$jumlah->jumlah_peserta_didik;
            $data['jumlah_tenaga_pendidik']       = @$jumlah->jumlah_tenaga_pendidik;
            $data['jumlah_tenaga_kependidikan']   = @$jumlah->jumlah_tenaga_kependidikan;
            $data['jumlah_warga_sekolah_lainnya'] = @$jumlah->jumlah_warga_sekolah_lainnya;
            $data['jumlah_biopori']               = @$jumlah->jumlah_biopori;
            $data['jumlah_sumur_resapan']         = @$jumlah->jumlah_sumur_resapan;
            $data['jumlah_pohon']                 = @$jumlah->jumlah_pohon;
            $air = json_decode($profile->penghematan_air);
            $data['air_sebelum_pblhs'] = @$air->air_sebelum_pblhs;
            $data['air_setelah_pblhs'] = @$air->air_setelah_pblhs;
            $listrik = json_decode($profile->penghematan_listrik);
            $data['listrik_sebelum_pblhs'] = @$listrik->listrik_sebelum_pblhs;
            $data['listrik_setelah_pblhs'] = @$listrik->listrik_setelah_pblhs;
            $data['luas_ruangan_ac']       = @$listrik->luas_ruangan_ac;
            $data['luas_ruangan_non_ac']   = @$listrik->luas_ruangan_non_ac;
            $data['jumlah_kader']          = @$listrik->jumlah_kader;
            
            return view($this->template.'.sekolah', $data);
        }else{
            $data['provinsi'] = Provinsi::where('kode_wilayah','010000')->get();
            return view($this->template.'.admin', $data);
        }
    }
    public function grid(Request $request)
    {
        $profile = Profile::groupBy('ms_sekolah_id')->pluck('ms_sekolah_id')->toArray();
        $sekolah = Sekolah::whereIn('MsSekolahId',$profile)->get();
        foreach ($sekolah as $key => $row) {
            $action = '';
            if((permission('is_create', $this->route.'.*','module',false)) || (permission('is_update', $this->route.'.*','module',false))){
                $action .= '';
            }
            if($row->level == 0){
                $penghargaan = ' Belum Pernah';
            }elseif($row->level == 1){
                $penghargaan = ' Adiwiyata Kab/Kota';
            }elseif($row->level == 2){
                $penghargaan = ' Adiwiyata Provinsi';
            }elseif($row->level == 3){
                $penghargaan = ' Adiwiyata Nasional';
            }elseif($row->level == 4){
                $penghargaan = ' Adiwiyata Mandiri';
            }
            if(($row->level+1) == 1){
                $jenis_usulan = 'Adiwiyata Kab/Kota';
            }elseif(($row->level+1) == 2){
                $jenis_usulan = 'Adiwiyata Provinsi';
            }elseif(($row->level+1) == 3){
                $jenis_usulan = 'Adiwiyata Nasional';
            }elseif(($row->level+1) == 4){
                $jenis_usulan = 'Adiwiyata Mandiri';
            }
            $kuesioner  = Kuesioner::where('ms_sekolah_id',$row->MsSekolahId)->where('tahun',date('Y'))->orderBy('created_at','DESC')->first();
            $log  = KuesionerLog::where('kuesioner_id',@$kuesioner->KuesionerId)->orderBy('created_at','DESC')->first();
            if(@$log){
                $progress = ''.str_replace('_',' ',\Str::title($log->step)).'';
            }else{
                $progress = '';
            }
            $penilaian = '';
            $penilaian .= ' Sekolah : '.getNilaiAll('sekolah',$row->MsSekolahId).'';
            $penilaian .= ' Kota : '.getNilaiAll('kota',$row->MsSekolahId).'';
            $penilaian .= ' Provinsi : '.getNilaiAll('provinsi',$row->MsSekolahId).'';
            $_data[] = [
                'no'                => $key+1,
                'id'                => encode_id($row->id),
                'npsn'              => $row->npsn,
                'nama'              => $row->nama_sekolah,
                'status_level'      => 'Level '.levelAdiwiyata($row->npsn).'',
                'wilayah'           => $row->kabupaten->name,
                'tanggal_level'     => '-',
                'penghargaan'       => $penghargaan,
                'dok'               => '-',
                'kriteria'          => $penilaian,
                'jenis_usulan'      => $jenis_usulan,
                'usulkan_csa'       => $progress,
                'perpanjang_csa'    => '-',
                'action'    => $action,
            ];
        }
        return response()->json($_data);
    }
    public function store(Request $request)
    {
        permission('is_update', $this->route, 'module',true);
        try {
            Validator::make($request->all(), [
                'jumlah_peserta_didik'         => 'required',
                'jumlah_tenaga_pendidik'       => 'required',
                'jumlah_tenaga_kependidikan'   => 'required',
                'jumlah_warga_sekolah_lainnya' => 'required',
                'jumlah_biopori'               => 'required',
                'jumlah_sumur_resapan'         => 'required',
                'jumlah_pohon'                 => 'required',
                'air_sebelum_pblhs'            => 'required',
                'air_setelah_pblhs'            => 'required',
                'listrik_sebelum_pblhs'        => 'required',
                'listrik_setelah_pblhs'        => 'required',
                'luas_ruangan_ac'              => 'required',
                'luas_ruangan_non_ac'          => 'required',
                'jumlah_kader'                 => 'required',
            ],[
                'jumlah_peserta_didik.required'         => 'Jumlah Peserta Didik Tidak Boleh Kosong',
                'jumlah_tenaga_pendidik.required'       => 'Jumlah Tenaga Pendidik Tidak Boleh Kosong',
                'jumlah_tenaga_kependidikan.required'   => 'Jumlah Tenaga Kependidikan Tidak Boleh Kosong',
                'jumlah_warga_sekolah_lainnya.required' => 'Jumlah Warga Sekolah Lainnya Tidak Boleh Kosong',
                'jumlah_biopori.required'               => 'Jumlah Biopori Tidak Boleh Kosong',
                'jumlah_sumur_resapan.required'         => 'Jumlah Sumur Resapan Tidak Boleh Kosong',
                'jumlah_pohon.required'                 => 'Jumlah Pohon Tidak Boleh Kosong',
                'air_sebelum_pblhs.required'            => 'Penghematan Air Sebelum PBLHS Tidak Boleh Kosong',
                'air_setelah_pblhs.required'            => 'Penghematan Air Setelah PBLHS Tidak Boleh Kosong',
                'listrik_sebelum_pblhs.required'        => 'Penghematan Listrik Sebelum PBLHS Tidak Boleh Kosong',
                'listrik_setelah_pblhs.required'        => 'Penghematan Listrik Setelah PBLHS Tidak Boleh Kosong',
                'luas_ruangan_ac.required'              => 'Penghematan Listrik Luas Ruangan Ber-AC Tidak Boleh Kosong',
                'luas_ruangan_non_ac.required'          => 'Penghematan Listrik Luas Ruangan Non-AC Tidak Boleh Kosong',
                'jumlah_kader.required'                 => 'Jumlah Kader Tidak Boleh Kosong',
            ])->validate();
            // dd($request->all());
            $jumlah = [];
            $jumlah['jumlah_peserta_didik']         = $request->jumlah_peserta_didik;
            $jumlah['jumlah_tenaga_pendidik']       = $request->jumlah_tenaga_pendidik;
            $jumlah['jumlah_tenaga_kependidikan']   = $request->jumlah_tenaga_kependidikan;
            $jumlah['jumlah_warga_sekolah_lainnya'] = $request->jumlah_warga_sekolah_lainnya;
            $jumlah['jumlah_biopori']               = $request->jumlah_biopori;
            $jumlah['jumlah_sumur_resapan']         = $request->jumlah_sumur_resapan;
            $jumlah['jumlah_pohon']                 = $request->jumlah_pohon;
            $air = [];
            $air['air_sebelum_pblhs'] = $request->air_sebelum_pblhs;
            $air['air_setelah_pblhs'] = $request->air_setelah_pblhs;
            $listrik = [];
            $listrik['listrik_sebelum_pblhs'] = $request->listrik_sebelum_pblhs;
            $listrik['listrik_setelah_pblhs'] = $request->listrik_setelah_pblhs;
            $listrik['luas_ruangan_ac']       = $request->luas_ruangan_ac;
            $listrik['luas_ruangan_non_ac']   = $request->luas_ruangan_non_ac;
            $listrik['jumlah_kader']          = $request->jumlah_kader;
            $profile = Profile::where('user_id',auth()->user()->id)->first();
            $profile->data_jumlah           = json_encode($jumlah);
            $profile->penghematan_air       = json_encode($air);
            $profile->penghematan_listrik   = json_encode($listrik);
            $profile->save();
            logActivity($request, __('Insert',['val' => strtolower(__('Title',['user' => auth()->user()->id]))]));
            return redirect()->back()->with('message', __('Berhasil Update Data'))->with('type', 'success');
        } catch (Exception $e) {
            throw new GeneralException(__('Maaf Terjadi Kesalahan'));
        }
        
    }
}