route;
        $data['title'] = $this->title;
        $data['provinsi'] = Provinsi::where('kode_wilayah','010000')->get();
        return view($this->template.'.index',$data);
    }
    public function grid(Request $request)
    {
        if(session('group_alias') == 'sekolah'){
            $kuesioner = Kuesioner::where('ms_sekolah_id',session('sekolah_id'))->where('tahun',date('Y'))->orderBy('created_at','DESC')->get();
        }else{
            $kuesioner = Kuesioner::where('tahun',date('Y'))->orderBy('created_at','DESC')->get();    
        }
        
        foreach ($kuesioner as $key => $row) {
            $action = '';
            // if((access('is_create', $this->route.'.*')) || (access('is_update', $this->route.'.*'))){
            //     $action .= '';
            // }
            if(($row->level+1) == 1){
                $jenis_usulan = 'Keputusan Gubernur tentang penetapan Sekolah Adiwiyata Kab/Kota';
            }elseif(($row->level+1) == 2){
                $jenis_usulan = 'Keputusan Gubernur tentang penetapan Sekolah Adiwiyata Provinsi';
            }elseif(($row->level+1) == 3){
                $jenis_usulan = 'Keputusan Gubernur tentang penetapan Sekolah Adiwiyata Nasional';
            }elseif(($row->level+1) == 4){
                $jenis_usulan = 'Keputusan Gubernur tentang penetapan Sekolah Adiwiyata Mandiri';
            }
            $usulan = Usulan::where('sekolah','like','%'.$row->ms_sekolah_id.'%')->first();
            $dok = DokumenAdministrasi::where('ms_sekolah_id',$row->ms_sekolah_id)->where('tahun',date('Y'))->first();
            if(session('group_alias') == 'sekolah'){
                if(@$dok->status == 0){
                    $action .= '';
                }
            }
            // $action .= '';
            if(session('group_alias') == 'dinas'){
                if(@$dok){
                    if(@$dok->status == 0){
                        $action .= '';
                        $action .= '';
                    }
                }
            }
            if(@$usulan){
                $fileUsulan = '  Surat Usulan';
            }else{
                $fileUsulan = '';
            }
            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 = 'Kabupaten/Kota';
            }elseif(($row->level+1) == 2){
                $jenis_usulan = 'Provinsi';
            }elseif(($row->level+1) == 3){
                $jenis_usulan = 'Nasional';
            }elseif(($row->level+1) == 4){
                $jenis_usulan = 'Mandiri';
            }
            
            if(@$dok){
                if(@$dok->status == 1){
                    $labelDok = 'Dokumen Sudah Di Verifikasi';
                }elseif(@$dok->status == 2){
                    $labelDok = 'Dokumen Sudah Di Tolak';
                }else{
                    $labelDok = 'Menuggu Verifikasi Dokumen';
                }
            }else{
                $labelDok = 'Belum Upload Dokumen';
            }
            $sekolah = '';
            $sekolah .= @$row->sekolah->nama_sekolah.'
';
            $sekolah .= ''.@$row->profile->tingkat->name.' ';
            $sekolah .= ''.@$row->profile->status_sekolah.' ';
            $_data[] = [
                'no'                => $key+1,
                'id'                => encode_id($row->id),
                'npsn'              => $row->sekolah->npsn,
                'nama'              => $sekolah,
                'tahun'             => $row->tahun,
                'labelDok'          => $labelDok,
                'status_level'      => 'Level '.levelAdiwiyata($row->npsn).'',
                'wilayah'           => $row->sekolah->kabupaten->name,
                'penghargaan'       => $penghargaan,
                'jenis_usulan'      => ''.$jenis_usulan.'',
                'usulan'            => $fileUsulan,
                'action'            => $action,
            ];
        }
        return response()->json($_data);
    }
    public function update(Request $request)
    {
        try {
            $sekolahId  = decode_id($request->sekolah);
            $dokumen    = DokumenAdministrasi::where('ms_sekolah_id',$sekolahId)->where('tahun',date('Y'))->first();
            $dokumen->nama_dalam_sk     = $request->nama_dalam_sk;
            $dokumen->sk_ttd            = $request->sk_ttd;
            $dokumen->waktu_penetapan   = $request->waktu_penetapan;
            $dokumen->save();
            return response()->json(['status' => true,'message' => 'Berhasil Update Data','type' => 'success']);
        } catch (Exception $e) {
            return response()->json(['status' => false,'message' => $e->getMessage(),'type' => 'error']);
        }
        
    }
    public function store(Request $request)
    {
        // dd($request->all());
        // $data = $request['data'];
    
        $keyId = decode_id($request->secure_id);
        if(!@$keyId){
            return response()->json(['status' => false,'message' => 'Maaf Terjadi Kesalahan','type' => 'error']);
        }
        $dok = DokumenAdministrasi::where('ms_sekolah_id',session('sekolah_id'))->where('tahun',date('Y'))->first();
        if(@$dok->status == 1){
            return response()->json(['status' => false,'message' => 'Dokumen Sudah di verifikasi','type' => 'info']);
        }
        if (@$request->hasFile('file')) {
            $file = $request->file('file');
            $destinationPath = public_path('uploads/file');
            $current = Carbon::now()->format('Y/m/d');
            $path = $destinationPath . '/' . $current;
            $fileName = $file->getClientOriginalName();
            $fileMime = $file->getClientMimeType();
            $fileExtension = $file->getClientOriginalExtension();
            $fileSize = $file->getSize();
            if($fileExtension != 'pdf'){
                return redirect()->back()->with([
                     'message' => 'Maaf File Harus Berupa PDF!',
                     'type'    => "error"
                ]);   
            }
            $newFilename = session('uid').'_'.uniqid('file_') . '.' . $fileExtension;
            if (!File::exists($path)) {
                File::isDirectory($path) or File::makeDirectory($path, 0777, true, true);
            }
            $filePath = 'file/' . $current . '/' . $newFilename;
            $uploaded = $file->move($path, $newFilename);
        }
        if (@$request->hasFile('sk_tim_adiwiyata')) {
            $file = $request->file('sk_tim_adiwiyata');
            $destinationPath = public_path('uploads/file_sk_tim');
            $current = Carbon::now()->format('Y/m/d');
            $path = $destinationPath . '/' . $current;
            $fileName = $file->getClientOriginalName();
            $fileMime = $file->getClientMimeType();
            $fileExtension = $file->getClientOriginalExtension();
            $fileSize = $file->getSize();
            if($fileExtension != 'pdf'){
                return redirect()->back()->with([
                     'message' => 'Maaf File Harus Berupa PDF!',
                     'type'    => "error"
                ]);   
            }
            $newFilename = session('uid').'_'.uniqid('file_sk_tim_') . '.' . $fileExtension;
            if (!File::exists($path)) {
                File::isDirectory($path) or File::makeDirectory($path, 0777, true, true);
            }
            $filePathTim = 'file_sk_tim/' . $current . '/' . $newFilename;
            $uploaded = $file->move($path, $newFilename);
        }
        if (@$request->hasFile('surat_usulan')) {
            $file = $request->file('surat_usulan');
            $destinationPath = public_path('uploads/file_usulan');
            $current = Carbon::now()->format('Y/m/d');
            $path = $destinationPath . '/' . $current;
            $fileName = $file->getClientOriginalName();
            $fileMime = $file->getClientMimeType();
            $fileExtension = $file->getClientOriginalExtension();
            $fileSize = $file->getSize();
            if($fileExtension != 'pdf'){
                return redirect()->back()->with([
                     'message' => 'Maaf File Harus Berupa PDF!',
                     'type'    => "error"
                ]);   
            }
            $newFilename = session('uid').'_'.uniqid('file_usulan_') . '.' . $fileExtension;
            if (!File::exists($path)) {
                File::isDirectory($path) or File::makeDirectory($path, 0777, true, true);
            }
            $filePathUsulan = 'file_usulan/' . $current . '/' . $newFilename;
            $uploaded = $file->move($path, $newFilename);
        }
        // dd($filePathUsulan);
        $dok = DokumenAdministrasi::updateOrCreate([
            'kuesioner_id'  => $keyId,
            'ms_sekolah_id' => session('sekolah_id'),
            'npsn'          => session('npsn'),
            'created_by'    => auth()->user()->id,
            'tahun'         => date('Y'),
        ],[
            'kuesioner_id'  => $keyId,
            'ms_sekolah_id' => session('sekolah_id'),
            'npsn'          => session('npsn'),
            'created_by'    => auth()->user()->id,
            'tahun'         => date('Y'),
            'link'          => @$filePath,
            'file_sk_tim'   => @$filePathTim,
            'file_usulan'   => @$filePathUsulan,
            'status'        => 0,
        ]);
        return response()->json(['status' => true,'message' => 'Berhasil Update Data','type' => 'success']);
    }
    public function verifikasi($id)
    {
        $keyId = decode_id($id);
        $dok = DokumenAdministrasi::find($keyId);
        $dok->status = 1;
        $dok->save();
        return response()->json(['status' => true,'message' => 'Data Berhasil Di Update','type' => 'success']);
    }
    public function tolak($id)
    {
        $keyId = decode_id($id);
        $dok = DokumenAdministrasi::find($keyId);
        $dok->status = 2;
        $dok->save();
        return response()->json(['status' => true,'message' => 'Data Berhasil Di Update','type' => 'success']);
    }
}