diff --git a/app/Http/Controllers/AdminController.php b/app/Http/Controllers/AdminController.php
index c599e76..384ca2d 100644
--- a/app/Http/Controllers/AdminController.php
+++ b/app/Http/Controllers/AdminController.php
@@ -2,6 +2,7 @@
namespace App\Http\Controllers;
+use App\Models\PengajuanDpuDpa;
use Illuminate\Http\Request;
@@ -9,7 +10,8 @@ class AdminController extends Controller
{
public function index(){
- return view('admin.index',['title'=> 'Admin Dashboard']);
+ $layanan_dpudpa = PengajuanDpuDpa::count();
+ return view('admin.index',['title'=> 'Admin Dashboard', 'layanan_dpudpa'=>$layanan_dpudpa]);
}
diff --git a/app/Http/Controllers/LayananPengajuanDpuDpaController.php b/app/Http/Controllers/LayananPengajuanDpuDpaController.php
index 342adf0..626402e 100644
--- a/app/Http/Controllers/LayananPengajuanDpuDpaController.php
+++ b/app/Http/Controllers/LayananPengajuanDpuDpaController.php
@@ -2,15 +2,26 @@
namespace App\Http\Controllers;
+use App\Jobs\layananPengajuanDpuDpaJob;
+
+use App\Models\Bagian;
use App\Models\Mahasiswa;
use App\Models\PengajuanDpuDpa;
use App\Models\User;
+
+use Barryvdh\DomPDF\Facade\Pdf;
+use Carbon\Carbon;
+
use Illuminate\Http\Request;
+
use Illuminate\Support\Facades\Storage;
+use SimpleSoftwareIO\QrCode\Facades\QrCode;
+use Spatie\Permission\Models\Role;
class LayananPengajuanDpuDpaController extends Controller
{
+//done
public function index(){
$data = PengajuanDpuDpa::
select('pengajuan_dpu_dpas.*',
@@ -25,10 +36,55 @@ public function index(){
->get();
return view('layanan-dpudpa.index',['title' => 'Pengajuan DPU/DPA | Admin Dashboard','data' => $data]);
}
+//done
public function tambah(){
$dosen = User::role('Dosen')->get();
- return view('layanan-dpudpa.tambah',['dosen'=>$dosen]);
+ $bagian = Bagian::select('id', 'nama_bagian')->get();
+ return view('layanan-dpudpa.tambah',['dosen'=>$dosen, 'bagian'=>$bagian]);
}
+
+//done
+public function terima(Request $request){
+ $id = $request->id;
+ $countcaseid = PengajuanDpuDpa::where('ttd_operator','!=','-')->count();
+ $caseid = "LS".date_format(date_create(),"ym").$countcaseid+1;
+
+ $cekData = PengajuanDpuDpa::where('caseid',$caseid)->first();
+ $data = PengajuanDpuDpa::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-dpudpa.index')->with('error','Gagal simpan Data, Cek kembali Detail Data yang akan diterima');
+ }
+ //save CASEID dan kirim email
+
+ $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,
+ ],
+ ];
+ foreach($data_job as $item){
+ dispatch(new layananPengajuanDpuDpaJob($item));
+ }
+ return redirect()->route('layanan-dpudpa.index')->with('success','Data Berhasil Disimpan, Email Akan Dikirimkan ke Mahasiswa, DPU dan DPA');
+ }
+
+}
+
+//done
public function store(Request $request){
$request->validate([
@@ -52,41 +108,257 @@ public function store(Request $request){
'file_transkrip.mimes'=>'Format File Bukan PDF, Cek Ulang file anda',
'file_transkrip.max'=>'Ukuran File Anda lebih dari 4Mb, Cek Ulang File anda',
]);
+ //Cek Apakah Data Mahasiswa Tersebut sudah ada, jika ada maka diminta untuk menggunakan fitur cari
+ $mahasiswas_id = Mahasiswa::where('nim',$request->nim)->first();
+ if(!is_null($mahasiswas_id)){
+ return redirect()->route('layanan-dpudpa.tambah')->with('error','Data Anda Sudah Ada, Gunakan Fitur Cari');
+ }
+ $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'] = $request->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'] = 1;
+ $data_mhs['dosen_penguji2_id'] = 1;
+ $data_mhs['judul_skripsi_id'] = '-';
+ $data_mhs['judul_skripsi_en'] = '-';
+ $data_mhs['judul_jurnal'] = '-';
+ $data_mhs['judul_artikel'] = '-';
+
+ //set penyimpanan file
$file_transkrip = $request->file('file_transkrip');
$file_transkrip_name = 'LS_'.str_replace(' ', '_',$file_transkrip->getClientOriginalName());
$path = $request->nim.'/'.$file_transkrip_name;
- //jika berhasil save file maka data mhs akan disimpan, dan pengajuan akan diisi
- if(Storage::disk('public')->put($path, file_get_contents($file_transkrip))){
-
- $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'] = $request->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 -
- $data_mhs['dosen_penguji1_id'] = 1;
- $data_mhs['dosen_penguji2_id'] = 1;
- $data_mhs['judul_skripsi_id'] = '-';
- $data_mhs['judul_skripsi_en'] = '-';
- $data_mhs['judul_jurnal'] = '-';
- $data_mhs['judul_artikel'] = '-';
-
-
- if(Mahasiswa::create($data_mhs)){
- $mahasiswas_id = Mahasiswa::where('nim',$request->nim)->first();
- $data_dpudpa['mahasiswas_id'] = $mahasiswas_id->id;
- $data_dpudpa['bukti_transkrip_nilai'] = $file_transkrip_name;
- PengajuanDpuDpa::create($data_dpudpa);
- return redirect()->route('layanan-dpudpa.tambah')->with('success','Sukses Tambah Data, Silahkan Menunggu Email Konfirmasi setelah disetujui Oleh Operator');
- }
- return redirect()->route('layanan-dpudpa.tambah')->with('error','Gagal Tambah data, Cek kembali data yang anda masukkan');
+ //jika berhasil save file dan save data mhs maka pengajuan akan diisi
+ if(Storage::disk('public')->put($path, file_get_contents($file_transkrip)) && Mahasiswa::create($data_mhs)){
+ $mahasiswas_id = Mahasiswa::where('nim',$request->nim)->first();
+ $data_dpudpa['mahasiswas_id'] = $mahasiswas_id->id;
+ $data_dpudpa['bukti_transkrip_nilai'] = $file_transkrip_name;
+ PengajuanDpuDpa::create($data_dpudpa);
+ return redirect()->route('layanan-dpudpa.tambah')->with('success','Sukses Tambah Data, Silahkan Menunggu Email Konfirmasi setelah disetujui Oleh Operator');
+ }
+ return redirect()->route('layanan-dpudpa.tambah')->with('error','Gagal Tambah data, Cek kembali data yang anda masukkan');
+}
+
+//done
+public function destroy(Request $request){
+ $id = $request->id;
+ //cari data dan kirim notif sebelum dihapus
+ $data = PengajuanDpuDpa::where('pengajuan_dpu_dpas.id',$id)
+ ->join('mahasiswas','mahasiswas_id','=','mahasiswas.id')
+ ->first();
+ $data_job = [
+ 'jenis' => 'penolakan',
+ 'nama' => $data->nama,
+ 'email' => $data->email,
+ 'created_at' => $data->created_at,
+ 'alasan' => $request->alasan,
+ ];
+ $path = $data->nim."/".$data->bukti_transkrip_nilai;
+ //hapus file yang diupload mahasiswa
+ if(Storage::disk('public')->exists($path)){
+ Storage::disk('public')->delete($path);
+ //hapus data pengajuan mahasiswa
+ return redirect()->route('layanan-dpudpa.index')->with('error','Gagal Hapus Data, File Mahasiswa Yang akan dihapus tidak ditemukan');
+ }
+ $dataDelete = PengajuanDpuDpa::findOrFail($id);
+
+ //kirim notifikasi jika data berhasil dihapus
+ if($dataDelete->delete()){
+ dispatch(new layananPengajuanDpuDpaJob($data_job));
+ return redirect()->route('layanan-dpudpa.index')->with('success','Permintaan Sudah Diproses, Email akan segera dikirim ke penerima');
+ }
+ return redirect()->route('layanan-dpudpa.index')->with('error','Gagal Hapus Data, coba cek data yang akan dihapus lalu coba lagi!');
+}
+
+//done
+public function ettd($url, $caseid){
+ $role_untuk_ettd = ['dpu','dpa','kombi'];
+ $data = PengajuanDpuDpa::where('caseid','=',$caseid)
+ ->select('pengajuan_dpu_dpas.id',
+ 'pengajuan_dpu_dpas.caseid',
+ 'mahasiswas.nama',
+ 'mahasiswas.nim',
+ 'mahasiswas.judul_seminar_proposal',
+ 'dosen_dpu.nama_gelar as dosen_dpu_nama_gelar',
+ 'dosen_dpa.nama_gelar as dosen_dpa_nama_gelar',
+ )
+ ->join('mahasiswas','pengajuan_dpu_dpas.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')
+ ->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-dpudpa.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-dpudpa.ettd',['title'=> 'INPUT E-Signature','jenis'=>$jenis,'data'=> $data]);
+ }
+ //jika URL Kombi maka render ini
+ elseif($url=='kombi'){
+ $jenis = 'Komisi Bimbingan';
+ $kombiRole = Role::findByName('Ketua Kombi')->users;
+ $dataKombi = [
+ 'caseid' => $data->caseid,
+ 'nama' => $data->nama,
+ 'nim' => $data->nim,
+ 'judul_seminar_proposal' => $data->judul_seminar_proposal,
+ 'dosen_kombi_nama_gelar' => $kombiRole[0]->nama_gelar,
+
+ ];
+ $jenis = 'Komisi Bimbingan';
+ return view('layanan-dpudpa.ettd',['title'=> 'INPUT E-Signature','jenis'=>$jenis,'data'=> $dataKombi]);
+ }
+ }
+ //jika URL tidak diantara ketika itu maka render ini
+ return redirect()->route('laman-awal')->with(['error'=>'Invalid CASEID, Atau CaseID Tidak Ditemukan']);
+
+}
+
+//done
+public function submitettd($url, $caseid, Request $request){
+ $role_untuk_ettd = ['dpu','dpa','kombi'];
+ $data = PengajuanDpuDpa::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-dpudpa.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->cek_dpa_dpu($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-dpudpa.ettd',['url'=>$url, 'caseid'=>$caseid])->with(['error'=>'E-TTD Tidak Sesuai, Cek Kembali ETTD Anda']);
+ }
+ }
+ //jika URL DPa maka render ini
+ if($url=='dpa'){
+ //jika sudah pernah ETTD Akan Dikembalikan Ke laman TTD Dengan error
+ if($data->ttd_dpa!='-'){
+ return redirect()->route('layanan-dpudpa.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->cek_dpa_dpu($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-dpudpa.ettd',['url'=>$url, 'caseid'=>$caseid])->with(['error'=>'E-TTD Tidak Sesuai, Cek Kembali ETTD Anda']);
+ }
+ }
+ //jika URL Kombi maka render ini
+ if($url=='kombi'){
+ //jika sudah pernah ETTD Akan Dikembalikan Ke laman TTD Dengan error
+ if($data->ttd_kombi!='-'){
+ return redirect()->route('layanan-dpudpa.ettd',['url'=>$url, 'caseid'=>$caseid])->with(['error'=>'CaseID Ini Sudah Pernah Anda Tandatangani Pada '.$data->ttd_kombi]);
+ }
+ if($data->ttd_dpu=='-' && $data->ttd_dpa =='-'){
+ return redirect()->route('layanan-dpudpa.ettd',['url'=>$url, 'caseid'=>$caseid])->with(['error'=>'DPU atau DPA Belum Tanda Tangan Pada CaseID ini']);
+ }
+ //ambil data ETTD sesuai url
+ $ttd = Role::findByName('Ketua Kombi')->users;
+ //jika Belum Pernah maka TTD akan diproses
+ if($ttd[0]->ettd==$request->ettd){
+ $data->ttd_kombi = Carbon::now();
+ $data->save();
+ $data = [
+ 'jenis' => 'mahasiswa selesai',
+ 'id' => $data->id,
+ ];
+ dispatch(new layananPengajuanDpuDpaJob($data));
+ 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-dpudpa.ettd',['url'=>$url, 'caseid'=>$caseid])->with(['error'=>'E-TTD Tidak Sesuai, Cek Kembali ETTD Anda']);
+ }
+ }
+ }
+}
+
+//done
+public function cetak($caseid){
+ $get_data = PengajuanDpuDpa::where('caseid',$caseid)->first();
+ if($get_data->ttd_kombi=='-'){
+ return redirect()->route('monitoring.caseid',['caseid'=>$caseid])->with('error','Data Belum Di TandaTangani Oleh Dosen Kombi, File Bisa didownload ketika Dosen Kombi sudah tanda tangan!');
+ }
+ //get Data Mahasiswa, DPU dan DPA
+ $data_dpu_dpa = PengajuanDpuDpa::where('caseid', $caseid)
+ ->select(
+ 'pengajuan_dpu_dpas.*',
+ 'mahasiswas.nim',
+ 'mahasiswas.nama',
+ 'bagians.nama_bagian',
+ 'mahasiswas.judul_seminar_proposal',
+ 'dosen_dpu.nama_gelar as dosen_dpu_nama_gelar',
+ 'dosen_dpu.nip as dosen_dpu_nip',
+ 'dosen_dpa.nama_gelar as dosen_dpa_nama_gelar',
+ 'dosen_dpa.nip as dosen_dpa_nip',
+ )
+ ->join('mahasiswas','mahasiswas_id','=','mahasiswas.id')
+ ->join('bagians','mahasiswas.bagian','=','bagians.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')
+ ->first();
+ //get Data Kombi
+ $data_kombi = Role::findByName('Ketua Kombi')->users;
+ $data = [
+ 'title' => 'Cetak Kesediaan',
+ // 'date' => Carbon::now()->format('d-m-Y'),
+ 'date' => $data_dpu_dpa->created_at->format('d-m-Y'),
+ 'nama_mahasiswa' => $data_dpu_dpa->nama,
+ 'nim' => $data_dpu_dpa->nim,
+ 'bagian' => $data_dpu_dpa->nama_bagian,
+ 'judul_skripsi' => $data_dpu_dpa->judul_seminar_proposal,
+ 'dosen_dpu_nama_gelar' => $data_dpu_dpa->dosen_dpu_nama_gelar,
+ 'dosen_dpu_nip' => $data_dpu_dpa->dosen_dpu_nip,
+ 'dosen_dpu_qrcode' => base64_encode(QrCode::size(100)->generate($data_dpu_dpa->dosen_dpu_nama_gelar.'_TTD_'.$data_dpu_dpa->ttd_dpu)),
+ 'dosen_dpa_nama_gelar' => $data_dpu_dpa->dosen_dpa_nama_gelar,
+ 'dosen_dpa_nip' => $data_dpu_dpa->dosen_dpa_nama_gelar,
+ 'dosen_dpa_qrcode' => base64_encode(QrCode::size(100)->generate($data_dpu_dpa->dosen_dpa_nama_gelar.'_TTD_'.$data_dpu_dpa->ttd_dpa)),
+ 'dosen_kombi_nama_gelar' => $data_kombi[0]->nama_gelar,
+ 'dosen_kombi_nip' => $data_kombi[0]->nip,
+ 'dosen_kombi_qrcode' => base64_encode(QrCode::size(100)->generate($data_kombi[0]->nama_gelar.'_TTD_'.$data_dpu_dpa->ttd_kombi)),
+ ];
+ $pdf = Pdf::loadView('layanan-dpudpa.cetak', $data);
+ return $pdf->setPaper('a4', 'potrait')->stream($caseid.'-Kesediaan Menjadi Dosen Pembimbing Tugas Akhir');
+}
+
+//cek apakah DPU dan DPU sudah Tanda tangan, jika sudah maka akan mengirim notifikasi ke Kombi
+private function cek_dpa_dpu($caseid){
+ $status = PengajuanDpuDpa::where('caseid',$caseid)
+ ->select('id','ttd_dpu','ttd_dpa')
+ ->first();
+ if($status->ttd_dpu!='-' && $status->ttd_dpa!='-'){
+ $data = [
+ 'jenis' => 'kombi',
+ 'id' => $status->id,
+ ];
+ dispatch(new layananPengajuanDpuDpaJob($data));
}
- return redirect()->route('layanan-dpudpa.tambah')->with('error','Gagal Tambah data, Cek kembali data yang anda masukkan');
}
}
diff --git a/app/Http/Controllers/LayananSeminarProposal.php b/app/Http/Controllers/LayananSeminarProposal.php
new file mode 100644
index 0000000..679ec74
--- /dev/null
+++ b/app/Http/Controllers/LayananSeminarProposal.php
@@ -0,0 +1,369 @@
+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')
+ ->get();
+ return view('layanan-sempro.index',['title' => 'Pengajuan Seminar Proposal | Admin Dashboard','data' => $data]);
+}
+
+//done
+public function tambah(){
+ //ambil data dosen, dan laboratorium
+ $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-sempro.tambah',['dosen'=>$dosen, 'bagian'=>$bagian,'data_mahasiswa'=>$data_mahasiswa]);
+ }
+ return view('layanan-sempro.tambah',['dosen'=>$dosen, 'bagian'=>$bagian]);
+}
+//done
+public function cari(){
+ return view('layanan-sempro.cari',['title'=>'Cari Data Mahasiswa Untuk Keperluan Pengajuan Seminar Proposal']);
+}
+//done
+public function search(Request $request){
+ $data = Mahasiswa::where('nim',$request->nim)->first();
+ if($data==null){
+ return redirect()->route('layanan-sempro.tambah')->with('error','NIM Tidak Ditemukan, Gunakan Fitur Tambah');
+ }
+ return redirect()->route('layanan-sempro.tambah')->with('mahasiswas_id',$data->id);
+}
+
+//done
+public function store(Request $request){
+
+ $request->validate([
+ 'nim'=>'required|numeric',
+ 'nama'=>'required',
+ 'nomor_hp'=>'required|numeric',
+ 'email'=>'required|email',
+ 'judul_seminar_proposal'=>'required',
+ 'bagian'=>'required|numeric',
+ 'dosen_dpu'=>'required|numeric',
+ 'dosen_dpa'=>'required|numeric',
+ 'dosen_penguji1'=>'required|numeric',
+ 'dosen_penguji2'=>'required|numeric',
+ 'nilai_plagiasi'=>'required|numeric',
+ 'bukti_hadir_sempro' => 'required|mimes:pdf|max:4096',
+ 'bukti_turnitin' => 'required|mimes:pdf|max:4096',
+ 'bukti_sister' => 'required|mimes:pdf|max:4096',
+ 'bukti_lembar_monitoring' => 'required|mimes:pdf|max:4096',
+ 'bukti_naskah_dosen_pembimbing' => 'required|mimes:pdf|max:4096',
+ 'bukti_naskah_dosen_penguji' => 'required|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',
+ 'nilai_plagiasi.numeric'=>'Masukkan Nilai Plagiasi Berupa Angka saja',
+ ]);
+
+ //olah file
+ $bukti_hadir_sempro = $request->file('bukti_hadir_sempro');
+ $bukti_turnitin = $request->file('bukti_turnitin');
+ $bukti_sister = $request->file('bukti_sister');
+ $bukti_lembar_monitoring = $request->file('bukti_lembar_monitoring');
+ $bukti_naskah_dosen_pembimbing = $request->file('bukti_naskah_dosen_pembimbing');
+ $bukti_naskah_dosen_penguji = $request->file('bukti_naskah_dosen_penguji');
+ //beri nama tiap file
+ $bukti_hadir_sempro_name= 'LP_1'.str_replace(' ', '_',$bukti_hadir_sempro->getClientOriginalName());
+ $bukti_turnitin_name = 'LP_2'.str_replace(' ', '_',$bukti_turnitin->getClientOriginalName());
+ $bukti_sister_name = 'LP_3'.str_replace(' ', '_',$bukti_sister->getClientOriginalName());
+ $bukti_lembar_monitoring_name = 'LP_4'.str_replace(' ', '_',$bukti_lembar_monitoring->getClientOriginalName());
+ $bukti_naskah_dosen_pembimbing_name = 'LP_5'.str_replace(' ', '_',$bukti_naskah_dosen_pembimbing->getClientOriginalName());
+ $bukti_naskah_dosen_penguji_name = 'LP_6'.str_replace(' ', '_',$bukti_naskah_dosen_penguji->getClientOriginalName());
+
+ //cek apakah data mahasiswa ada, jika ada maka dikembalikan dan dianjurkan menggunakan fitur cari
+ $mahasiswa = Mahasiswa::where('nim',$request->nim)->first();
+ if(!is_null($mahasiswa) && $request->status!="ada"){
+ return redirect()->route('layanan-sempro.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_sempro['mahasiswas_id'] = $mahasiswas_id;
+ $data_sempro['nilai_plagiasi'] = $request->nilai_plagiasi;
+ $data_sempro['bukti_hadir_sempro'] = $bukti_hadir_sempro_name;
+ $data_sempro['bukti_turnitin'] = $bukti_turnitin_name;
+ $data_sempro['bukti_sister'] = $bukti_sister_name;
+ $data_sempro['bukti_lembar_monitoring'] = $bukti_lembar_monitoring_name;
+ $data_sempro['bukti_naskah_dosen_pembimbing'] = $bukti_naskah_dosen_pembimbing_name;
+ $data_sempro['bukti_naskah_dosen_penguji'] = $bukti_naskah_dosen_penguji_name;
+ PengajuanSempro::create($data_sempro);
+
+ Storage::disk('public')->put($request->nim.'/'.$bukti_hadir_sempro_name, file_get_contents($bukti_hadir_sempro));
+ Storage::disk('public')->put($request->nim.'/'.$bukti_turnitin_name, file_get_contents($bukti_turnitin));
+ Storage::disk('public')->put($request->nim.'/'.$bukti_sister_name, file_get_contents($bukti_sister));
+ Storage::disk('public')->put($request->nim.'/'.$bukti_lembar_monitoring_name, file_get_contents($bukti_lembar_monitoring));
+ Storage::disk('public')->put($request->nim.'/'.$bukti_naskah_dosen_pembimbing_name, file_get_contents($bukti_naskah_dosen_pembimbing));
+ Storage::disk('public')->put($request->nim.'/'.$bukti_naskah_dosen_penguji_name, file_get_contents($bukti_naskah_dosen_penguji));
+ return redirect()->route('layanan-sempro.tambah')->with('success','Sukses Tambah Data, Silahkan Menunggu Email Konfirmasi setelah disetujui Oleh Operator');
+ }
+
+ $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'] = $request->judul_seminar_proposal;
+ $data_mhs['bagian'] = $request->bagian;
+ $data_mhs['dosen_dpu_id'] = $request->dosen_dpu;
+ $data_mhs['dosen_dpa_id'] = $request->dosen_dpa;
+ $data_mhs['dosen_penguji1_id'] = $request->dosen_penguji1;
+ $data_mhs['dosen_penguji2_id'] = $request->dosen_penguji2;
+ //set default values to -
+ $data_mhs['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_sempro['mahasiswas_id'] = $mahasiswas_id->id;
+ $data_sempro['nilai_plagiasi'] = $request->nilai_plagiasi;
+ $data_sempro['bukti_hadir_sempro'] = $bukti_hadir_sempro_name;
+ $data_sempro['bukti_turnitin'] = $bukti_turnitin_name;
+ $data_sempro['bukti_sister'] = $bukti_sister_name;
+ $data_sempro['bukti_lembar_monitoring'] = $bukti_lembar_monitoring_name;
+ $data_sempro['bukti_naskah_dosen_pembimbing'] = $bukti_naskah_dosen_pembimbing_name;
+ $data_sempro['bukti_naskah_dosen_penguji'] = $bukti_naskah_dosen_penguji_name;
+ PengajuanSempro::create($data_sempro);
+
+ Storage::disk('public')->put($request->nim.'/'.$bukti_hadir_sempro_name, file_get_contents($bukti_hadir_sempro));
+ Storage::disk('public')->put($request->nim.'/'.$bukti_turnitin_name, file_get_contents($bukti_turnitin));
+ Storage::disk('public')->put($request->nim.'/'.$bukti_sister_name, file_get_contents($bukti_sister));
+ Storage::disk('public')->put($request->nim.'/'.$bukti_lembar_monitoring_name, file_get_contents($bukti_lembar_monitoring));
+ Storage::disk('public')->put($request->nim.'/'.$bukti_naskah_dosen_pembimbing_name, file_get_contents($bukti_naskah_dosen_pembimbing));
+ Storage::disk('public')->put($request->nim.'/'.$bukti_naskah_dosen_penguji_name, file_get_contents($bukti_naskah_dosen_penguji));
+ return redirect()->route('layanan-sempro.tambah')->with('success','Sukses Tambah Data, Silahkan Menunggu Email Konfirmasi setelah disetujui Oleh Operator');
+ }
+ return redirect()->route('layanan-sempro.tambah')->with('error','Gagal Tambah data, Cek kembali data yang anda masukkan');
+ // $path = $request->nim.'/'.$file_transkrip_name;
+}
+
+//done
+public function destroy(Request $request){
+ $id = $request->id;
+ //cari data dan kirim notif sebelum dihapus
+ $data = PengajuanSempro::where('pengajuan_sempros.id',$id)
+ ->join('mahasiswas','mahasiswas_id','=','mahasiswas.id')
+ ->first();
+ //data yang akan dikirim untuk dihapus
+ $data_job = [
+ 'jenis' => 'penolakan',
+ 'nama' => $data->nama,
+ 'email' => $data->email,
+ 'created_at' => $data->created_at,
+ 'alasan' => $request->alasan,
+ ];
+ //lokasi file
+ $path = [
+ 'bukti_hadir_sempro' => $data->nim."/".$data->bukti_hadir_sempro,
+ 'bukti_turnitin' => $data->nim."/".$data->bukti_turnitin,
+ 'bukti_sister' => $data->nim."/".$data->bukti_sister,
+ 'bukti_lembar_monitoring' => $data->nim."/".$data->bukti_lembar_monitoring,
+ 'bukti_naskah_dosen_pembimbing' => $data->nim."/".$data->bukti_naskah_dosen_pembimbing,
+ 'bukti_naskah_dosen_penguji' => $data->nim."/".$data->bukti_naskah_dosen_penguji,
+ ];
+
+ //delete file
+ foreach($path as $item){
+ try {
+ Storage::disk('public')->delete($item);
+ }
+ catch(Exception $e){
+ $text['error'] = $e->getMessage();
+ dispatch(new kirimNotifikasiErrorJob($text));
+ exit;
+ }
+ }
+
+ //delete data mahasiswa
+ try {
+ $dataDelete = PengajuanSempro::findOrFail($id);
+ $dataDelete->delete();
+ //kirim notif ke mahasiswa bahwa ditolak
+ dispatch(new layananSeminarProposalJob($data_job));
+
+ }catch(Exception $e){
+ //kirim notif error jika terjadi error
+ $text['error'] = $e->getMessage();
+ dispatch(new kirimNotifikasiErrorJob($text));
+
+ return redirect()->route('layanan-sempro.index')->with('error','Error : '.$text['error']);
+ }
+ return redirect()->route('layanan-sempro.index')->with('success','Permintaan Sudah Diproses, Email akan segera dikirim ke penerima');
+
+}
+
+//done
+public function terima(Request $request){
+ $id = $request->id;
+ $countcaseid = PengajuanSempro::where('ttd_operator','!=','-')->count();
+ $caseid = "LP".date_format(date_create(),"ym").$countcaseid+1;
+
+ $cekData = PengajuanSempro::where('caseid',$caseid)->first();
+ $data = PengajuanSempro::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-sempro.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,
+ ],
+ ];
+ foreach($data_job as $item){
+ dispatch(new layananSeminarProposalJob($item));
+ }
+ return redirect()->route('layanan-sempro.index')->with('success','Data Berhasil Disimpan, Email Akan Dikirimkan ke Mahasiswa, DPU dan DPA');
+ }
+}
+
+//done
+public function ettd($caseid){
+ $data = PengajuanSempro::where('caseid', $caseid)
+ ->select(
+ 'pengajuan_sempros.*',
+ 'mahasiswas.nama',
+ 'mahasiswas.nim',
+ 'mahasiswas.judul_seminar_proposal',
+ 'dosen_dpu.nama_gelar as dosen_dpu_nama_gelar',
+ )
+ ->join('mahasiswas','pengajuan_sempros.mahasiswas_id','=','mahasiswas.id')
+ ->join('users as dosen_dpu','mahasiswas.dosen_dpu_id','=','dosen_dpu.id')
+ ->first();
+ //jika data tidak null, maka render ini
+ if(!is_null($data)){
+ $jenis = 'Dosen Pembimbing Utama';
+ return view('layanan-sempro.ettd',['title'=> 'INPUT E-Signature','jenis'=>$jenis,'data'=> $data]);
+ }
+ //jika URL tidak diantara ketika itu maka render ini
+ return redirect()->route('laman-awal')->with(['error'=>'Invalid CASEID, Atau CaseID Tidak Ditemukan']);
+}
+
+//done
+public function submitettd($caseid, Request $request){
+ $data = PengajuanSempro::where('caseid','=',$caseid)->first();
+ //jika data ada, maka diproses
+ if(!is_null($data)){
+ //cek ttd jika ttd sudah pernah diisi maka dikembalikan error
+ if($data->ttd_dpu!='-'){
+ return redirect()->route('layanan-sempro.ettd',['caseid'=>$caseid])->with(['error'=>'CaseID Ini Sudah Pernah Anda Tandatangani Pada '.$data->ttd_dpu]);
+ }
+ $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();
+ $data_job =[
+ 'jenis' => 'mahasiswa selesai',
+ 'id' => $data->id,
+ ];
+ dispatch(new layananSeminarProposalJob($data_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-sempro.ettd',['caseid'=>$caseid])->with(['error'=>'E-TTD Tidak Sesuai, Cek Kembali ETTD Anda']);
+ }
+ }
+}
+
+//done
+public function cetak($caseid){
+ $data = PengajuanSempro::where('caseid', $caseid)
+ ->select(
+ 'pengajuan_sempros.*',
+ 'mahasiswas.nama',
+ 'bagians.nama_bagian',
+ 'mahasiswas.nim',
+ 'mahasiswas.judul_seminar_proposal',
+ 'dosen_dpu.nama_gelar as dosen_dpu_nama_gelar',
+ 'dosen_dpu.nip as dosen_dpu_nip',
+ )
+ ->join('mahasiswas','pengajuan_sempros.mahasiswas_id','=','mahasiswas.id')
+ ->join('bagians','mahasiswas.bagian','=','bagians.id')
+ ->join('users as dosen_dpu','mahasiswas.dosen_dpu_id','=','dosen_dpu.id')
+ ->first();
+ //jika data tidak null, maka render ini
+ if($data->ttd_dpu=='-'){
+ return redirect()->route('monitoring.caseid',['caseid'=>$caseid])->with('error','Data Belum Di TandaTangani Oleh Dosen Pembimbing Utama, File Bisa didownload ketika DPU sudah tanda tangan!');
+ }
+ if(is_null($data)){
+ return redirect()->route('monitoring.caseid',['caseid'=>$caseid])->with('error','Data Dengan CASEID Tersebut Tidak ada');
+ }
+
+ $data = [
+ 'title' => 'Cetak Kesediaan',
+ // 'date' => Carbon::now()->format('d-m-Y'),
+ 'date' => $data->created_at->format('d-m-Y'),
+ 'nama_mahasiswa' => $data->nama,
+ 'nim' => $data->nim,
+ 'bagian' => $data->nama_bagian,
+ 'judul_seminar_proposal' => $data->judul_seminar_proposal,
+ 'nilai_plagiasi' => $data->nilai_plagiasi,
+ 'dosen_dpu_nama_gelar' => $data->dosen_dpu_nama_gelar,
+ 'dosen_dpu_nip' => $data->dosen_dpu_nip,
+ 'dosen_dpu_qrcode' => base64_encode(QrCode::size(100)->generate($data->dosen_dpu_nama_gelar.'_TTD_'.$data->ttd_dpu)),
+ ];
+ $pdf = Pdf::loadView('layanan-sempro.cetak', $data);
+ return $pdf->setPaper('a4', 'potrait')->stream($caseid.'-Kesediaan Menjadi Dosen Pembimbing Tugas Akhir');
+
+ //jika URL tidak diantara ketika itu maka render ini
+
+}
+}
diff --git a/app/Http/Controllers/MonitoringController.php b/app/Http/Controllers/MonitoringController.php
new file mode 100644
index 0000000..7ae356e
--- /dev/null
+++ b/app/Http/Controllers/MonitoringController.php
@@ -0,0 +1,63 @@
+ 'Cari Pengajuan Anda Menggunakan CASEID yang Dikirim Lewat Email']);
+}
+
+public function search(Request $request){
+ return redirect()->route('monitoring.caseid',['caseid'=>$request->caseid]);
+}
+
+public function caseid($caseid){
+ $cek_caseid = substr($caseid, 0, 2);
+ if($cek_caseid=="LS"){
+ $data = PengajuanDpuDpa::where('caseid', $caseid)
+ ->select(
+ 'pengajuan_dpu_dpas.*',
+ 'mahasiswas.nim',
+ 'mahasiswas.nama',
+ 'mahasiswas.judul_seminar_proposal',
+ 'dosen_dpu.nama_gelar as dosen_dpu_nama_gelar',
+ 'dosen_dpa.nama_gelar as dosen_dpa_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')
+ ->first();
+ if($data==null){
+ return redirect()->route('monitoring.index')->with('error','CaseID Tidak Ditemukan');
+ }
+ return view('monitoring.dpu_dpa',['title' => 'Monitoring Pengajuan DPU/DPA - '.$caseid,'data' => $data]);
+ }
+ elseif($cek_caseid=="LP"){
+ $data = PengajuanSempro::where('caseid',$caseid)
+ ->select(
+ 'pengajuan_sempros.*',
+ 'mahasiswas.nim',
+ 'mahasiswas.nama',
+ 'mahasiswas.judul_seminar_proposal',
+ 'dosen_dpu.nama_gelar as dosen_dpu_nama_gelar',
+ )
+ ->join('mahasiswas','mahasiswas_id','=','mahasiswas.id')
+ ->join('users as dosen_dpu','mahasiswas.dosen_dpu_id','=','dosen_dpu.id')
+ ->first();
+ if($data==null){
+ return redirect()->route('monitoring.index')->with('error','CaseID Tidak Ditemukan');
+ }
+ return view('monitoring.sempro',['title' => 'Monitoring Pengajuan Seminar Proposal - '.$caseid,'data' => $data]);
+ }
+ else{
+ return redirect()->route('monitoring.index')->with('error','CaseID Tidak Valid');
+ }
+}
+
+}
diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php
index bdb87e0..b4743fc 100644
--- a/app/Http/Controllers/UserController.php
+++ b/app/Http/Controllers/UserController.php
@@ -99,7 +99,7 @@ public function userroles_index(){
public function userroles_store(Request $request){
$user_roles = new Role;
- $user_roles->nama = $request->role_name;
+ $user_roles->name = $request->role_name;
if($user_roles->save()){
return redirect()->route('users-roles.index')->with('success','Data Telah Berhasil Disimpan');
diff --git a/app/Jobs/kirimNotifikasiErrorJob.php b/app/Jobs/kirimNotifikasiErrorJob.php
new file mode 100644
index 0000000..c0d13f5
--- /dev/null
+++ b/app/Jobs/kirimNotifikasiErrorJob.php
@@ -0,0 +1,34 @@
+data = $data;
+ }
+
+ /**
+ * Execute the job.
+ */
+ public function handle(): void
+ {
+ $text = $this->data['error'];
+ Curl::to('https://api.telegram.org/bot6161516511:AAGZhf_o31HupIogjUbEgvwjukes-3P3zPo/sendMessage')
+ ->withData( array( 'chat_id' => '-1001903808078', 'text' => $text, 'parse_mode' => 'Markdown') )
+ ->get();
+ }
+}
diff --git a/app/Jobs/layananPengajuanDpuDpaJob.php b/app/Jobs/layananPengajuanDpuDpaJob.php
new file mode 100644
index 0000000..2cec5fd
--- /dev/null
+++ b/app/Jobs/layananPengajuanDpuDpaJob.php
@@ -0,0 +1,94 @@
+data = $data;
+ }
+
+ /**
+ * Execute the job.
+ */
+ public function handle(): void
+ {
+ if($this->data['jenis']==="penolakan"){
+ $text = "BETA\n".
+ "Penolakan Pengajuan Mahasiswa: ".$this->data['nama']."\n".
+ "Dengan Email : ".$this->data['email']."\n\n".
+ "Alasan : ".$this->data['alasan'];
+ Curl::to('https://api.telegram.org/bot6161516511:AAGZhf_o31HupIogjUbEgvwjukes-3P3zPo/sendMessage')
+ ->withData( array( 'chat_id' => '-1001903808078', 'text' => $text, 'parse_mode' => 'Markdown') )
+ ->get();
+ }
+ elseif($this->data['jenis'] == 'dpu'){
+ $data = PengajuanDpuDpa::where('pengajuan_dpu_dpas.id',$this->data['id'])->select('mahasiswas.nama','mahasiswas.nim','mahasiswas.judul_seminar_proposal','mahasiswas.dosen_dpu_id','users.nama_gelar','users.email')->join('mahasiswas','mahasiswas.id','=','mahasiswas_id')->join('users','users.id','=','dosen_dpu_id')->first();
+ $text = "BETA\n".
+ "Kirim Pengajuan A/N Mahasiswa: ".$data->nama."\n".
+ "Kepada DPU : ".$data->nama_gelar."\n\n".
+ "Alamat Email : ".$data->email;
+ Curl::to('https://api.telegram.org/bot6161516511:AAGZhf_o31HupIogjUbEgvwjukes-3P3zPo/sendMessage')
+ ->withData( array( 'chat_id' => '-1001903808078', 'text' => $text, 'parse_mode' => 'Markdown') )
+ ->get();
+ }
+ elseif($this->data['jenis'] == 'dpa'){
+ $data = PengajuanDpuDpa::where('pengajuan_dpu_dpas.id',$this->data['id'])->select('mahasiswas.nama','mahasiswas.nim','mahasiswas.judul_seminar_proposal','mahasiswas.dosen_dpa_id','users.nama_gelar','users.email')->join('mahasiswas','mahasiswas.id','=','mahasiswas_id')->join('users','users.id','=','dosen_dpa_id')->first();
+ $text = "BETA\n".
+ "Kirim Pengajuan A/N Mahasiswa: ".$data->nama."\n".
+ "Kepada DPA : ".$data->nama_gelar."\n\n".
+ "Alamat Email : ".$data->email;
+ Curl::to('https://api.telegram.org/bot6161516511:AAGZhf_o31HupIogjUbEgvwjukes-3P3zPo/sendMessage')
+ ->withData( array( 'chat_id' => '-1001903808078', 'text' => $text, 'parse_mode' => 'Markdown') )
+ ->get();
+ }
+ elseif($this->data['jenis'] == 'kombi'){
+ $kombiRole = Role::findByName('Ketua Kombi')->users;
+ $data = PengajuanDpuDpa::where('pengajuan_dpu_dpas.id',$this->data['id'])->select('mahasiswas.nama','mahasiswas.nim','mahasiswas.judul_seminar_proposal')->join('mahasiswas','mahasiswas.id','=','mahasiswas_id')->first();
+ $text = "BETA\n".
+ "Kirim Pengajuan A/N Mahasiswa: ".$data->nama."\n".
+ "Kepada Komisi Bimbingan : ".$kombiRole[0]->nama_gelar."\n\n".
+ "Alamat Email : ".$kombiRole[0]->email;
+ Curl::to('https://api.telegram.org/bot6161516511:AAGZhf_o31HupIogjUbEgvwjukes-3P3zPo/sendMessage')
+ ->withData( array( 'chat_id' => '-1001903808078', 'text' => $text, 'parse_mode' => 'Markdown') )
+ ->get();
+ }
+ elseif($this->data['jenis'] == 'mahasiswa'){
+ $data = PengajuanDpuDpa::where('pengajuan_dpu_dpas.id',$this->data['id'])->select('mahasiswas.nama','mahasiswas.nim','mahasiswas.judul_seminar_proposal','mahasiswas.email')->join('mahasiswas','mahasiswas.id','=','mahasiswas_id')->first();
+ $text = "BETA\n".
+ "Kirim Pengajuan A/N Mahasiswa: ".$data->nama."\n".
+ "Kepada Mahasiswa : ".$data->nama."\n\n".
+ "Alamat Email : ".$data->email;
+ Curl::to('https://api.telegram.org/bot6161516511:AAGZhf_o31HupIogjUbEgvwjukes-3P3zPo/sendMessage')
+ ->withData( array( 'chat_id' => '-1001903808078', 'text' => $text, 'parse_mode' => 'Markdown') )
+ ->get();
+ }
+ elseif($this->data['jenis'] == 'mahasiswa selesai'){
+ $data = PengajuanDpuDpa::where('pengajuan_dpu_dpas.id',$this->data['id'])->select('mahasiswas.nama','mahasiswas.nim','mahasiswas.judul_seminar_proposal','mahasiswas.email')->join('mahasiswas','mahasiswas.id','=','mahasiswas_id')->first();
+ $text = "BETA\n".
+ "Kirim Notifikasi Pengajuan Selesai A/N Mahasiswa: ".$data->nama."\n".
+ "Kepada Mahasiswa : ".$data->nama."\n\n".
+ "Alamat Email : ".$data->email;
+ Curl::to('https://api.telegram.org/bot6161516511:AAGZhf_o31HupIogjUbEgvwjukes-3P3zPo/sendMessage')
+ ->withData( array( 'chat_id' => '-1001903808078', 'text' => $text, 'parse_mode' => 'Markdown') )
+ ->get();
+ }
+
+ }
+}
diff --git a/app/Jobs/layananSeminarProposalJob.php b/app/Jobs/layananSeminarProposalJob.php
new file mode 100644
index 0000000..9818999
--- /dev/null
+++ b/app/Jobs/layananSeminarProposalJob.php
@@ -0,0 +1,105 @@
+data = $data;
+ }
+
+ /**
+ * Execute the job.
+ */
+ public function handle(): void
+ {
+ if($this->data['jenis']==="penolakan"){
+ $text = "BETA\n".
+ "Penolakan Pengajuan Seminar Proposal Mahasiswa: ".$this->data['nama']."\n".
+ "Dengan Email : ".$this->data['email']."\n\n".
+ "Alasan : ".$this->data['alasan'];
+ Curl::to('https://api.telegram.org/bot6161516511:AAGZhf_o31HupIogjUbEgvwjukes-3P3zPo/sendMessage')
+ ->withData( array( 'chat_id' => '-1001903808078', 'text' => $text, 'parse_mode' => 'Markdown') )
+ ->get();
+ }
+ elseif($this->data['jenis'] == 'dpu'){
+ $data = PengajuanSempro::where('pengajuan_sempros.id',$this->data['id'])
+ ->select(
+ 'pengajuan_sempros.caseid',
+ 'pengajuan_sempros.nilai_plagiasi',
+ 'mahasiswas.nama',
+ 'mahasiswas.nim',
+ 'mahasiswas.email',
+ 'mahasiswas.judul_seminar_proposal',
+ 'mahasiswas.dosen_dpu_id',)
+ ->join('mahasiswas','mahasiswas.id','=','mahasiswas_id')
+ ->first();
+ $text = "BETA - ".$data->caseid."\n".
+ "Kirim Pengajuan A/N Mahasiswa: ".$data->nama."\n".
+ "Kepada mahasiswa : ".$data->nama."\n\n".
+ "Alamat Email : ".$data->email;
+ Curl::to('https://api.telegram.org/bot6161516511:AAGZhf_o31HupIogjUbEgvwjukes-3P3zPo/sendMessage')
+ ->withData( array( 'chat_id' => '-1001903808078', 'text' => $text, 'parse_mode' => 'Markdown') )
+ ->get();
+ }
+ elseif($this->data['jenis'] == 'mahasiswa selesai'){
+ $data = PengajuanSempro::where('pengajuan_sempros.id',$this->data['id'])
+ ->select(
+ 'pengajuan_sempros.caseid',
+ 'pengajuan_sempros.nilai_plagiasi',
+ 'mahasiswas.nama',
+ 'mahasiswas.nim',
+ 'mahasiswas.judul_seminar_proposal',
+ 'mahasiswas.dosen_dpu_id',
+ 'users.nama_gelar',
+ 'users.email')
+ ->join('mahasiswas','mahasiswas.id','=','mahasiswas_id')
+ ->join('users','users.id','=','dosen_dpu_id')
+ ->first();
+ $text = "BETA - ".$data->caseid."\n".
+ "Pengajuan Selesai A/N Mahasiswa: ".$data->nama."\n".
+ "Kepada DPU : ".$data->nama_gelar."\n\n".
+ "Alamat Email : ".$data->email;
+ Curl::to('https://api.telegram.org/bot6161516511:AAGZhf_o31HupIogjUbEgvwjukes-3P3zPo/sendMessage')
+ ->withData( array( 'chat_id' => '-1001903808078', 'text' => $text, 'parse_mode' => 'Markdown') )
+ ->get();
+ }
+ elseif($this->data['jenis'] == 'mahasiswa'){
+ $data = PengajuanSempro::where('pengajuan_sempros.id',$this->data['id'])
+ ->select(
+ 'pengajuan_sempros.caseid',
+ 'pengajuan_sempros.nilai_plagiasi',
+ 'mahasiswas.nama',
+ 'mahasiswas.nim',
+ 'mahasiswas.judul_seminar_proposal',
+ 'mahasiswas.dosen_dpu_id',
+ 'users.nama_gelar',
+ 'users.email')
+ ->join('mahasiswas','mahasiswas.id','=','mahasiswas_id')
+ ->join('users','users.id','=','dosen_dpu_id')
+ ->first();
+ $text = "BETA - ".$data->caseid."\n".
+ "Kirim Pengajuan A/N Mahasiswa: ".$data->nama."\n".
+ "Kepada DPU : ".$data->nama_gelar."\n\n".
+ "Alamat Email : ".$data->email;
+ Curl::to('https://api.telegram.org/bot6161516511:AAGZhf_o31HupIogjUbEgvwjukes-3P3zPo/sendMessage')
+ ->withData( array( 'chat_id' => '-1001903808078', 'text' => $text, 'parse_mode' => 'Markdown') )
+ ->get();
+ }
+ }
+}
diff --git a/app/Models/SeminarProposal.php b/app/Models/Bagian.php
similarity index 80%
rename from app/Models/SeminarProposal.php
rename to app/Models/Bagian.php
index 24c1f9a..fbec3f3 100644
--- a/app/Models/SeminarProposal.php
+++ b/app/Models/Bagian.php
@@ -5,7 +5,7 @@
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
-class SeminarProposal extends Model
+class Bagian extends Model
{
use HasFactory;
}
diff --git a/app/Models/PengajuanSempro.php b/app/Models/PengajuanSempro.php
new file mode 100644
index 0000000..e655aeb
--- /dev/null
+++ b/app/Models/PengajuanSempro.php
@@ -0,0 +1,22 @@
+=7.1 <9.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^7 | ^8 | ^9",
+ "squizlabs/php_codesniffer": "*"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "DASPRiD\\Enum\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-2-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Ben Scholzen 'DASPRiD'",
+ "email": "mail@dasprids.de",
+ "homepage": "https://dasprids.de/",
+ "role": "Developer"
+ }
+ ],
+ "description": "PHP 7.1 enum implementation",
+ "keywords": [
+ "enum",
+ "map"
+ ],
+ "support": {
+ "issues": "https://github.com/DASPRiD/Enum/issues",
+ "source": "https://github.com/DASPRiD/Enum/tree/1.0.5"
+ },
+ "time": "2023-08-25T16:18:39+00:00"
+ },
{
"name": "dflydev/dot-access-data",
"version": "v3.0.2",
@@ -457,6 +638,68 @@
],
"time": "2022-12-15T16:57:16+00:00"
},
+ {
+ "name": "dompdf/dompdf",
+ "version": "v2.0.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/dompdf/dompdf.git",
+ "reference": "093f2d9739cec57428e39ddadedfd4f3ae862c0f"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/dompdf/dompdf/zipball/093f2d9739cec57428e39ddadedfd4f3ae862c0f",
+ "reference": "093f2d9739cec57428e39ddadedfd4f3ae862c0f",
+ "shasum": ""
+ },
+ "require": {
+ "ext-dom": "*",
+ "ext-mbstring": "*",
+ "masterminds/html5": "^2.0",
+ "phenx/php-font-lib": ">=0.5.4 <1.0.0",
+ "phenx/php-svg-lib": ">=0.3.3 <1.0.0",
+ "php": "^7.1 || ^8.0"
+ },
+ "require-dev": {
+ "ext-json": "*",
+ "ext-zip": "*",
+ "mockery/mockery": "^1.3",
+ "phpunit/phpunit": "^7.5 || ^8 || ^9",
+ "squizlabs/php_codesniffer": "^3.5"
+ },
+ "suggest": {
+ "ext-gd": "Needed to process images",
+ "ext-gmagick": "Improves image processing performance",
+ "ext-imagick": "Improves image processing performance",
+ "ext-zlib": "Needed for pdf stream compression"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Dompdf\\": "src/"
+ },
+ "classmap": [
+ "lib/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "LGPL-2.1"
+ ],
+ "authors": [
+ {
+ "name": "The Dompdf Community",
+ "homepage": "https://github.com/dompdf/dompdf/blob/master/AUTHORS.md"
+ }
+ ],
+ "description": "DOMPDF is a CSS 2.1 compliant HTML to PDF converter",
+ "homepage": "https://github.com/dompdf/dompdf",
+ "support": {
+ "issues": "https://github.com/dompdf/dompdf/issues",
+ "source": "https://github.com/dompdf/dompdf/tree/v2.0.4"
+ },
+ "time": "2023-12-12T20:19:39+00:00"
+ },
{
"name": "dragonmantank/cron-expression",
"version": "v3.3.3",
@@ -1129,6 +1372,64 @@
],
"time": "2023-12-03T19:50:20+00:00"
},
+ {
+ "name": "ixudra/curl",
+ "version": "6.22.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/ixudra/curl.git",
+ "reference": "0b2cc89ed5eb91d617295e7e745f3acd3ab47180"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/ixudra/curl/zipball/0b2cc89ed5eb91d617295e7e745f3acd3ab47180",
+ "reference": "0b2cc89ed5eb91d617295e7e745f3acd3ab47180",
+ "shasum": ""
+ },
+ "require": {
+ "ext-curl": "*",
+ "illuminate/support": ">=4.0",
+ "php": ">=5.4.0"
+ },
+ "type": "library",
+ "extra": {
+ "laravel": {
+ "providers": [
+ "Ixudra\\Curl\\CurlServiceProvider"
+ ],
+ "aliases": {
+ "Curl": "Ixudra\\Curl\\Facades\\Curl"
+ }
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Ixudra\\Curl\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Jan Oris",
+ "email": "jan.oris@ixudra.be"
+ }
+ ],
+ "description": "Custom PHP Curl library for the Laravel framework - developed by Ixudra",
+ "homepage": "http://ixudra.be",
+ "keywords": [
+ "Ixudra",
+ "curl",
+ "laravel"
+ ],
+ "support": {
+ "issues": "https://github.com/ixudra/curl/issues",
+ "source": "https://github.com/ixudra/curl/tree/6.22.1"
+ },
+ "time": "2022-07-31T09:58:52+00:00"
+ },
{
"name": "laravel/framework",
"version": "v10.43.0",
@@ -1977,6 +2278,73 @@
],
"time": "2024-01-28T23:22:08+00:00"
},
+ {
+ "name": "masterminds/html5",
+ "version": "2.8.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/Masterminds/html5-php.git",
+ "reference": "f47dcf3c70c584de14f21143c55d9939631bc6cf"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/Masterminds/html5-php/zipball/f47dcf3c70c584de14f21143c55d9939631bc6cf",
+ "reference": "f47dcf3c70c584de14f21143c55d9939631bc6cf",
+ "shasum": ""
+ },
+ "require": {
+ "ext-dom": "*",
+ "php": ">=5.3.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^4.8.35 || ^5.7.21 || ^6 || ^7 || ^8"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.7-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Masterminds\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Matt Butcher",
+ "email": "technosophos@gmail.com"
+ },
+ {
+ "name": "Matt Farina",
+ "email": "matt@mattfarina.com"
+ },
+ {
+ "name": "Asmir Mustafic",
+ "email": "goetas@gmail.com"
+ }
+ ],
+ "description": "An HTML5 parser and serializer.",
+ "homepage": "http://masterminds.github.io/html5-php",
+ "keywords": [
+ "HTML5",
+ "dom",
+ "html",
+ "parser",
+ "querypath",
+ "serializer",
+ "xml"
+ ],
+ "support": {
+ "issues": "https://github.com/Masterminds/html5-php/issues",
+ "source": "https://github.com/Masterminds/html5-php/tree/2.8.1"
+ },
+ "time": "2023-05-10T11:58:31+00:00"
+ },
{
"name": "maximebf/debugbar",
"version": "v1.20.2",
@@ -2543,6 +2911,96 @@
],
"time": "2023-02-08T01:06:31+00:00"
},
+ {
+ "name": "phenx/php-font-lib",
+ "version": "0.5.6",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/dompdf/php-font-lib.git",
+ "reference": "a1681e9793040740a405ac5b189275059e2a9863"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/dompdf/php-font-lib/zipball/a1681e9793040740a405ac5b189275059e2a9863",
+ "reference": "a1681e9793040740a405ac5b189275059e2a9863",
+ "shasum": ""
+ },
+ "require": {
+ "ext-mbstring": "*"
+ },
+ "require-dev": {
+ "symfony/phpunit-bridge": "^3 || ^4 || ^5 || ^6"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "FontLib\\": "src/FontLib"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "LGPL-2.1-or-later"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Ménager",
+ "email": "fabien.menager@gmail.com"
+ }
+ ],
+ "description": "A library to read, parse, export and make subsets of different types of font files.",
+ "homepage": "https://github.com/PhenX/php-font-lib",
+ "support": {
+ "issues": "https://github.com/dompdf/php-font-lib/issues",
+ "source": "https://github.com/dompdf/php-font-lib/tree/0.5.6"
+ },
+ "time": "2024-01-29T14:45:26+00:00"
+ },
+ {
+ "name": "phenx/php-svg-lib",
+ "version": "0.5.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/dompdf/php-svg-lib.git",
+ "reference": "732faa9fb4309221e2bd9b2fda5de44f947133aa"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/dompdf/php-svg-lib/zipball/732faa9fb4309221e2bd9b2fda5de44f947133aa",
+ "reference": "732faa9fb4309221e2bd9b2fda5de44f947133aa",
+ "shasum": ""
+ },
+ "require": {
+ "ext-mbstring": "*",
+ "php": "^7.1 || ^8.0",
+ "sabberworm/php-css-parser": "^8.4"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Svg\\": "src/Svg"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "LGPL-3.0"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Ménager",
+ "email": "fabien.menager@gmail.com"
+ }
+ ],
+ "description": "A library to read, parse and export to PDF SVG files.",
+ "homepage": "https://github.com/PhenX/php-svg-lib",
+ "support": {
+ "issues": "https://github.com/dompdf/php-svg-lib/issues",
+ "source": "https://github.com/dompdf/php-svg-lib/tree/0.5.2"
+ },
+ "time": "2024-02-07T12:49:40+00:00"
+ },
{
"name": "phpoption/phpoption",
"version": "1.9.2",
@@ -3334,6 +3792,139 @@
],
"time": "2023-11-08T05:53:05+00:00"
},
+ {
+ "name": "sabberworm/php-css-parser",
+ "version": "v8.5.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/MyIntervals/PHP-CSS-Parser.git",
+ "reference": "4a3d572b0f8b28bb6fd016ae8bbfc445facef152"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/MyIntervals/PHP-CSS-Parser/zipball/4a3d572b0f8b28bb6fd016ae8bbfc445facef152",
+ "reference": "4a3d572b0f8b28bb6fd016ae8bbfc445facef152",
+ "shasum": ""
+ },
+ "require": {
+ "ext-iconv": "*",
+ "php": ">=5.6.20"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^5.7.27"
+ },
+ "suggest": {
+ "ext-mbstring": "for parsing UTF-8 CSS"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "9.0.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Sabberworm\\CSS\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Raphael Schweikert"
+ },
+ {
+ "name": "Oliver Klee",
+ "email": "github@oliverklee.de"
+ },
+ {
+ "name": "Jake Hotson",
+ "email": "jake.github@qzdesign.co.uk"
+ }
+ ],
+ "description": "Parser for CSS Files written in PHP",
+ "homepage": "https://www.sabberworm.com/blog/2010/6/10/php-css-parser",
+ "keywords": [
+ "css",
+ "parser",
+ "stylesheet"
+ ],
+ "support": {
+ "issues": "https://github.com/MyIntervals/PHP-CSS-Parser/issues",
+ "source": "https://github.com/MyIntervals/PHP-CSS-Parser/tree/v8.5.1"
+ },
+ "time": "2024-02-15T16:41:13+00:00"
+ },
+ {
+ "name": "simplesoftwareio/simple-qrcode",
+ "version": "4.2.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/SimpleSoftwareIO/simple-qrcode.git",
+ "reference": "916db7948ca6772d54bb617259c768c9cdc8d537"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/SimpleSoftwareIO/simple-qrcode/zipball/916db7948ca6772d54bb617259c768c9cdc8d537",
+ "reference": "916db7948ca6772d54bb617259c768c9cdc8d537",
+ "shasum": ""
+ },
+ "require": {
+ "bacon/bacon-qr-code": "^2.0",
+ "ext-gd": "*",
+ "php": ">=7.2|^8.0"
+ },
+ "require-dev": {
+ "mockery/mockery": "~1",
+ "phpunit/phpunit": "~9"
+ },
+ "suggest": {
+ "ext-imagick": "Allows the generation of PNG QrCodes.",
+ "illuminate/support": "Allows for use within Laravel."
+ },
+ "type": "library",
+ "extra": {
+ "laravel": {
+ "providers": [
+ "SimpleSoftwareIO\\QrCode\\QrCodeServiceProvider"
+ ],
+ "aliases": {
+ "QrCode": "SimpleSoftwareIO\\QrCode\\Facades\\QrCode"
+ }
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "SimpleSoftwareIO\\QrCode\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Simple Software LLC",
+ "email": "support@simplesoftware.io"
+ }
+ ],
+ "description": "Simple QrCode is a QR code generator made for Laravel.",
+ "homepage": "https://www.simplesoftware.io/#/docs/simple-qrcode",
+ "keywords": [
+ "Simple",
+ "generator",
+ "laravel",
+ "qrcode",
+ "wrapper"
+ ],
+ "support": {
+ "issues": "https://github.com/SimpleSoftwareIO/simple-qrcode/issues",
+ "source": "https://github.com/SimpleSoftwareIO/simple-qrcode/tree/4.2.0"
+ },
+ "time": "2021-02-08T20:43:55+00:00"
+ },
{
"name": "spatie/laravel-permission",
"version": "6.4.0",
@@ -8385,5 +8976,5 @@
"php": "^8.1"
},
"platform-dev": [],
- "plugin-api-version": "2.6.0"
+ "plugin-api-version": "2.2.0"
}
diff --git a/config/app.php b/config/app.php
index be60792..477f1df 100644
--- a/config/app.php
+++ b/config/app.php
@@ -70,7 +70,7 @@
|
*/
- 'timezone' => 'UTC',
+ 'timezone' => 'Asia/Jakarta',
/*
|--------------------------------------------------------------------------
diff --git a/database/migrations/2024_01_31_051431_create_seminar_proposals_table.php b/database/migrations/2024_01_31_051431_create_seminar_proposals_table.php
deleted file mode 100644
index 093f834..0000000
--- a/database/migrations/2024_01_31_051431_create_seminar_proposals_table.php
+++ /dev/null
@@ -1,33 +0,0 @@
-id();
- $table->foreignId('mahasiswas_id')->constrained();
- $table->string('ttd_operator');
- $table->string('ttd_dpu');
- $table->string('ttd_dpa');
- $table->string('ttd_kombi');
- $table->string('bukti_transkrip_nilai');
- $table->timestamps();
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('seminar_proposals');
- }
-};
diff --git a/database/migrations/2024_03_07_194146_create_pengajuan_sempros_table.php b/database/migrations/2024_03_07_194146_create_pengajuan_sempros_table.php
new file mode 100644
index 0000000..9b90ecb
--- /dev/null
+++ b/database/migrations/2024_03_07_194146_create_pengajuan_sempros_table.php
@@ -0,0 +1,38 @@
+id();
+ $table->string('caseid')->default('-');
+ $table->foreignId('mahasiswas_id')->constrained();
+ $table->string('ttd_operator')->default('-');
+ $table->string('ttd_dpu')->default('-');
+ $table->integer('nilai_plagiasi');
+ $table->string('bukti_hadir_sempro');
+ $table->string('bukti_turnitin');
+ $table->string('bukti_sister');
+ $table->string('bukti_lembar_monitoring');
+ $table->string('bukti_naskah_dosen_pembimbing');
+ $table->string('bukti_naskah_dosen_penguji');
+ $table->timestamps();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('pengajuan_sempros');
+ }
+};
diff --git a/database/seeders/MahasiswaSeeder.php b/database/seeders/MahasiswaSeeder.php
new file mode 100644
index 0000000..2f7a59c
--- /dev/null
+++ b/database/seeders/MahasiswaSeeder.php
@@ -0,0 +1,20 @@
+insert([
+ // 'name' => Str::random(10),
+ // 'email' => Str::random(10).'@example.com',
+ // ]);
+ }
+}
diff --git a/database/seeders/UserRoleSeeder.php b/database/seeders/UserRoleSeeder.php
index 21bf35b..d0062d0 100644
--- a/database/seeders/UserRoleSeeder.php
+++ b/database/seeders/UserRoleSeeder.php
@@ -18,8 +18,17 @@ public function run(): void
['name'=> 'Super Administrator'],
['name'=> 'Super Administrator'],
);
- ModelsRole::create(['name'=> 'Tenaga Kependidikan']);
- ModelsRole::create(['name'=> 'Dosen']);
- ModelsRole::create(['name'=> 'Operator Akademik']);
+ ModelsRole::updateOrCreate(
+ ['name'=> 'Tenaga Kependidikan'],
+ ['name'=> 'Tenaga Kependidikan']
+ );
+ ModelsRole::updateOrCreate(
+ ['name'=> 'Dosen'],
+ ['name'=> 'Dosen']
+ );
+ ModelsRole::updateOrCreate(
+ ['name'=> 'Operator Akademik'],
+ ['name'=> 'Operator Akademik']
+ );
}
}
diff --git a/public/dist/img/logo-unej.png b/public/dist/img/logo-unej.png
new file mode 100644
index 0000000..3a02187
Binary files /dev/null and b/public/dist/img/logo-unej.png differ
diff --git a/resources/views/admin/index.blade.php b/resources/views/admin/index.blade.php
index da4cc1e..469c916 100644
--- a/resources/views/admin/index.blade.php
+++ b/resources/views/admin/index.blade.php
@@ -17,12 +17,12 @@
-
Blank Page
+ Admin Dashboard
Home
- Blank Page
+ Dashboard
@@ -31,32 +31,22 @@
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
diff --git a/resources/views/layanan-dpudpa/index.blade.php b/resources/views/layanan-dpudpa/index.blade.php
index d0e9afe..79bdabe 100644
--- a/resources/views/layanan-dpudpa/index.blade.php
+++ b/resources/views/layanan-dpudpa/index.blade.php
@@ -38,11 +38,35 @@
Perhatian!
CaseID Akan muncul ketika pengajuan telah diterima untuk menghindari data duplikat untuk mahasiswa yang sama.
+ @if ($errors->any())
+
+
+ @foreach ($errors->all() as $error )
+ {{ $error }}
+ @endforeach
+
+
+ @endif
+ @if(session('success'))
+
+
+ {{ session('success') }}
+
+
+ @endif
+ @if(session('error'))
+
+
+ {{ session('error') }}
+
+
+ @endif
CaseID
NIM
+ Nama Mahasiswa
DPU
DPA
Action
@@ -53,10 +77,18 @@
{{ $datas->caseid }}
{{ $datas->nim }}
+ {{ $datas->nama }}
{{ $datas->dpu_nama_gelar }}
{{ $datas->dpa_nama_gelar }}
- Details | Terima | Tolak
+
+ Details
+ @if($datas->ttd_operator=="-")
+ | Terima |
+ Tolak
+ @endif
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ×
+
Perhatian!
+ Alasan yang Dimasukkan Disini, Akan dikirimkan melalui Email Kepada Mahasiswa Terkait.
+
+
+
diff --git a/resources/views/layanan-dpudpa/tambah.blade.php b/resources/views/layanan-dpudpa/tambah.blade.php
index 0bfd852..17d29e1 100644
--- a/resources/views/layanan-dpudpa/tambah.blade.php
+++ b/resources/views/layanan-dpudpa/tambah.blade.php
@@ -12,7 +12,7 @@
- @if ($errors->any())
+ @if($errors->any())
@foreach ($errors->all() as $error )
@@ -35,6 +35,11 @@
@endif
+
+
×
+
Perhatian!
+
Pernah Menggunakan Layanan PINTU Untuk Pengajuan ? Coba Gunakan Fitur Cari. Klik Disini
+
@csrf
@@ -50,14 +55,9 @@
Bagian Lab:
Pilih Laboratorium
- Farmasi Klinik Dan Komunitas
- Farmakologi Dan Hewan Coba
- Farmakognosi dan Fitokimia
- Mikrobiologi dan Bioteknologi Farmasi
- Farmasetika
- Teknologi Farmasi
- Kimia Analisis
- Kimia Medisinal
+ @foreach($bagian as $item)
+ {{$item->nama_bagian}}
+ @endforeach
diff --git a/resources/views/layanan-sempro/cari.blade.php b/resources/views/layanan-sempro/cari.blade.php
new file mode 100644
index 0000000..4b26c24
--- /dev/null
+++ b/resources/views/layanan-sempro/cari.blade.php
@@ -0,0 +1,67 @@
+
+@extends('layout.app_guest',['title' => 'Pengajuan Seminar Proposal'])
+@section('content')
+
+
+
+
+
+
+
+ @if ($errors->any())
+
+
+ @foreach ($errors->all() as $error )
+ {{ $error }}
+ @endforeach
+
+
+ @endif
+ @if(session('success'))
+
+
+ {{ session('success') }}
+
+
+ @endif
+ @if(session('error'))
+
+
+ {{ session('error') }}
+
+
+ @endif
+
+ @if(session('success'))
+
+
+ {{ session('success') }}
+
+
+ @endif
+ @if(session('error'))
+
+
+ {{ session('error') }}
+
+
+ @endif
+
+ @csrf
+ NIM Mahasiswa :
+
+
+ Cari
+
+
+
+
+
+
+
+
+
+
+@endsection
diff --git a/resources/views/layanan-sempro/cetak.blade.php b/resources/views/layanan-sempro/cetak.blade.php
new file mode 100644
index 0000000..f3c8a07
--- /dev/null
+++ b/resources/views/layanan-sempro/cetak.blade.php
@@ -0,0 +1,135 @@
+
+
+
+
+ {{ $title }}
+
+
+
+
+
+ SURAT PERNYATAAN BEBAS PLAGIASI PROPOSAL
+ Saya Selaku Dosen Pembimbing Utama mahasiswa sebagai tersebut di bawah ini :
+
+
+ Nama
+ :
+ {{$nama_mahasiswa}}
+
+
+ NIM
+ :
+ {{$nim}}
+
+
+ Judul Skripsi
+ :
+ {{$judul_seminar_proposal}}
+
+
+ Similarity
+ :
+ {{$nilai_plagiasi}} %
+
+
+ Menyatakan bahwa skripsi dengan judul tersebut diatas bebas plagiasi berdasarkan penelurusan menggunakan program Turnitin dengan tingkat similarity ≤ 25% untuk satu referensi dan maksimal 30%.
+ Demikian untuk diketahui dan dipergunakan sebagaimana mestinya.
+
+
+
+ Jember, {{ $date }}
+
+
+
+ Pembuat Pernyataan
+
+
+
+
+
+
+
+
+
+
+
+ {{ $dosen_dpu_nama_gelar }}
+
+
+
+ NIP. {{ $dosen_dpu_nip }}
+
+
+
+{{--
--}}
+
+
\ No newline at end of file
diff --git a/resources/views/layanan-sempro/ettd.blade.php b/resources/views/layanan-sempro/ettd.blade.php
new file mode 100644
index 0000000..c058f8a
--- /dev/null
+++ b/resources/views/layanan-sempro/ettd.blade.php
@@ -0,0 +1,102 @@
+
+
+
+
+
+ {{ $title }} {{$jenis}}
+
+
+
+
+
+
+
+
+@include('layout.navbars.footer')
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/resources/views/layanan-sempro/index.blade.php b/resources/views/layanan-sempro/index.blade.php
new file mode 100644
index 0000000..478f5c0
--- /dev/null
+++ b/resources/views/layanan-sempro/index.blade.php
@@ -0,0 +1,256 @@
+
+@extends('layout.app')
+
+@push('css')
+
+
+
+
+@endpush
+
+@section('content')
+
+@include('layout.navbars.sidebar')
+
+
+
+
+
+
+
+
+
+ ×
+
Perhatian!
+ CaseID Akan muncul ketika pengajuan telah diterima untuk menghindari data duplikat untuk mahasiswa yang sama.
+
+ @if ($errors->any())
+
+
+ @foreach ($errors->all() as $error )
+ {{ $error }}
+ @endforeach
+
+
+ @endif
+ @if(session('success'))
+
+
+ {{ session('success') }}
+
+
+ @endif
+ @if(session('error'))
+
+
+ {{ session('error') }}
+
+
+ @endif
+
+
+
+ CaseID
+ NIM
+ Nama
+ DPU
+ Action
+
+
+
+ @foreach ($data as $datas)
+
+ {{ $datas->caseid }}
+ {{ $datas->nim }}
+ {{ $datas->nama }}
+ {{ $datas->dpu_nama_gelar }}
+
+ Details |
+ @if($datas->ttd_operator=="-")
+ Terima |
+ Tolak
+ @endif
+
+
+
+
+
+
+
+
+
+
+
+
Lihat Bukti Screenshot Kehadiran Seminar Proposal :
+
Klik Disini
+
+
+
+
+
+
+
Lihat Bukti Pengiriman Naskah Ke Dosen Pembimbing :
+
Klik Disini
+
+
+
Lihat Bukti Pengiriman Naskah Ke Dosen Penguji :
+
Klik Disini
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ×
+
Perhatian!
+ Alasan yang Dimasukkan Disini, Akan dikirimkan melalui Email Kepada Mahasiswa Terkait.
+
+
+ @csrf @method('DELETE')
+
+
+
+
+
+
+
+
+ @endforeach
+
+
+
+ CaseID
+ NIM
+ DPU
+ DPA
+ Action
+
+
+
+
+
+
+
+
+
+
+@endsection
+
+
+@push('js')
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@endpush
+
diff --git a/resources/views/layanan-sempro/tambah.blade.php b/resources/views/layanan-sempro/tambah.blade.php
new file mode 100644
index 0000000..dcd30dd
--- /dev/null
+++ b/resources/views/layanan-sempro/tambah.blade.php
@@ -0,0 +1,227 @@
+
+@extends('layout.app_guest',['title' => 'Pengajuan Seminar Proposal'])
+@section('content')
+
+
+
+
+
+
+
+
+
+ @if ($errors->any())
+
+
+ @foreach ($errors->all() as $error )
+ {{ $error }}
+ @endforeach
+
+
+ @endif
+ @if(session('success'))
+
+
+ {{ session('success') }}
+
+
+ @endif
+ @if(session('error'))
+
+
+ {{ session('error') }}
+
+
+ @endif
+
+
×
+
Perhatian!
+
Pernah Menggunakan Layanan PINTU Untuk Pengajuan ? Coba Gunakan Fitur Cari. Klik Disini
+
+
+ @csrf
+ @if(isset($data_mahasiswa))
+
+
+
+
+
+
+
+ Dosen Pembimbing Utama
+
+ Pilih Dosen Pembimbing Utama
+ @foreach ($dosen as $item)
+ dosen_dpu_id === $item->id ? 'selected' : '' }}>{{ $item->nama_gelar }}
+ @endforeach
+
+
+
+
+
+
+ Dosen Pembimbing Anggota
+
+ Pilih Dosen Pembimbing Anggota
+ @foreach ($dosen as $item)
+ dosen_dpa_id === $item->id ? 'selected' : '' }}>{{ $item->nama_gelar }}
+ @endforeach
+
+
+
+
+
+
+
+
+
+ Judul Skripsi / Tugas Akhir
+
+
+
+ @else
+
+
+
+
+
+
+ Dosen Pembimbing Utama
+
+ Pilih Dosen Pembimbing Utama
+ @foreach ($dosen as $item)
+ id ? 'selected' : '' }}>{{ $item->nama_gelar }}
+ @endforeach
+
+
+
+
+
+
+ Dosen Pembimbing Anggota
+
+ Pilih Dosen Pembimbing Anggota
+ @foreach ($dosen as $item)
+ id ? 'selected' : '' }}>{{ $item->nama_gelar }}
+ @endforeach
+
+
+
+
+
+
+
+
+
+ Judul Skripsi / Tugas Akhir
+
+
+
+ @endif
+
+
+
+
+ Dosen Penguji Utama
+
+ Pilih Dosen Penguji Utama
+ @foreach ($dosen as $item)
+ id ? 'selected' : '' }}>{{ $item->nama_gelar }}
+ @endforeach
+
+
+
+
+
+
+ Dosen Penguji Anggota
+
+ Pilih Dosen Penguji Anggota
+ @foreach ($dosen as $item)
+ id ? 'selected' : '' }}>{{ $item->nama_gelar }}
+ @endforeach
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@endsection
diff --git a/resources/views/layout/app_guest.blade.php b/resources/views/layout/app_guest.blade.php
index 2e10407..9322d4a 100644
--- a/resources/views/layout/app_guest.blade.php
+++ b/resources/views/layout/app_guest.blade.php
@@ -53,6 +53,7 @@
diff --git a/resources/views/layout/navbars/footer.blade.php b/resources/views/layout/navbars/footer.blade.php
index f785347..9d19e30 100644
--- a/resources/views/layout/navbars/footer.blade.php
+++ b/resources/views/layout/navbars/footer.blade.php
@@ -3,5 +3,5 @@
Version 3.2.0
-
Copyright © 2014-2021 AdminLTE.io . All rights reserved.
+
Copyright © 2014-2021 AdminLTE.io | tes. All rights reserved.
diff --git a/resources/views/layout/navbars/sidebar.blade.php b/resources/views/layout/navbars/sidebar.blade.php
index 46031d8..80a8a7c 100644
--- a/resources/views/layout/navbars/sidebar.blade.php
+++ b/resources/views/layout/navbars/sidebar.blade.php
@@ -53,6 +53,14 @@
+
+
+
+
+ Pengajuan Seminar Proposal
+
+
+
@role('Super Administrator')
diff --git a/resources/views/layout/navbars/topbar.blade.php b/resources/views/layout/navbars/topbar.blade.php
index 5bae487..6c74cc9 100644
--- a/resources/views/layout/navbars/topbar.blade.php
+++ b/resources/views/layout/navbars/topbar.blade.php
@@ -5,12 +5,6 @@
-
- Home
-
-
- Contact
-
diff --git a/resources/views/monitoring/dpu_dpa.blade.php b/resources/views/monitoring/dpu_dpa.blade.php
new file mode 100644
index 0000000..d89df8b
--- /dev/null
+++ b/resources/views/monitoring/dpu_dpa.blade.php
@@ -0,0 +1,101 @@
+
+
+
+
+
+
{{ $title }}
+
+
+
+
+
+
+
+
+@include('layout.navbars.footer')
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/resources/views/monitoring/index.blade.php b/resources/views/monitoring/index.blade.php
new file mode 100644
index 0000000..f10edc4
--- /dev/null
+++ b/resources/views/monitoring/index.blade.php
@@ -0,0 +1,54 @@
+
+@extends('layout.app_guest',['title' => 'Monitoring'])
+@section('content')
+
+
+
+
+
+
+
+
+
+ @if ($errors->any())
+
+
+ @foreach ($errors->all() as $error )
+ {{ $error }}
+ @endforeach
+
+
+ @endif
+ @if(session('success'))
+
+
+ {{ session('success') }}
+
+
+ @endif
+ @if(session('error'))
+
+
+ {{ session('error') }}
+
+
+ @endif
+
+ @csrf
+ CASEID :
+
+
+ Cari
+
+
+
+
+
+
+
+
+
+
+@endsection
diff --git a/resources/views/monitoring/sempro.blade.php b/resources/views/monitoring/sempro.blade.php
new file mode 100644
index 0000000..48c33a1
--- /dev/null
+++ b/resources/views/monitoring/sempro.blade.php
@@ -0,0 +1,95 @@
+
+
+
+
+
+ {{ $title }}
+
+
+
+
+
+
+
+
+@include('layout.navbars.footer')
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/routes/web.php b/routes/web.php
index 9f51ce1..d635695 100644
--- a/routes/web.php
+++ b/routes/web.php
@@ -6,7 +6,9 @@
use App\Http\Controllers\AdminController;
use App\Http\Controllers\UserController;
use App\Http\Controllers\LayananPengajuanDpuDpaController;
+use App\Http\Controllers\LayananSeminarProposal;
use App\Http\Controllers\MahasiswaController;
+use App\Http\Controllers\MonitoringController;
use App\Http\Controllers\SesiLoginController;
/*
@@ -20,39 +22,65 @@
|
*/
-Route::get('/layanan-dpudpa/tambah', [LayananPengajuanDpuDpaController::class, 'tambah'])->name('layanan-dpudpa.tambah');
-Route::post('/layanan-dpudpa/tambah', [LayananPengajuanDpuDpaController::class, 'store'])->name('layanan-dpudpa.store');
-
-
Route::middleware(['guest'])->group(function () {
route::get('/admin/login',[SesiLoginController::class, 'login'])->name('login');
- route::post('/admin/login',[SesiLoginController::class, 'ceklogin'])->name('admin.ceklogin');
-
-
+ route::post('/admin/login',[SesiLoginController::class, 'ceklogin'])->name('admin.ceklogin');
});
+route::get('/', function(){
+ return view('index');
+})->name('laman-awal');
+
Route::get('/home', function(){
return redirect('/admin');
});
-Route::middleware(['auth'])->group( function () {
- Route::get('/admin', [AdminController::class, 'index'])->name('admin.dashboard');
- Route::get('/admin/logout', [SesiLoginController::class, 'logout'])->name('admin.logout');
- Route::get('/admin/layanan-dpudpa', [LayananPengajuanDpuDpaController::class, 'index'])->name('layanan-dpudpa.index');
+Route::group(['prefix' => 'admin', 'middleware' => 'auth'], function () {
+ Route::get('/', [AdminController::class, 'index'])->name('admin.dashboard');
+ Route::get('/logout', [SesiLoginController::class, 'logout'])->name('admin.logout');
+ //layanan Pengajuan DPU DPA
+ Route::get('/layanan-dpudpa', [LayananPengajuanDpuDpaController::class, 'index'])->name('layanan-dpudpa.index');
+ Route::DELETE('/layanan-dpudpa', [LayananPengajuanDpuDpaController::class, 'destroy'])->name('layanan-dpudpa.destroy');
+ Route::POST('/layanan-dpudpa', [LayananPengajuanDpuDpaController::class, 'terima'])->name('layanan-dpudpa.terima');
+ //layanan Pengajuan Seminar Proposal
+ Route::get('/layanan-sempro', [LayananSeminarProposal::class, 'index'])->name('layanan-sempro.index');
+ Route::DELETE('/layanan-sempro', [LayananSeminarProposal::class, 'destroy'])->name('layanan-sempro.destroy');
+ Route::POST('/layanan-sempro', [LayananSeminarProposal::class, 'terima'])->name('layanan-sempro.terima');
+
//User
- Route::get('/admin/users', [UserController::class, 'index'])->name('users.index');
- Route::POST('/admin/users', [UserController::class, 'store'])->name('users.store');
- Route::PUT('/admin/users', [UserController::class, 'update'])->name('users.update');
- Route::DELETE('/admin/users', [UserController::class, 'destroy'])->name('users.destroy');
+ Route::get('/users', [UserController::class, 'index'])->name('users.index');
+ Route::POST('/users', [UserController::class, 'store'])->name('users.store');
+ Route::PUT('/users', [UserController::class, 'update'])->name('users.update');
+ Route::DELETE('/users', [UserController::class, 'destroy'])->name('users.destroy');
//Mahasiswa
- Route::get('/admin/mahasiswa', [MahasiswaController::class, 'index'])->name('mahasiswa.index');
- Route::POST('/admin/mahasiswa', [MahasiswaController::class, 'store'])->name('mahasiswa.store');
- Route::PUT('/admin/mahasiswa', [MahasiswaController::class, 'update'])->name('mahasiswa.update');
- Route::DELETE('/admin/mahasiswa', [MahasiswaController::class, 'destroy'])->name('mahasiswa.destroy');
+ Route::get('/mahasiswa', [MahasiswaController::class, 'index'])->name('mahasiswa.index');
+ Route::POST('/mahasiswa', [MahasiswaController::class, 'store'])->name('mahasiswa.store');
+ Route::PUT('/mahasiswa', [MahasiswaController::class, 'update'])->name('mahasiswa.update');
+ Route::DELETE('/mahasiswa', [MahasiswaController::class, 'destroy'])->name('mahasiswa.destroy');
//User Roles
- Route::get('/admin/users-roles', [UserController::class, 'userroles_index'])->name('users-roles.index');
- Route::POST('/admin/users-roles', [UserController::class, 'userroles_store'])->name('users-roles.store');
- Route::POST('/admin/users-roles/assign', [UserController::class, 'userroles_assign'])->name('users-roles.assign');
+ Route::get('/users-roles', [UserController::class, 'userroles_index'])->name('users-roles.index');
+ Route::POST('/users-roles', [UserController::class, 'userroles_store'])->name('users-roles.store');
+ Route::POST('/users-roles/assign', [UserController::class, 'userroles_assign'])->name('users-roles.assign');
});
+//Layanan Pengajuan DPU/DPA
+Route::get('/layanan-dpudpa/cari', [LayananPengajuanDpuDpaController::class, 'cari'])->name('layanan-dpudpa.cari');
+Route::post('/layanan-dpudpa/cari', [LayananPengajuanDpuDpaController::class, 'search'])->name('layanan-dpudpa.search');
+Route::get('/layanan-dpudpa/tambah', [LayananPengajuanDpuDpaController::class, 'tambah'])->name('layanan-dpudpa.tambah');
+Route::post('/layanan-dpudpa/tambah', [LayananPengajuanDpuDpaController::class, 'store'])->name('layanan-dpudpa.store');
+Route::get('/layanan-dpudpa/cetak/{caseid}', [LayananPengajuanDpuDpaController::class, 'cetak'])->name('layanan-dpudpa.cetak');
+Route::get('/layanan-dpudpa/{url}/{caseid}', [LayananPengajuanDpuDpaController::class, 'ettd'])->name('layanan-dpudpa.ettd');
+Route::POST('/layanan-dpudpa/{url}/{caseid}', [LayananPengajuanDpuDpaController::class, 'submitettd'])->name('layanan-dpudpa.submitettd');
+//Layanan Pengajuan Sempro
+Route::get('/layanan-sempro/cari', [LayananSeminarProposal::class, 'cari'])->name('layanan-sempro.cari');
+Route::post('/layanan-sempro/cari', [LayananSeminarProposal::class, 'search'])->name('layanan-sempro.search');
+Route::get('/layanan-sempro/tambah', [LayananSeminarProposal::class, 'tambah'])->name('layanan-sempro.tambah');
+Route::post('/layanan-sempro/tambah', [LayananSeminarProposal::class, 'store'])->name('layanan-sempro.store');
+Route::get('/layanan-sempro/cetak/{caseid}', [LayananSeminarProposal::class, 'cetak'])->name('layanan-sempro.cetak');
+Route::get('/layanan-sempro/dpu/{caseid}', [LayananSeminarProposal::class, 'ettd'])->name('layanan-sempro.ettd');
+Route::POST('/layanan-sempro/dpu/{caseid}', [LayananSeminarProposal::class, 'submitettd'])->name('layanan-sempro.submitettd');
+
+Route::get('/monitoring', [MonitoringController::class, 'index'])->name('monitoring.index');
+Route::post('/monitoring', [MonitoringController::class, 'search'])->name('monitoring.search');
+Route::get('/monitoring/{caseid}', [MonitoringController::class, 'caseid'])->name('monitoring.caseid');
\ No newline at end of file