diff --git a/app/Http/Controllers/MonitoringController.php b/app/Http/Controllers/MonitoringController.php
index 12ee9bc..ad5b447 100644
--- a/app/Http/Controllers/MonitoringController.php
+++ b/app/Http/Controllers/MonitoringController.php
@@ -3,6 +3,7 @@
namespace App\Http\Controllers;
use App\Models\PengajuanDpuDpa;
+use App\Models\PengajuanPemutihan;
use App\Models\PengajuanRevisiPublikasi;
use App\Models\PengajuanSempro;
use App\Models\PengajuanSidangAkhir;
@@ -27,6 +28,15 @@ public function ruangbaca(){
->join('mahasiswas','mahasiswas.id','=','mahasiswas_id')->get();
return view('monitoring.ruangbaca',['title' => 'Monitoring Pengajuan Wisuda Untuk Ruang Baca','data'=>$data]);
}
+public function pemutihan(){
+ $data = PengajuanPemutihan::
+ select(
+ 'pengajuan_pemutihans.*',
+ 'users.nama_gelar as dosen_pengampu',
+ )
+ ->join('users','users.id','=','dosen_id')->get();
+ return view('monitoring.pemutihan',['title' => 'Monitoring Pemutihan','data'=>$data]);
+}
public function search(Request $request){
return redirect()->route('monitoring.caseid',['caseid'=>$request->caseid]);
diff --git a/app/Http/Controllers/layananPemutihanController.php b/app/Http/Controllers/layananPemutihanController.php
index c78e738..ff912c6 100644
--- a/app/Http/Controllers/layananPemutihanController.php
+++ b/app/Http/Controllers/layananPemutihanController.php
@@ -4,13 +4,22 @@
use App\Models\PengajuanPemutihan;
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;
class LayananPemutihanController extends Controller
{
public function index(){
- $data = PengajuanPemutihan::get();
+ $data = PengajuanPemutihan::
+ select(
+ 'pengajuan_pemutihans.*',
+ 'users.nama_gelar as dosen_pengampu',
+ )
+ ->join('users','dosen_id','=','users.id')->get();
return view('layanan-pemutihan.index',['title' => 'Pengajuan Pemutihan | Admin Dashboard','data' => $data]);
}
@@ -38,8 +47,78 @@ public function store(Request $request){
'bukti_pemutihan.mimes' => 'Format File tidak berupa file JPG / PDF, cek kembali file anda',
'bukti_pemutihan.max' => 'Ukuran File Anda lebih dari 4Mb, Cek Ulang File anda',
]);
+ //get lastid + 1
+ $countcaseid = PengajuanPemutihan::latest()->first()->id;
+ $caseid = "P".date_format(date_create(),"Y").$countcaseid+1;
-
+ $data_pemutihan['caseid'] = $caseid;
+ $data_pemutihan['mata_kuliah'] = $request->mata_kuliah;
+ $data_pemutihan['dosen_id'] = $request->dosen_pengampu;
+ $data_pemutihan['program_studi'] = $request->program_studi;
+ $data_pemutihan['ruang_kelas'] = $request->ruang_kelas;
+ $data_pemutihan['tanggal_kelas'] = $request->tanggal_kelas;
+ $data_pemutihan['jam_kelas'] = $request->jam_kelas;
+ $data_pemutihan['jurnal_kuliah'] = $request->jurnal_kuliah;
+ $data_pemutihan['alasan'] = $request->alasan;
+ $data_pemutihan['keterangan'] = $request->keterangan;
+
+ $bukti_pemutihan = $request->file('bukti_pemutihan');
+ $bukti_pemutihan_name = 'P_'.str_replace(' ', '_',$bukti_pemutihan->getClientOriginalName());
+ $path = $request->tanggal_kelas.'/'.$request->tanggal_kelas.'/'.$bukti_pemutihan_name;
+ //jika berhasil save file dan save data mhs maka pengajuan akan diisi
+ if(Storage::disk('public')->put($path, file_get_contents($bukti_pemutihan))){
+ $data_pemutihan['bukti_izin_dosen'] = $bukti_pemutihan_name;
+ PengajuanPemutihan::create($data_pemutihan);
+ return redirect()->route('layanan-pemutihan.tambah')->with('success','Sukses Tambah Data, Silahkan Monitoring Pengajuan Anda melalui menu monitoring');
+ }
+ return redirect()->route('layanan-pemutihan.tambah')->with('error','Gagal Tambah data, Cek kembali data yang anda masukkan');
+
+}
+
+public function cetak($caseid){
+ $data = PengajuanPemutihan::
+ select(
+ 'pengajuan_pemutihans.*',
+ 'users.nama_gelar as dosen_pengampu',
+ 'users.nip as dosen_pengampu_nip',
+ )
+ ->join('users','dosen_id','=','users.id')
+ ->where('caseid',$caseid)
+ ->first();
+
+ //jika data kosong maka render ini
+ if(is_null($data)){
+ return redirect()->route('monitoring.caseid',['caseid'=>$caseid])->with('error','Data Dengan CASEID Tersebut Tidak ada');
+ }
+ $tanggal_kelas = strtotime($data->tanggal_kelas);
+ $data_pdf = [
+ 'title' => 'Form Berita Acara Perkuliahan dalam Kondisi Gangguan Sistem',
+ // 'date' => Carbon::now()->format('d-m-Y'),
+ 'date' => $data->created_at->format('d-m-Y'),
+ 'mata_kuliah' => $data->mata_kuliah,
+ 'program_studi' => $data->program_studi,
+ 'ruang_kelas' => $data->ruang_kelas,
+ 'tanggal_kelas' => date('d-m-Y',$tanggal_kelas),
+ 'jam_kelas' => $data->jam_kelas,
+ 'jurnal_kuliah' => $data->jurnal_kuliah,
+ 'alasan' => $data->alasan,
+ 'keterangan' => $data->keterangan,
+ 'dosen_pengampu' => $data->dosen_pengampu,
+ 'dosen_pengampu_nip' => $data->dosen_pengampu_nip,
+ 'dosen_pengampu_qrcode' => base64_encode(QrCode::size(100)->generate($data->dosen_pengampu.'_TTD_'.$data->created_at)),
+ ];
+ $pdf = Pdf::loadView('layanan-pemutihan.cetak', $data_pdf);
+ return $pdf->setPaper('a4', 'potrait')->stream($caseid.'-Form Berita Acara Perkuliahan dalam Kondisi Gangguan Sistem.pdf');
+}
+
+public function selesai($caseid, Request $request){
+ $data = PengajuanPemutihan::where('caseid', $caseid)->first();
+ if($data==null){
+ return redirect()->route('layanan-pemutihan.index')->with('error','Gagal Memproses, Data tidak ditemukan');
+ }
+ $data->status_operator = Carbon::now();
+ $data->save();
+ return redirect()->route('layanan-pemutihan.index')->with('success','Data Berhasil Disimpan, status akan diupdate menjadi selesai');
dd($request->all());
}
}
diff --git a/app/Models/PengajuanPemutihan.php b/app/Models/PengajuanPemutihan.php
index adf7006..97cb49c 100644
--- a/app/Models/PengajuanPemutihan.php
+++ b/app/Models/PengajuanPemutihan.php
@@ -10,6 +10,7 @@ class PengajuanPemutihan extends Model
use HasFactory;
protected $fillable = [
+ 'caseid',
'dosen_id',
'program_studi',
'mata_kuliah',
diff --git a/database/migrations/2024_05_14_132120_alter_table_pengajuan_pemutihans_add_column_status_operator.php b/database/migrations/2024_05_14_132120_alter_table_pengajuan_pemutihans_add_column_status_operator.php
new file mode 100644
index 0000000..759be7c
--- /dev/null
+++ b/database/migrations/2024_05_14_132120_alter_table_pengajuan_pemutihans_add_column_status_operator.php
@@ -0,0 +1,30 @@
+foreignId('user_roles_id')->constrained();
+ $table->timestamp('status_operator')->nullable()->after('dosen_id');
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::table('pengajuan_pemutihans', function (Blueprint $table) {
+ // $table->drop('user_roles_id');
+ $table->drop('status_operator');
+ });
+ }
+};
diff --git a/resources/views/index.blade.php b/resources/views/index.blade.php
index b1cfbed..01e0870 100644
--- a/resources/views/index.blade.php
+++ b/resources/views/index.blade.php
@@ -140,6 +140,16 @@
Pengajuan Syarat Mengikuti Wisuda
+
diff --git a/resources/views/layanan-pemutihan/cetak.blade.php b/resources/views/layanan-pemutihan/cetak.blade.php
new file mode 100644
index 0000000..cf6cebf
--- /dev/null
+++ b/resources/views/layanan-pemutihan/cetak.blade.php
@@ -0,0 +1,146 @@
+
+
+
+
+ {{ $title }}
+
+
+
+
+
+ Dengan ini diberitahukan bahwa
+
+
+ Mata Kuliah / Program Studi
+ :
+ {{ $mata_kuliah }} / {{$program_studi}}
+
+
+ Dosen Pengampu
+ :
+ {{ $dosen_pengampu }}
+
+
+ Ruang Kelas
+ :
+ {{ $ruang_kelas }}
+
+
+ Tanggal Kelas
+ :
+ {{ $tanggal_kelas }}
+
+
+ Jam kelas
+ :
+ {{ $jam_kelas }}
+
+
+ Jurnal Kuliah
+ :
+ {{ $jurnal_kuliah }}
+
+
+ Telah dilaksanakan sesuai jadwal tanpa menggunakan presensi QR Code dan/atau e-learning karena :
+ {{ $alasan }}
+
+ Keterangan :
+ {!! nl2br($keterangan) !!}
+
+ Oleh karena itu supaya entry presensi mahasiswa dan jurnal kuliah ke SISTER dilakukan secara MANUAL oleh Operator Akademik Prodi.
+
+
+
+ Jember, {{ $date }}
+
+
+
+ Dosen Pengampu,
+
+
+
+
+
+
+
+
+
+
+
+ {{ $dosen_pengampu }}
+
+
+
+ NIP. {{ $dosen_pengampu_nip }}
+
+
+
+
\ No newline at end of file
diff --git a/resources/views/layanan-pemutihan/index.blade.php b/resources/views/layanan-pemutihan/index.blade.php
index baf872d..a35982c 100644
--- a/resources/views/layanan-pemutihan/index.blade.php
+++ b/resources/views/layanan-pemutihan/index.blade.php
@@ -17,12 +17,12 @@
-
Pengajuan Seminar Proposal
+ Pengajuan Pemutihan
Admin
- Pengajuan Seminar Proposal
+ Pengajuan Pemutihan
@@ -65,9 +65,11 @@
CaseID
- NIM
- Nama
- DPU
+ Program Studi
+ Mata Kuliah
+ Dosen Pengampu
+ Ruang Kuliah
+ Tanggal
Action
@@ -75,15 +77,16 @@
@foreach ($data as $datas)
{{ $datas->caseid }}
- {{ $datas->nim }}
- {{ $datas->nama }}
- {{ $datas->dpu_nama_gelar }}
+ {{ $datas->program_studi }}
+ {{ $datas->mata_kuliah }}
+ {{ $datas->dosen_pengampu }}
+ {{ $datas->ruang_kelas }}
+ {{ $datas->tanggal_kelas }}
- Details |
- @if($datas->ttd_operator=="-")
- Terima |
- Tolak
- @endif
+
@@ -99,64 +102,49 @@
-
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
+
Dosen Pengampu: {{ $datas->ttd_dosen === '-' ? 'Belum Tanda Tangan' : 'Telah TTD Pada '.$datas->ttd_dosen }}
+
+
Jurnal Kuliah:
+
+
Alasan Pemutihan:
+
+
Keterangan:
+
- @if($datas->ttd_operator != '-')
+ @if($datas->status_operator == null)
-
Kirim Ulang Email :
-
-
-
@@ -179,52 +167,17 @@
-
-
-
-
-
-
-
- ×
-
Perhatian!
- Alasan yang Dimasukkan Disini, Akan dikirimkan melalui Email Kepada Mahasiswa Terkait.
-
-
-
-
-
-
-
-
+
@endforeach
CaseID
- NIM
- DPU
- DPA
+ Program Studi
+ Mata Kuliah
+ Dosen Pengampu
+ Ruang Kuliah
+ Tanggal
Action
diff --git a/resources/views/layanan-pemutihan/tambah.blade.php b/resources/views/layanan-pemutihan/tambah.blade.php
index 562bbd2..df0bf56 100644
--- a/resources/views/layanan-pemutihan/tambah.blade.php
+++ b/resources/views/layanan-pemutihan/tambah.blade.php
@@ -76,7 +76,7 @@
Alasan Pemutihan:
Keterangan:
-
Upload Bukti Pemutihan: *(File JPG/PDF, Maks 4Mb)
diff --git a/resources/views/layout/app_guest.blade.php b/resources/views/layout/app_guest.blade.php
index 39b9ffb..5146cdd 100644
--- a/resources/views/layout/app_guest.blade.php
+++ b/resources/views/layout/app_guest.blade.php
@@ -115,6 +115,14 @@
+
+
+
+
+ Monitoring Pemutihan
+
+
+
diff --git a/resources/views/monitoring/pemutihan.blade.php b/resources/views/monitoring/pemutihan.blade.php
new file mode 100644
index 0000000..d9a51ad
--- /dev/null
+++ b/resources/views/monitoring/pemutihan.blade.php
@@ -0,0 +1,120 @@
+
+@extends('layout.app_guest',['title' => $title])
+@push('css')
+
+
+
+@endpush
+@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!
+ Data yang tampil disini adalah data Real time. Jika Belum melakukan pengisian maka data tidak akan muncul
+
+
+
+
+ CaseID
+ Program Studi
+ Mata Kuliah
+ Dosen Pengampu
+ Ruang Kuliah
+ Tanggal
+ Status
+
+
+
+ @foreach($data as $item)
+
+ {{$item->caseid}}
+ {{$item->program_studi}}
+ {{$item->mata_kuliah}}
+ {{$item->dosen_pengampu}}
+ {{$item->ruang_kelas}}
+ {{$item->tanggal_kelas}}
+ {{$item->status_operator}}
+
+ @endforeach
+
+
+
+ CaseID
+ Program Studi
+ Mata Kuliah
+ Dosen Pengampu
+ Ruang Kuliah
+ Tanggal
+ Status
+
+
+
+
+
+
+
+
+
+
+
+@endsection
+@push('js')
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@endpush
\ No newline at end of file
diff --git a/routes/web.php b/routes/web.php
index 133ebb4..96d57d1 100644
--- a/routes/web.php
+++ b/routes/web.php
@@ -49,7 +49,7 @@
Route::get('/layanan-pemutihan', [LayananPemutihanController::class, 'index'])->name('layanan-pemutihan.index');
Route::DELETE('/layanan-pemutihan', [LayananPemutihanController::class, 'destroy'])->name('layanan-pemutihan.destroy');
Route::POST('/layanan-pemutihan', [LayananPemutihanController::class, 'terima'])->name('layanan-pemutihan.terima');
- Route::POST('/layanan-pemutihan/resend/{caseid}', [LayananPemutihanController::class, 'resend'])->name('layanan-pemutihan.resend');
+ Route::POST('/layanan-pemutihan/selesai/{caseid}', [LayananPemutihanController::class, 'selesai'])->name('layanan-pemutihan.selesai');
//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');
@@ -144,4 +144,5 @@
Route::get('/monitoring', [MonitoringController::class, 'index'])->name('monitoring.index');
Route::post('/monitoring', [MonitoringController::class, 'search'])->name('monitoring.search');
Route::get('/monitoring/ruangbaca', [MonitoringController::class, 'ruangbaca'])->name('monitoring.ruangbaca');
+Route::get('/monitoring/pemutihan', [MonitoringController::class, 'pemutihan'])->name('monitoring.pemutihan');
Route::get('/monitoring/{caseid}', [MonitoringController::class, 'caseid'])->name('monitoring.caseid');
\ No newline at end of file