<?php

namespace App\Http\Controllers;

use App\Models\PengajuanDpuDpa;
use App\Models\PengajuanPemutihan;
use App\Models\PengajuanRevisiPublikasi;
use App\Models\PengajuanSempro;
use App\Models\PengajuanSidangAkhir;
use App\Models\PengajuanWisuda;
use Illuminate\Http\Request;

class MonitoringController extends Controller
{

public function index(){
    return view('monitoring.index',['title' => 'Cari Pengajuan Anda Menggunakan CASEID yang Dikirim Lewat Email']);
}

public function ruangbaca(){
    $data = PengajuanWisuda::
    where('caseid','!=','-')
    ->select(
        'pengajuan_wisudas.*',
        'mahasiswas.nama',
        'mahasiswas.nim',
        )
    ->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')
    ->orderBy('created_at','desc')
    ->get();
    return view('monitoring.pemutihan',['title' => 'Monitoring Pemutihan','data'=>$data]);
}

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]);
    }
    elseif($cek_caseid=="LA"){
        $data = PengajuanSidangAkhir::where('caseid',$caseid)
        ->select(
            'pengajuan_sidang_akhirs.*',
            'mahasiswas.nim',
            'mahasiswas.nama',
            'mahasiswas.judul_skripsi_id',
            'mahasiswas.judul_skripsi_en',
            '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.sidangakhir',['title' => 'Monitoring Pengajuan Sidang Akhir - '.$caseid,'data' => $data]);
    }
    elseif($cek_caseid=="LR"){
        $data = PengajuanRevisiPublikasi::where('caseid',$caseid)
        ->select(
            'pengajuan_revisi_publikasis.*',
            'mahasiswas.nim',
            'mahasiswas.nama',
            'mahasiswas.judul_skripsi_id',
            'mahasiswas.judul_jurnal',
            'mahasiswas.judul_artikel',
            'dosen_dpu.nama_gelar as dosen_dpu_nama_gelar',
            'dosen_penguji1.nama_gelar as dosen_penguji1_nama_gelar',
            'dosen_penguji2.nama_gelar as dosen_penguji2_nama_gelar',
            )
        ->join('mahasiswas','mahasiswas_id','=','mahasiswas.id')
        ->join('users as dosen_dpu','mahasiswas.dosen_dpu_id','=','dosen_dpu.id')
        ->join('users as dosen_penguji1','mahasiswas.dosen_penguji1_id','=','dosen_penguji1.id')
        ->join('users as dosen_penguji2','mahasiswas.dosen_penguji2_id','=','dosen_penguji2.id')
        ->first();
        if($data==null){
            return redirect()->route('monitoring.index')->with('error','CaseID Tidak Ditemukan');
        }
        return view('monitoring.revisipublikasi',['title' => 'Monitoring Pengajuan Publikasi / Revisi - '.$caseid,'data' => $data]);
    }
    elseif($cek_caseid=="LY"){
        $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',
            )
        ->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();
        if($data==null){
            return redirect()->route('monitoring.index')->with('error','CaseID Tidak Ditemukan');
        }
        return view('monitoring.wisuda',['title' => 'Monitoring Pengajuan Wisuda - '.$caseid,'data' => $data]);
    }
    else{
        return redirect()->route('monitoring.index')->with('error','CaseID Tidak Valid');
    }
}

}
