<?php

namespace App\Http\Controllers;

use App\Jobs\kirimNotifikasiErrorJob;
use App\Jobs\layananPengajuanWisudaJob;

use App\Models\Bagian;
use App\Models\Mahasiswa;
use App\Models\PengajuanWisuda;
use App\Models\User;
use Barryvdh\DomPDF\Facade\Pdf;
use Carbon\Carbon;
use Exception;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\Storage;

use Ixudra\Curl\Facades\Curl;
use SimpleSoftwareIO\QrCode\Facades\QrCode;
use Spatie\Permission\Models\Role;

class LayananPengajuanWisudaController extends Controller
{

public function index(){
    $data = PengajuanWisuda::select(
        'pengajuan_wisudas.*',
        'mahasiswas.nim as nim',
        'mahasiswas.nama as nama',
        'mahasiswas.judul_skripsi_id',
        'mahasiswas.judul_jurnal',
        'mahasiswas.judul_artikel',
        'dosen_dpu.nama_gelar as dpu_nama_gelar',
        'dosen_dpa.nama_gelar as dpa_nama_gelar',
        'dosen_penguji1.nama_gelar as penguji1_nama_gelar',
        'dosen_penguji2.nama_gelar as penguji2_nama_gelar'
    )
    ->join('mahasiswas','mahasiswas_id','=','mahasiswas.id')
    ->join('users as dosen_dpu','mahasiswas.dosen_dpu_id','=','dosen_dpu.id')
    ->join('users as dosen_dpa','mahasiswas.dosen_dpa_id','=','dosen_dpa.id')
    ->join('users as dosen_penguji1','mahasiswas.dosen_penguji1_id','=','dosen_penguji1.id')
    ->join('users as dosen_penguji2','mahasiswas.dosen_penguji2_id','=','dosen_penguji2.id')
    ->get();

    return view('layanan-wisuda.index',['title' => 'Pengajuan Syarat Wisuda | Admin Dashboard','data' => $data]);
}

public function tambah(){
    $dosen = User::role('Dosen')->get();
    $bagian = Bagian::select('id','nama_bagian')->get();
    //cek apakah ada data mahasiswa dari hasil cari
    $nim = session('mahasiswas_id');
    if($nim!=null){
        $data_mahasiswa = Mahasiswa::find($nim);
        return view('layanan-wisuda.tambah',['dosen'=>$dosen, 'bagian'=>$bagian,'data_mahasiswa'=>$data_mahasiswa]);
    }
    return view('layanan-wisuda.tambah',['dosen'=>$dosen, 'bagian'=>$bagian]);
}

public function store(Request $request){
    //cek validasi file dan input
    $request->validate([
        'nim'=>'required|numeric',
        'nama'=>'required',
        'nomor_hp'=>'required|numeric',
        'email'=>'required|email',
        'judul_skripsi_id'=>'required',
        'bagian'=>'required|numeric',
        'dosen_dpu'=>'required|numeric',
        'dosen_dpa'=>'required|numeric',
        'dosen_penguji1'=>'required|numeric',
        'dosen_penguji2'=>'required|numeric',
        'bukti_skripsi' => 'required|mimes:pdf|max:4096',
        'bukti_kkn' => 'required|mimes:pdf|max:4096',
        'bukti_spp' => 'required|mimes:pdf|max:4096',
        'bukti_toefl' => 'mimes:pdf|max:4096',
    ],[
        'nim.required'=>'NIP Wajib Diisi',
        'nim.numeric'=>'NIM Wajib Berisi Angka saja',
        'nomor_hp.numeric'=>'Nomor HP Wajib Menggunakan Angka, Contoh 089xxxxx',
        'email.email'=>'Format email tidak sesuai, cek lagi email anda, Contoh mahasiswa@gmail.com/ mahasiswa@mail.unej.ac.id',
        'bagian.numeric'=>'Bagian tidak valid, cek kembali Bagian yang dipilih',
        'dosen_dpu.numeric'=>'Dosen Pembimbing tidak valid, cek kembali Dosen Pembimbing Utama yang dipilih',
        'dosen_dpa.numeric'=>'Dosen Pembimbing tidak valid, cek kembali Dosen Pembimbing Anggota yang dipilih',
        'dosen_penguji1.numeric'=>'Dosen Penguji tidak valid, cek kembali Dosen Penguji Utama yang dipilih',
        'dosen_penguji2.numeric'=>'Dosen Penguji tidak valid, cek kembali Dosen Penguji Anggota yang dipilih',
    ]);
    //olah file
    $bukti_skripsi = $request->file('bukti_skripsi');
    $bukti_kkn = $request->file('bukti_kkn');
    $bukti_spp = $request->file('bukti_spp');
    $bukti_toefl = $request->file('bukti_toefl');

    
    //beri nama tiap file
    $bukti_skripsi_name= 'LY_1'.str_replace(' ', '_',$bukti_skripsi->getClientOriginalName());
    $bukti_kkn_name = 'LY_2'.str_replace(' ', '_',$bukti_kkn->getClientOriginalName());
    $bukti_spp_name = 'LY_3'.str_replace(' ', '_',$bukti_spp->getClientOriginalName());
    


    //Cek Apakah Data Mahasiswa Tersebut sudah ada, jika ada maka diminta untuk menggunakan fitur cari
    $mahasiswa = Mahasiswa::where('nim',$request->nim)->first();
    if(!is_null($mahasiswa) && $request->status!="ada"){
        return redirect()->route('layanan-wisuda.tambah')->with('error','Data Anda Sudah Ada, Gunakan Fitur Cari Menggunakan NIM :'.$request->nim);
    }

    //kalo menggunakan fitur cari, akan menggunakan fungsi ini
    elseif(!is_null($mahasiswa) && $request->status=="ada"){
        $mahasiswas_id = $mahasiswa->id;
        $data_wisuda['mahasiswas_id'] = $mahasiswas_id;
        $data_wisuda['bukti_skripsi'] = $bukti_skripsi_name;
        $data_wisuda['bukti_kkn'] = $bukti_kkn_name;
        $data_wisuda['bukti_spp'] = $bukti_spp_name;
        if($bukti_toefl==null){
            $data_wisuda['bukti_toefl'] = '-';
            //save to db
            PengajuanWisuda::create($data_wisuda);
        }else{
            $bukti_toefl_name = 'LY_4'.str_replace(' ', '_',$bukti_toefl->getClientOriginalName());
            $data_wisuda['bukti_toefl'] = $bukti_toefl_name;
            //save to db
            PengajuanWisuda::create($data_wisuda);
            Storage::disk('public')->put($request->nim.'/'.$bukti_toefl_name, file_get_contents($bukti_toefl));
        }
        //edit data judul skripsi mahasiswa
        $mahasiswa->judul_skripsi_id = $request->judul_skripsi_id;
        //save to db
        $mahasiswa->save();
        
        Storage::disk('public')->put($request->nim.'/'.$bukti_skripsi_name, file_get_contents($bukti_skripsi));
        Storage::disk('public')->put($request->nim.'/'.$bukti_kkn_name, file_get_contents($bukti_kkn));
        Storage::disk('public')->put($request->nim.'/'.$bukti_spp_name, file_get_contents($bukti_spp));
        return redirect()->route('layanan-wisuda.tambah')->with('success','Sukses Tambah Data, Silahkan Menunggu Email Konfirmasi setelah disetujui Oleh Operator');
    }

    //Jika data baru maka akan menggunakan fitur ini
    $data_mhs['nim'] = $request->nim;
    $data_mhs['nama'] = $request->nama;
    $data_mhs['nomor_hp'] = $request->nomor_hp;
    $data_mhs['email'] = $request->email;
    $data_mhs['judul_seminar_proposal'] = '-';
    $data_mhs['bagian'] = $request->bagian;
    $data_mhs['dosen_dpu_id'] = $request->dosen_dpu;
    $data_mhs['dosen_dpa_id'] = $request->dosen_dpa;
    //set default to 0
    $data_mhs['dosen_penguji1_id'] = $request->dosen_penguji1;
    $data_mhs['dosen_penguji2_id'] = $request->dosen_penguji2;
    $data_mhs['judul_skripsi_id'] = $request->judul_skripsi_id;
    $data_mhs['judul_skripsi_en'] = '-';
    $data_mhs['judul_jurnal'] = '-';
    $data_mhs['judul_artikel'] = '-';

    //save data mahasiswa dan pengajuan
    if(Mahasiswa::create($data_mhs)){
        $mahasiswas_id = Mahasiswa::where('nim',$request->nim)->first();
        $data_wisuda['mahasiswas_id'] = $mahasiswas_id->id;
        $data_wisuda['bukti_skripsi'] = $bukti_skripsi_name;
        $data_wisuda['bukti_kkn'] = $bukti_kkn_name;
        $data_wisuda['bukti_spp'] = $bukti_spp_name;
        
        if($bukti_toefl==null){
            $data_wisuda['bukti_toefl'] = '-';
            //save to db
            PengajuanWisuda::create($data_wisuda);
        }
        else{
            $bukti_toefl_name = 'LY_4'.str_replace(' ', '_',$bukti_toefl->getClientOriginalName());
            $data_wisuda['bukti_toefl'] = $bukti_toefl_name;
            //save to db
            PengajuanWisuda::create($data_wisuda);
            Storage::disk('public')->put($request->nim.'/'.$bukti_toefl_name, file_get_contents($bukti_toefl));
        }
        

        Storage::disk('public')->put($request->nim.'/'.$bukti_skripsi_name, file_get_contents($bukti_skripsi));
        Storage::disk('public')->put($request->nim.'/'.$bukti_kkn_name, file_get_contents($bukti_kkn));
        Storage::disk('public')->put($request->nim.'/'.$bukti_spp_name, file_get_contents($bukti_spp));
        
        return redirect()->route('layanan-wisuda.tambah')->with('success','Sukses Tambah Data, Silahkan Menunggu Email Konfirmasi setelah disetujui Oleh Operator');
    }
    return redirect()->route('layanan-wisuda.tambah')->with('error','Gagal Tambah data, Cek kembali data yang anda masukkan');
}

public function cari(){
    return view('layanan-wisuda.cari',['title'=>'Cari Data Mahasiswa Untuk Keperluan Pengajuan Publikasi / Revisi']);
}

public function search(Request $request){
    $data = Mahasiswa::where('nim',$request->nim)->first();
    if($data==null){
        return redirect()->route('layanan-wisuda.tambah')->with('error','NIM Tidak Ditemukan, Gunakan Fitur Tambah');
    }
    return redirect()->route('layanan-wisuda.tambah')->with('mahasiswas_id',$data->id);
}

public function terima(Request $request){
    $id = $request->id;
    $countcaseid = PengajuanWisuda::where('ttd_operator','!=','-')->count();
    $caseid = "LY".date_format(date_create(),"ym").$countcaseid+1;

    $cekData = PengajuanWisuda::where('caseid',$caseid)->first();
    $data = PengajuanWisuda::where('id',$id)->first();
    //cek apakah ada caseid yang sama sebelum disave
    if(!is_null($cekData)){
        $data->updated_at = Carbon::now();
        $data->save();
        return redirect()->route('layanan-wisuda.index')->with('error','Gagal simpan Data, Cek kembali Detail Data yang akan diterima');
    }

    $data->caseid = $caseid;
    $data->ttd_operator = Carbon::now();
    
    if($data->save()){
        $data_job = [
            [
                'jenis' => 'mahasiswa',
                'id' => $id,
            ],
            [
                'jenis' => 'dpu',
                'id' => $id,
            ],
            [
                'jenis' => 'dpa',
                'id' => $id,
            ],
            [
                'jenis' => 'penguji1',
                'id' => $id,
            ],
            [
                'jenis' => 'penguji2',
                'id' => $id,
            ],
            [
                'jenis' => 'kalab',
                'id' => $id,
            ],
            [
                'jenis' => 'perpustakaan',
                'id' => $id,
            ],
            [
                'jenis' => 'skpi',
                'id' => $id,
            ],
        ];
        foreach($data_job as $item){
            dispatch(new layananPengajuanWisudaJob($item));
        }
        return redirect()->route('layanan-wisuda.index')->with('success','Data Berhasil Disimpan, Email Akan Dikirimkan ke Mahasiswa, DPU, Penguji Utama dan Penguji Anggota ');
    }
}

public function destroy(Request $request){
    $id = $request->id;
    //cari data dan kirim notif sebelum dihapus
    $data = PengajuanWisuda::where('pengajuan_wisudas.id',$id)
    ->join('mahasiswas','mahasiswas_id','=','mahasiswas.id')
    ->first();
    //data yang akan dikirim untuk dihapus
    $data_job = [
        'jenis' => 'penolakan',
        'caseid' => $data->caseid,
        'nama_mahasiswa' => $data->nama,
        'nim_mahasiswa' => $data->nim,
        'judul_skripsi_id' => $data->judul_skripsi_id,
        'email' => $data->email,
        'created_at' => $data->created_at,
        'alasan' => $request->alasan,
    ];
    
    //delete data mahasiswa
    try {
        $dataDelete = PengajuanWisuda::findOrFail($id);
        $dataDelete->delete();

        $path = [
            $data->nim."/".$data->bukti_skripsi,
            $data->nim."/".$data->bukti_spp,
            $data->nim."/".$data->buktix_kkn,
            $data->nim."/".$data->bukti_toefl,
        ];
        foreach ($path as $item){
            //hapus file yang diupload mahasiswa
            if(Storage::disk('public')->exists($item)){
                //hapus data pengajuan mahasiswa
                Storage::disk('public')->delete($item);
        }
        }
        //kirim notif ke mahasiswa bahwa ditolak
        dispatch(new layananPengajuanWisudaJob($data_job));
        
    }catch(Exception $e){
        //kirim notif error jika terjadi error
        $text['error'] = $e->getMessage();
        dispatch(new kirimNotifikasiErrorJob($text));
        
        return redirect()->route('layanan-wisuda.index')->with('error','Error : '.$text['error']);
    }
    return redirect()->route('layanan-wisuda.index')->with('success','Permintaan Sudah Diproses, Email akan segera dikirim ke penerima');
}

public function ettd($url, $caseid){
    $role_untuk_ettd = ['dpu','dpa','penguji1','penguji2','skpi','kalab','ruangbaca','wakildekan1'];
    $data = PengajuanWisuda::where('caseid','=',$caseid)
    ->select('pengajuan_wisudas.id',
    'pengajuan_wisudas.caseid',
    'pengajuan_wisudas.bukti_skripsi',
    'mahasiswas.nama',
    'mahasiswas.nim',
    'mahasiswas.judul_skripsi_id',
    'dosen_dpu.nama_gelar as dosen_dpu_nama_gelar',
    'dosen_dpa.nama_gelar as dosen_dpa_nama_gelar',
    'dosen_penguji1.nama_gelar as dosen_penguji1_nama_gelar',
    'dosen_penguji2.nama_gelar as dosen_penguji2_nama_gelar',
    )
    ->join('mahasiswas','pengajuan_wisudas.mahasiswas_id','=','mahasiswas.id')
    ->join('users as dosen_dpu','mahasiswas.dosen_dpu_id','=','dosen_dpu.id')
    ->join('users as dosen_dpa','mahasiswas.dosen_dpa_id','=','dosen_dpa.id')
    ->join('users as dosen_penguji1','mahasiswas.dosen_penguji1_id','=','dosen_penguji1.id')
    ->join('users as dosen_penguji2','mahasiswas.dosen_penguji2_id','=','dosen_penguji2.id')
    ->first();
    if(in_array($url, $role_untuk_ettd) && !is_null($data)){
        //jika URL DPU maka render ini
        if($url=='dpu'){
            $jenis = 'Dosen Pembimbing Utama';
            return view('layanan-wisuda.ettd',['title'=> 'INPUT E-Signature','jenis'=>$jenis,'data'=> $data]);
        }
        //jika URL DPA maka render ini
        elseif($url=='dpa'){
            $jenis = 'Dosen Pembimbing Anggota';
            return view('layanan-wisuda.ettd',['title'=> 'INPUT E-Signature','jenis'=>$jenis,'data'=> $data]);
        }
        //jika URL Penguji1 maka render ini
        elseif($url=='penguji1'){
            $jenis = 'Dosen Penguji Utama';
            return view('layanan-wisuda.ettd',['title'=> 'INPUT E-Signature','jenis'=>$jenis,'data'=> $data]);
        }
        //jika URL Penguji2 maka render ini
        elseif($url=='penguji2'){
            $jenis = 'Dosen Penguji Anggota';
            return view('layanan-wisuda.ettd',['title'=> 'INPUT E-Signature','jenis'=>$jenis,'data'=> $data]);
        }
        //jika URL Kalab maka render ini
        elseif($url=='kalab'){
            $jenis = 'Kepala Laboratorium';
            return view('layanan-wisuda.ettd',['title'=> 'INPUT E-Signature','jenis'=>$jenis,'data'=> $data]);
        }
        //jika URL skpi maka render ini
        elseif($url=='skpi'){
            $jenis = 'Pj. SKPI';
            $nama_ettd = User::role('Pj. SKPI')->get();
            return view('layanan-wisuda.ettd',['title'=> 'INPUT E-Signature','jenis'=>$jenis,'data'=> $data,'nama_ettd'=>$nama_ettd]);
        }
        //jika URL ruangbaca maka render ini
        elseif($url=='ruangbaca'){
            $jenis = 'Pj. perpustakaan';
            $nama_ettd = User::role('Pj. Perpustakaan')->first();
            return view('layanan-wisuda.ettd',['title'=> 'INPUT E-Signature','jenis'=>$jenis,'data'=> $data,'nama_ettd'=>$nama_ettd]);
        }
        //jika URL Kombi maka render ini
        elseif($url=='wakildekan1'){
            $jenis = 'Wakil Dekan 1';
            $nama_ettd = User::role('Wakil Dekan 1')->first();
            return view('layanan-wisuda.ettd',['title'=> 'INPUT E-Signature','jenis'=>$jenis,'data'=> $data,'nama_ettd'=>$nama_ettd]);
        }
    }
    //jika URL tidak diantara ketika itu maka render ini
    return redirect()->route('laman-awal')->with(['error'=>'URL Tidak Ditemukan']);
}

public function submitettd($url, $caseid, Request $request){
    $role_untuk_ettd = ['dpu','dpa','penguji1','penguji2','skpi','kalab','ruangbaca','wakildekan1'];
    $data = PengajuanWisuda::where('caseid','=',$caseid)->first();
    if(in_array($url, $role_untuk_ettd) && !is_null($data)){
        //jika URL DPU maka render ini
        if($url=='dpu'){
            //jika sudah pernah ETTD Akan Dikembalikan Ke laman TTD Dengan error
            if($data->ttd_dpu!='-'){
                return redirect()->route('layanan-wisuda.ettd',['url'=>$url, 'caseid'=>$caseid])->with(['error'=>'CaseID Ini Sudah Pernah Anda Tandatangani Pada '.$data->ttd_dpu]);
            }
            //ambil data ETTD sesuai url
            $ttd = Mahasiswa::where('nim',$request->nim)->join('users as dosen_dpu','mahasiswas.dosen_dpu_id','=','dosen_dpu.id')->first();
            //jika Belum Pernah maka TTD akan diproses
            if($ttd->ettd==$request->ettd){
                $data->ttd_dpu = Carbon::now();
                $data->save();
                $this->cekettd($caseid);
                return redirect()->route('monitoring.caseid',['caseid'=>$caseid])->with(['success'=>'Terimakasih Telah Melakukan Tanda Tangan Pada CaseID '.$caseid]);
            }
            //jika ETTD Tidak sesuai Akan Dikembalikan Ke laman TTD Dengan error
            else{
                return redirect()->route('layanan-wisuda.ettd',['url'=>$url, 'caseid'=>$caseid])->with(['error'=>'E-TTD Tidak Sesuai, Cek Kembali ETTD Anda']);
            }
        }
        if($url=='dpa'){
            //jika sudah pernah ETTD Akan Dikembalikan Ke laman TTD Dengan error
            if($data->ttd_dpa!='-'){
                return redirect()->route('layanan-wisuda.ettd',['url'=>$url, 'caseid'=>$caseid])->with(['error'=>'CaseID Ini Sudah Pernah Anda Tandatangani Pada '.$data->ttd_dpa]);
            }
            //ambil data ETTD sesuai url
            $ttd = Mahasiswa::where('nim',$request->nim)->join('users as dosen_dpa','mahasiswas.dosen_dpa_id','=','dosen_dpa.id')->first();
            //jika Belum Pernah maka TTD akan diproses
            if($ttd->ettd==$request->ettd){
                $data->ttd_dpa = Carbon::now();
                $data->save();
                $this->cekettd($caseid);
                return redirect()->route('monitoring.caseid',['caseid'=>$caseid])->with(['success'=>'Terimakasih Telah Melakukan Tanda Tangan Pada CaseID '.$caseid]);
            }
            //jika ETTD Tidak sesuai Akan Dikembalikan Ke laman TTD Dengan error
            else{
                return redirect()->route('layanan-wisuda.ettd',['url'=>$url, 'caseid'=>$caseid])->with(['error'=>'E-TTD Tidak Sesuai, Cek Kembali ETTD Anda']);
            }
        }
        if($url=='penguji1'){
            //jika sudah pernah ETTD Akan Dikembalikan Ke laman TTD Dengan error
            if($data->ttd_penguji1!='-'){
                return redirect()->route('layanan-wisuda.ettd',['url'=>$url, 'caseid'=>$caseid])->with(['error'=>'CaseID Ini Sudah Pernah Anda Tandatangani Pada '.$data->ttd_penguji1]);
            }
            //ambil data ETTD sesuai url
            $ttd = Mahasiswa::where('nim',$request->nim)->join('users as dosen_penguji1','mahasiswas.dosen_penguji1_id','=','dosen_penguji1.id')->first();
            //jika Belum Pernah maka TTD akan diproses
            if($ttd->ettd==$request->ettd){
                $data->ttd_penguji1 = Carbon::now();
                $data->save();
                $this->cekettd($caseid);
                return redirect()->route('monitoring.caseid',['caseid'=>$caseid])->with(['success'=>'Terimakasih Telah Melakukan Tanda Tangan Pada CaseID '.$caseid]);
            }
            //jika ETTD Tidak sesuai Akan Dikembalikan Ke laman TTD Dengan error
            else{
                return redirect()->route('layanan-wisuda.ettd',['url'=>$url, 'caseid'=>$caseid])->with(['error'=>'E-TTD Tidak Sesuai, Cek Kembali ETTD Anda']);
            }
        }
        if($url=='penguji2'){
            //jika sudah pernah ETTD Akan Dikembalikan Ke laman TTD Dengan error
            if($data->ttd_penguji2!='-'){
                return redirect()->route('layanan-wisuda.ettd',['url'=>$url, 'caseid'=>$caseid])->with(['error'=>'CaseID Ini Sudah Pernah Anda Tandatangani Pada '.$data->ttd_penguji2]);
            }
            //ambil data ETTD sesuai url
            $ttd = Mahasiswa::where('nim',$request->nim)->join('users as dosen_penguji2','mahasiswas.dosen_penguji2_id','=','dosen_penguji2.id')->first();
            //jika Belum Pernah maka TTD akan diproses
            if($ttd->ettd==$request->ettd){
                $data->ttd_penguji2 = Carbon::now();
                $data->save();
                $this->cekettd($caseid);
                return redirect()->route('monitoring.caseid',['caseid'=>$caseid])->with(['success'=>'Terimakasih Telah Melakukan Tanda Tangan Pada CaseID '.$caseid]);
            }
            //jika ETTD Tidak sesuai Akan Dikembalikan Ke laman TTD Dengan error
            else{
                return redirect()->route('layanan-wisuda.ettd',['url'=>$url, 'caseid'=>$caseid])->with(['error'=>'E-TTD Tidak Sesuai, Cek Kembali ETTD Anda']);
            }
        }
        if($url=='kalab'){
            if($request->user_ettd=='Kalab. Farmasi Klinik dan Komunitas'){
                //jika sudah pernah ETTD Akan Dikembalikan Ke laman TTD Dengan error
                if($data->ttd_kalab_farmasi_klinik_dan_komunitas!='-'){
                    return redirect()->route('layanan-wisuda.ettd',['url'=>$url, 'caseid'=>$caseid])->with(['error'=>'CaseID Ini Sudah Pernah Anda Tandatangani Pada '.$data->ttd_kalab_farmasi_klinik_dan_komunitas]);
                }
                //ambil data ETTD sesuai url
                $ttd = User::role($request->user_ettd)->first();
                //jika Belum Pernah maka TTD akan diproses
                if($ttd->ettd==$request->ettd){
                    $data->ttd_kalab_farmasi_klinik_dan_komunitas = Carbon::now();
                    $data->save();
                    $this->cekettd($caseid);
                    return redirect()->route('monitoring.caseid',['caseid'=>$caseid])->with(['success'=>'Terimakasih Telah Melakukan Tanda Tangan Pada CaseID '.$caseid]);
                }
                //jika ETTD Tidak sesuai Akan Dikembalikan Ke laman TTD Dengan error
                else{
                    return redirect()->route('layanan-wisuda.ettd',['url'=>$url, 'caseid'=>$caseid])->with(['error'=>'E-TTD Tidak Sesuai, Cek Kembali ETTD Anda']);
                }
            }
            elseif($request->user_ettd=='Kalab. Farmakologi dan Hewan Coba'){
                //jika sudah pernah ETTD Akan Dikembalikan Ke laman TTD Dengan error
                if($data->ttd_kalab_farmakologi_dan_hewan_coba!='-'){
                    return redirect()->route('layanan-wisuda.ettd',['url'=>$url, 'caseid'=>$caseid])->with(['error'=>'CaseID Ini Sudah Pernah Anda Tandatangani Pada '.$data->ttd_kalab_farmakologi_dan_hewan_coba]);
                }
                //ambil data ETTD sesuai url
                $ttd = User::role($request->user_ettd)->first();
                //jika Belum Pernah maka TTD akan diproses
                if($ttd->ettd==$request->ettd){
                    $data->ttd_kalab_farmakologi_dan_hewan_coba = Carbon::now();
                    $data->save();
                    $this->cekettd($caseid);
                    return redirect()->route('monitoring.caseid',['caseid'=>$caseid])->with(['success'=>'Terimakasih Telah Melakukan Tanda Tangan Pada CaseID '.$caseid]);
                }
                //jika ETTD Tidak sesuai Akan Dikembalikan Ke laman TTD Dengan error
                else{
                    return redirect()->route('layanan-wisuda.ettd',['url'=>$url, 'caseid'=>$caseid])->with(['error'=>'E-TTD Tidak Sesuai, Cek Kembali ETTD Anda']);
                }
            }
            elseif($request->user_ettd=='Kalab. Farmakognosi dan Fitokimia'){
                //jika sudah pernah ETTD Akan Dikembalikan Ke laman TTD Dengan error
                if($data->ttd_kalab_farmakognosi_dan_fitokimia!='-'){
                    return redirect()->route('layanan-wisuda.ettd',['url'=>$url, 'caseid'=>$caseid])->with(['error'=>'CaseID Ini Sudah Pernah Anda Tandatangani Pada '.$data->ttd_kalab_farmakognosi_dan_fitokimia]);
                }
                //ambil data ETTD sesuai url
                $ttd = User::role($request->user_ettd)->first();
                //jika Belum Pernah maka TTD akan diproses
                if($ttd->ettd==$request->ettd){
                    $data->ttd_kalab_farmakognosi_dan_fitokimia = Carbon::now();
                    $data->save();
                    $this->cekettd($caseid);
                    return redirect()->route('monitoring.caseid',['caseid'=>$caseid])->with(['success'=>'Terimakasih Telah Melakukan Tanda Tangan Pada CaseID '.$caseid]);
                }
                //jika ETTD Tidak sesuai Akan Dikembalikan Ke laman TTD Dengan error
                else{
                    return redirect()->route('layanan-wisuda.ettd',['url'=>$url, 'caseid'=>$caseid])->with(['error'=>'E-TTD Tidak Sesuai, Cek Kembali ETTD Anda']);
                }
            }
            elseif($request->user_ettd=='Kalab. Mikrobiologi dan Bioteknologi Farmasi'){
                //jika sudah pernah ETTD Akan Dikembalikan Ke laman TTD Dengan error
                if($data->ttd_kalab_mikrobiologi_dan_bioteknologi_farmasi!='-'){
                    return redirect()->route('layanan-wisuda.ettd',['url'=>$url, 'caseid'=>$caseid])->with(['error'=>'CaseID Ini Sudah Pernah Anda Tandatangani Pada '.$data->ttd_kalab_mikrobiologi_dan_bioteknologi_farmasi]);
                }
                //ambil data ETTD sesuai url
                $ttd = User::role($request->user_ettd)->first();
                //jika Belum Pernah maka TTD akan diproses
                if($ttd->ettd==$request->ettd){
                    $data->ttd_kalab_mikrobiologi_dan_bioteknologi_farmasi = Carbon::now();
                    $data->save();
                    $this->cekettd($caseid);
                    return redirect()->route('monitoring.caseid',['caseid'=>$caseid])->with(['success'=>'Terimakasih Telah Melakukan Tanda Tangan Pada CaseID '.$caseid]);
                }
                //jika ETTD Tidak sesuai Akan Dikembalikan Ke laman TTD Dengan error
                else{
                    return redirect()->route('layanan-wisuda.ettd',['url'=>$url, 'caseid'=>$caseid])->with(['error'=>'E-TTD Tidak Sesuai, Cek Kembali ETTD Anda']);
                }
            }
            elseif($request->user_ettd=='Kalab. Farmasetika'){
                //jika sudah pernah ETTD Akan Dikembalikan Ke laman TTD Dengan error
                if($data->ttd_kalab_farmasetika!='-'){
                    return redirect()->route('layanan-wisuda.ettd',['url'=>$url, 'caseid'=>$caseid])->with(['error'=>'CaseID Ini Sudah Pernah Anda Tandatangani Pada '.$data->ttd_kalab_farmasetika]);
                }
                //ambil data ETTD sesuai url
                $ttd = User::role($request->user_ettd)->first();
                //jika Belum Pernah maka TTD akan diproses
                if($ttd->ettd==$request->ettd){
                    $data->ttd_kalab_farmasetika = Carbon::now();
                    $data->save();
                    $this->cekettd($caseid);
                    return redirect()->route('monitoring.caseid',['caseid'=>$caseid])->with(['success'=>'Terimakasih Telah Melakukan Tanda Tangan Pada CaseID '.$caseid]);
                }
                //jika ETTD Tidak sesuai Akan Dikembalikan Ke laman TTD Dengan error
                else{
                    return redirect()->route('layanan-wisuda.ettd',['url'=>$url, 'caseid'=>$caseid])->with(['error'=>'E-TTD Tidak Sesuai, Cek Kembali ETTD Anda']);
                }
            }
            elseif($request->user_ettd=='Kalab. Teknologi Farmasi'){
                //jika sudah pernah ETTD Akan Dikembalikan Ke laman TTD Dengan error
                if($data->ttd_kalab_teknologi_farmasi!='-'){
                    return redirect()->route('layanan-wisuda.ettd',['url'=>$url, 'caseid'=>$caseid])->with(['error'=>'CaseID Ini Sudah Pernah Anda Tandatangani Pada '.$data->ttd_kalab_teknologi_farmasi]);
                }
                //ambil data ETTD sesuai url
                $ttd = User::role($request->user_ettd)->first();
                //jika Belum Pernah maka TTD akan diproses
                if($ttd->ettd==$request->ettd){
                    $data->ttd_kalab_teknologi_farmasi = Carbon::now();
                    $data->save();
                    $this->cekettd($caseid);
                    return redirect()->route('monitoring.caseid',['caseid'=>$caseid])->with(['success'=>'Terimakasih Telah Melakukan Tanda Tangan Pada CaseID '.$caseid]);
                }
                //jika ETTD Tidak sesuai Akan Dikembalikan Ke laman TTD Dengan error
                else{
                    return redirect()->route('layanan-wisuda.ettd',['url'=>$url, 'caseid'=>$caseid])->with(['error'=>'E-TTD Tidak Sesuai, Cek Kembali ETTD Anda']);
                }
            }
            elseif($request->user_ettd=='Kalab. Kimia Analisis'){
                //jika sudah pernah ETTD Akan Dikembalikan Ke laman TTD Dengan error
                if($data->ttd_kalab_kimia_analisis!='-'){
                    return redirect()->route('layanan-wisuda.ettd',['url'=>$url, 'caseid'=>$caseid])->with(['error'=>'CaseID Ini Sudah Pernah Anda Tandatangani Pada '.$data->ttd_kalab_kimia_analisis]);
                }
                //ambil data ETTD sesuai url
                $ttd = User::role($request->user_ettd)->first();
                //jika Belum Pernah maka TTD akan diproses
                if($ttd->ettd==$request->ettd){
                    $data->ttd_kalab_kimia_analisis = Carbon::now();
                    $data->save();
                    $this->cekettd($caseid);
                    return redirect()->route('monitoring.caseid',['caseid'=>$caseid])->with(['success'=>'Terimakasih Telah Melakukan Tanda Tangan Pada CaseID '.$caseid]);
                }
                //jika ETTD Tidak sesuai Akan Dikembalikan Ke laman TTD Dengan error
                else{
                    return redirect()->route('layanan-wisuda.ettd',['url'=>$url, 'caseid'=>$caseid])->with(['error'=>'E-TTD Tidak Sesuai, Cek Kembali ETTD Anda']);
                }
            }
            elseif($request->user_ettd=='Kalab. Kimia Medisinal'){
                //jika sudah pernah ETTD Akan Dikembalikan Ke laman TTD Dengan error
                if($data->ttd_kalab_kimia_medisinal!='-'){
                    return redirect()->route('layanan-wisuda.ettd',['url'=>$url, 'caseid'=>$caseid])->with(['error'=>'CaseID Ini Sudah Pernah Anda Tandatangani Pada '.$data->ttd_kalab_kimia_medisinal]);
                }
                //ambil data ETTD sesuai url
                $ttd = User::role($request->user_ettd)->first();
                //jika Belum Pernah maka TTD akan diproses
                if($ttd->ettd==$request->ettd){
                    $data->ttd_kalab_kimia_medisinal = Carbon::now();
                    $data->save();
                    $this->cekettd($caseid);
                    return redirect()->route('monitoring.caseid',['caseid'=>$caseid])->with(['success'=>'Terimakasih Telah Melakukan Tanda Tangan Pada CaseID '.$caseid]);
                }
                //jika ETTD Tidak sesuai Akan Dikembalikan Ke laman TTD Dengan error
                else{
                    return redirect()->route('layanan-wisuda.ettd',['url'=>$url, 'caseid'=>$caseid])->with(['error'=>'E-TTD Tidak Sesuai, Cek Kembali ETTD Anda']);
                }
            }
        }
        if($url=='skpi'){
            //jika sudah pernah ETTD Akan Dikembalikan Ke laman TTD Dengan error
            if($data->ttd_skpi!='-'){
                return redirect()->route('layanan-wisuda.ettd',['url'=>$url, 'caseid'=>$caseid])->with(['error'=>'CaseID Ini Sudah Pernah Anda Tandatangani Pada '.$data->ttd_skpi]);
            }
            //ambil data ETTD sesuai url
            $ttd = User::where('id',$request->user_ettd)->role('Pj. SKPI')->first();
            //jika Belum Pernah maka TTD akan diproses
            if($ttd->ettd==$request->ettd){
                $data->ttd_skpi = $ttd->nip.'_TTD_'.Carbon::now();
                $data->save();
                $this->cekettd($caseid);
                return redirect()->route('monitoring.caseid',['caseid'=>$caseid])->with(['success'=>'Terimakasih Telah Melakukan Tanda Tangan Pada CaseID '.$caseid]);
            }
            //jika ETTD Tidak sesuai Akan Dikembalikan Ke laman TTD Dengan error
            else{
                return redirect()->route('layanan-wisuda.ettd',['url'=>$url, 'caseid'=>$caseid])->with(['error'=>'E-TTD Tidak Sesuai, Cek Kembali ETTD Anda']);
            }
        }
        if($url=='ruangbaca'){
            //jika sudah pernah ETTD Akan Dikembalikan Ke laman TTD Dengan error
            if($data->ttd_ruang_baca!='-'){
                return redirect()->route('layanan-wisuda.ettd',['url'=>$url, 'caseid'=>$caseid])->with(['error'=>'CaseID Ini Sudah Pernah Anda Tandatangani Pada '.$data->ttd_ruang_baca]);
            }
            //ambil data ETTD sesuai url
            $ttd = User::role('Pj. Perpustakaan')->first();
            //jika Belum Pernah maka TTD akan diproses
            if($ttd->ettd==$request->ettd){
                $data->ttd_ruang_baca = Carbon::now();
                $data->save();
                $this->cekettd($caseid);
                return redirect()->route('monitoring.caseid',['caseid'=>$caseid])->with(['success'=>'Terimakasih Telah Melakukan Tanda Tangan Pada CaseID '.$caseid]);
            }
            //jika ETTD Tidak sesuai Akan Dikembalikan Ke laman TTD Dengan error
            else{
                return redirect()->route('layanan-wisuda.ettd',['url'=>$url, 'caseid'=>$caseid])->with(['error'=>'E-TTD Tidak Sesuai, Cek Kembali ETTD Anda']);
            }
        }
        if($url=='wakildekan1'){
            //jika sudah pernah ETTD Akan Dikembalikan Ke laman TTD Dengan error
            if($data->ttd_wakil_dekan_1!='-'){
                return redirect()->route('layanan-wisuda.ettd',['url'=>$url, 'caseid'=>$caseid])->with(['error'=>'CaseID Ini Sudah Pernah Anda Tandatangani Pada '.$data->ttd_wakil_dekan_1]);
            }
            //ambil data ETTD sesuai url
            $ttd = User::role('Wakil Dekan 1')->first();
            //jika Belum Pernah maka TTD akan diproses
            if($ttd->ettd==$request->ettd){
                $data->ttd_wakil_dekan_1 = Carbon::now();
                $data->save();
                $job = [
                    'jenis' => 'mahasiswa selesai',
                    'id' => $data->id,
                ];
                dispatch(new layananPengajuanWisudaJob($job));
                return redirect()->route('monitoring.caseid',['caseid'=>$caseid])->with(['success'=>'Terimakasih Telah Melakukan Tanda Tangan Pada CaseID '.$caseid]);
            }
            //jika ETTD Tidak sesuai Akan Dikembalikan Ke laman TTD Dengan error
            else{
                return redirect()->route('layanan-wisuda.ettd',['url'=>$url, 'caseid'=>$caseid])->with(['error'=>'E-TTD Tidak Sesuai, Cek Kembali ETTD Anda']);
            }
        }
    }
}

public function resend(){
    $role_untuk_ettd = ['dpu','dpa','penguji1','penguji2','skpi','kalab','ruangbaca','wakildekan1'];
    $data = PengajuanWisuda::where('caseid','!=','-')
    ->select('pengajuan_wisudas.*','mahasiswas.nama')
    ->join('mahasiswas','mahasiswas.id','=','mahasiswas_id')
    ->get();
    return view('layanan-wisuda.resend',['title' => 'Pengajuan Syarat Wisuda | Admin Dashboard','data'=> $data,'role' => $role_untuk_ettd]);
}

public function resendsubmit(Request $request){
    $data  = [
        'jenis' => $request->jenis,
        'id' => $request->caseid,
    ];
    dispatch(new layananPengajuanWisudaJob($data));
    return redirect()->route('layanan-wisuda.resend')->with('success','Berhasil Kirim Ulang Email ke '.$request->jenis);
}

public function cetak($caseid){
    $cek_status = PengajuanWisuda::where('caseid', $caseid)->select('ttd_wakil_dekan_1', 'created_at')->first();
    if($cek_status->ttd_wakil_dekan_1 >= $cek_status->created_at){
        $data = PengajuanWisuda::where('caseid',$caseid)
        ->select(
            'pengajuan_wisudas.*',
            'mahasiswas.nim',
            'mahasiswas.nama',
            'mahasiswas.judul_skripsi_id',
            'dosen_dpu.nama_gelar as dosen_dpu_nama_gelar',
            'dosen_dpa.nama_gelar as dosen_dpa_nama_gelar',
            'dosen_penguji1.nama_gelar as dosen_penguji1_nama_gelar',
            'dosen_penguji2.nama_gelar as dosen_penguji2_nama_gelar',
            'dosen_dpu.nip as dosen_dpu_nip',
            'dosen_dpa.nip as dosen_dpa_nip',
            'dosen_penguji1.nip as dosen_penguji1_nip',
            'dosen_penguji2.nip as dosen_penguji2_nip',
            )
        ->join('mahasiswas','mahasiswas_id','=','mahasiswas.id')
        ->join('users as dosen_dpu','mahasiswas.dosen_dpu_id','=','dosen_dpu.id')
        ->join('users as dosen_dpa','mahasiswas.dosen_dpa_id','=','dosen_dpa.id')
        ->join('users as dosen_penguji1','mahasiswas.dosen_penguji1_id','=','dosen_penguji1.id')
        ->join('users as dosen_penguji2','mahasiswas.dosen_penguji2_id','=','dosen_penguji2.id')
        ->first();
        
        $data_ruang_baca = User::role('Pj. Perpustakaan')->first();
        $data_kalab_farmasi_klinik_dan_komunikasi = User::role('Kalab. Farmasi Klinik dan Komunitas')->first();
        $data_kalab_farmakologi_dan_hewan_coba = User::role('Kalab. Farmakologi dan Hewan Coba')->first();
        $data_kalab_farmakognosi_dan_fitokimia = User::role('Kalab. Farmakognosi dan Fitokimia')->first();
        $data_kalab_mikrobiologi_dan_bioteknologi_farmasi = User::role('Kalab. Mikrobiologi dan Bioteknologi Farmasi')->first();
        $data_kalab_farmasetika = User::role('Kalab. Farmasetika')->first();
        $data_kalab_teknologi_farmasi = User::role('Kalab. Teknologi Farmasi')->first();
        $data_kalab_kimia_analisis = User::role('Kalab. Kimia Analisis')->first();
        $data_kalab_kimia_medisinal = User::role('Kalab. Kimia Medisinal')->first();

        $user_skpi = explode('_',$data->ttd_skpi);
        $data_skpi = User::where('nip',$user_skpi[0])->first();
        
        $data_wakil_dekan_1 = User::role('Wakil Dekan 1')->first();
        
        $data_pdf = [
            'title' => $caseid,
            'nama_mahasiswa'=> $data->nama,
            'nim'=> $data->nim,
            'judul_skripsi'=> $data->judul_skripsi_id,
            'date'  => $data->updated_at->format('d-m-Y'),
            //ruang baca
            'ruang_baca_nama' => $data_ruang_baca->nama_gelar,
            'ruang_baca_nip' => $data_ruang_baca->nip,
            'ruang_baca_qrcode' => base64_encode(QrCode::size(100)->generate($data_ruang_baca->nama_gelar.'_TTD_'.$data->ttd_ruang_baca)),
            //kalab fkk
            'kalab_farmasi_klinik_dan_komunikasi_nama' => $data_kalab_farmasi_klinik_dan_komunikasi->nama_gelar,
            'kalab_farmasi_klinik_dan_komunikasi_nip' => $data_kalab_farmasi_klinik_dan_komunikasi->nip,
            'kalab_farmasi_klinik_dan_komunikasi_qrcode' => base64_encode(QrCode::size(75)->generate($data_kalab_farmasi_klinik_dan_komunikasi->nama_gelar.'_TTD_'.$data->ttd_kalab_farmasi_klinik_dan_komunikasi)),
            //kalab farmakologi
            'kalab_farmakologi_dan_hewan_coba_nama' => $data_kalab_farmakologi_dan_hewan_coba->nama_gelar,
            'kalab_farmakologi_dan_hewan_coba_nip' => $data_kalab_farmakologi_dan_hewan_coba->nip,
            'kalab_farmakologi_dan_hewan_coba_qrcode' => base64_encode(QrCode::size(75)->generate($data_kalab_farmakologi_dan_hewan_coba->nama_gelar.'_TTD_'.$data->ttd_kalab_farmakologi_dan_hewan_coba)),
            //kalab farmakognosi
            'kalab_farmakognosi_dan_fitokimia_nama' => $data_kalab_farmakognosi_dan_fitokimia->nama_gelar,
            'kalab_farmakognosi_dan_fitokimia_nip' => $data_kalab_farmakognosi_dan_fitokimia->nip,
            'kalab_farmakognosi_dan_fitokimia_qrcode' => base64_encode(QrCode::size(75)->generate($data_kalab_farmakognosi_dan_fitokimia->nama_gelar.'_TTD_'.$data->ttd_kalab_farmakognosi_dan_fitokimia)),
            //kalab Mikrobiologi dan Bioteknologi Farmasi
            'kalab_mikrobiologi_dan_bioteknologi_farmasi_nama' => $data_kalab_mikrobiologi_dan_bioteknologi_farmasi->nama_gelar,
            'kalab_mikrobiologi_dan_bioteknologi_farmasi_nip' => $data_kalab_mikrobiologi_dan_bioteknologi_farmasi->nip,
            'kalab_mikrobiologi_dan_bioteknologi_farmasi_qrcode' => base64_encode(QrCode::size(75)->generate($data_kalab_mikrobiologi_dan_bioteknologi_farmasi->nama_gelar.'_TTD_'.$data->ttd_kalab_mikrobiologi_dan_bioteknologi_farmasi)),
            //kalab Farmasetika
            'kalab_farmasetika_nama' => $data_kalab_farmasetika->nama_gelar,
            'kalab_farmasetika_nip' => $data_kalab_farmasetika->nip,
            'kalab_farmasetika_qrcode' => base64_encode(QrCode::size(75)->generate($data_kalab_farmasetika->nama_gelar.'_TTD_'.$data->ttd_kalab_farmasetika)),
            //kalab Teknologi Farmasi
            'kalab_teknologi_farmasi_nama' => $data_kalab_teknologi_farmasi->nama_gelar,
            'kalab_teknologi_farmasi_nip' => $data_kalab_teknologi_farmasi->nip,
            'kalab_teknologi_farmasi_qrcode' => base64_encode(QrCode::size(75)->generate($data_kalab_teknologi_farmasi->nama_gelar.'_TTD_'.$data->ttd_kalab_teknologi_farmasi)),
            //kalab Kimia Analisis
            'kalab_kimia_analisis_nama' => $data_kalab_kimia_analisis->nama_gelar,
            'kalab_kimia_analisis_nip' => $data_kalab_kimia_analisis->nip,
            'kalab_kimia_analisis_qrcode' => base64_encode(QrCode::size(75)->generate($data_kalab_kimia_analisis->nama_gelar.'_TTD_'.$data->ttd_kalab_kimia_analisis)),
            //kalab Kimia Medisinal
            'kalab_kimia_medisinal_nama' => $data_kalab_kimia_medisinal->nama_gelar,
            'kalab_kimia_medisinal_nip' => $data_kalab_kimia_medisinal->nip,
            'kalab_kimia_medisinal_qrcode' => base64_encode(QrCode::size(75)->generate($data_kalab_kimia_medisinal->nama_gelar.'_TTD_'.$data->ttd_kalab_kimia_medisinal)),
            //kalab Kimia Medisinal
            'skpi_nama' => $data_skpi->nama_gelar,
            'skpi_nip' => $data_skpi->nip,
            'skpi_qrcode' => base64_encode(QrCode::size(75)->generate($data->ttd_kalab_kimia_medisinal)),
            //Wakil Dekan 1
            'wakil_dekan_1_nama' => $data_wakil_dekan_1->nama_gelar,
            'wakil_dekan_1_nip' => $data_wakil_dekan_1->nip,
            'wakil_dekan_1_qrcode' => base64_encode(QrCode::size(75)->generate($data_wakil_dekan_1->nama_gelar.'_TTD_'.$data->ttd_wakil_dekan_1)),
            //dosen dpu
            'dosen_dpu_nama' => $data->dosen_dpu_nama_gelar,
            'dosen_dpu_nip' => $data->dosen_dpu_nip,
            'dosen_dpu_qrcode' => base64_encode(QrCode::size(75)->generate($data->dosen_dpu_nama_gelar.'_TTD_'.$data->ttd_wakil_dekan_1)),
            //dosen dpa
            'dosen_dpa_nama' => $data->dosen_dpa_nama_gelar,
            'dosen_dpa_nip' => $data->dosen_dpa_nip,
            'dosen_dpa_qrcode' => base64_encode(QrCode::size(75)->generate($data->dosen_dpa_nama_gelar.'_TTD_'.$data->ttd_wakil_dekan_1)),
            //dosen penguji1
            'dosen_penguji1_nama' => $data->dosen_penguji1_nama_gelar,
            'dosen_penguji1_nip' => $data->dosen_penguji1_nip,
            'dosen_penguji1_qrcode' => base64_encode(QrCode::size(75)->generate($data->dosen_penguji1_nama_gelar.'_TTD_'.$data->ttd_wakil_dekan_1)),
            //dosen penguji2
            'dosen_penguji2_nama' => $data->dosen_penguji2_nama_gelar,
            'dosen_penguji2_nip' => $data->dosen_penguji2_nip,
            'dosen_penguji2_qrcode' => base64_encode(QrCode::size(75)->generate($data->dosen_penguji2_nama_gelar.'_TTD_'.$data->ttd_wakil_dekan_1)),
            //operator
            'operator_qrcode' => base64_encode(QrCode::size(75)->generate($data_wakil_dekan_1->nama_gelar.'_TTD_'.$data->ttd_wakil_dekan_1)),
        ];
        $pdf = Pdf::loadView('layanan-wisuda.cetak', $data_pdf);
        return $pdf->setPaper('a4', 'potrait')->download($caseid.'-Persetujuan Yudisium.pdf');
    }
    return 'Case ID Belum di Tanda Tangan oleh seluruh komponen';
}

public function cekettd($caseid){
    $status = PengajuanWisuda::where('caseid',$caseid)
    ->first();
    if($status->ttd_dpu!='-' && 
    $status->ttd_dpa!='-' && 
    $status->ttd_penguji1!='-' && 
    $status->ttd_penguji2!='-' && 
    $status->ttd_kalab_farmasi_klinik_dan_komunitas!='-' && 
    $status->ttd_kalab_farmakologi_dan_hewan_coba!='-' && 
    $status->ttd_kalab_farmakognosi_dan_fitokimia!='-' && 
    $status->ttd_kalab_mikrobiologi_dan_bioteknologi_farmasi!='-' && 
    $status->ttd_kalab_farmasetika!='-' && 
    $status->ttd_kalab_teknologi_farmasi!='-' && 
    $status->ttd_kalab_kimia_analisis!='-' &&
    $status->ttd_kalab_kimia_medisinal!='-' &&
    $status->ttd_ruang_baca!='-' &&
    $status->ttd_skpi!='-' ){
        $data = [
            'jenis' => 'wakildekan1',
            'id' => $status->id,
        ];
        dispatch(new layananPengajuanWisudaJob($data));
    }

}
}