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','!=','-')->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)); } } }