141 lines
4.6 KiB
PHP
141 lines
4.6 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use App\Models\Siswa;
|
|
use App\Models\Kriteria;
|
|
use App\Models\DetailSiswa;
|
|
use Illuminate\Http\Request;
|
|
use App\Models\NilaiKepentingan;
|
|
|
|
class DetailSiswaController extends Controller
|
|
{
|
|
public function index($id)
|
|
{
|
|
$siswa = Siswa::find($id);
|
|
$kriteria = Kriteria::All();
|
|
$kriteria2 = Kriteria::All();
|
|
$nilai_kepentingan = NilaiKepentingan::All();
|
|
$nilai_kepentingan2 = NilaiKepentingan::All();
|
|
$detail_siswa = DetailSiswa::where('id_siswa', $id)->get();
|
|
return view('admin.pages.detail-siswa', [
|
|
'id_siswa' => $id,
|
|
'detail_siswa' => $detail_siswa,
|
|
'kriteria' => $kriteria,
|
|
'kriteria2' => $kriteria2,
|
|
'nilai_kepentingan' => $nilai_kepentingan,
|
|
'nilai_kepentingan2' => $nilai_kepentingan2,
|
|
'siswa' => $siswa,
|
|
]);
|
|
}
|
|
|
|
public function store(Request $request)
|
|
{
|
|
$this->validate($request, [
|
|
'nilai' => 'required',
|
|
'id_kriteria' => 'required',
|
|
// 'id_nilai_kepentingan' => 'required',
|
|
], [
|
|
'nilai.required' => 'Nilai tidak boleh kosong',
|
|
'id_kriteria.required' => 'Kriteria tidak boleh kosong',
|
|
'id_kriteria.unique' => 'Kriteria sudah ada',
|
|
'id_siswa.required' => 'Siswa tidak boleh kosong',
|
|
'id_nilai_kepentingan.required' => 'Nilai Kepentingan tidak boleh kosong',
|
|
|
|
]);
|
|
|
|
if ($request->nilai != '0') {
|
|
|
|
|
|
$nilai_siswa = $request->nilai;
|
|
|
|
// jika $nilai_siswa besar atau sama dengan 85> maka $id_nilai_kepentingan = 4
|
|
// jika $nilai_siswa diantara 80-84 maka $id_nilai_kepentingan = 3
|
|
// jika $nilai_siswa diantara 75-79 maka $id_nilai_kepentingan = 2
|
|
// jika $nilai_siswa kecil dari <75 maka $id_nilai_kepentingan = 1
|
|
|
|
if ($nilai_siswa >= 85) {
|
|
$id_nilai_kepentingan = 4;
|
|
} elseif ($nilai_siswa >= 80) {
|
|
$id_nilai_kepentingan = 3;
|
|
} elseif ($nilai_siswa >= 75) {
|
|
$id_nilai_kepentingan = 2;
|
|
} else {
|
|
$id_nilai_kepentingan = 1;
|
|
}
|
|
} else {
|
|
$nilai_siswa = 0;
|
|
$id_nilai_kepentingan = $request->id_nilai_kepentingan;
|
|
}
|
|
|
|
|
|
|
|
DetailSiswa::create([
|
|
'id_kriteria' => $request->id_kriteria,
|
|
'id_siswa' => $request->id_siswa,
|
|
'nilai' => $nilai_siswa,
|
|
'id_nilai_kepentingan' => $id_nilai_kepentingan,
|
|
]);
|
|
|
|
return redirect()->back()->with('store', 'Data Detail Siswa berhasil ditambahkan');
|
|
}
|
|
|
|
public function update(Request $request, $id)
|
|
{
|
|
$detail_siswa = DetailSiswa::find($id);
|
|
|
|
$this->validate($request, [
|
|
'nilai' => 'required',
|
|
'id_kriteria' => 'required',
|
|
// 'id_nilai_kepentingan' => 'required',
|
|
], [
|
|
'id_kriteria.required' => 'Kriteria tidak boleh kosong',
|
|
'id_kriteria.unique' => 'Kriteria sudah ada',
|
|
'id_siswa.required' => 'Siswa tidak boleh kosong',
|
|
'id_nilai_kepentingan.required' => 'Nilai Kepentingan tidak boleh kosong',
|
|
|
|
]);
|
|
|
|
if ($request->nilai != '0') {
|
|
|
|
|
|
$nilai_siswa = $request->nilai;
|
|
|
|
// jika $nilai_siswa besar atau sama dengan 85> maka $id_nilai_kepentingan = 4
|
|
// jika $nilai_siswa diantara 80-84 maka $id_nilai_kepentingan = 3
|
|
// jika $nilai_siswa diantara 75-79 maka $id_nilai_kepentingan = 2
|
|
// jika $nilai_siswa kecil dari <75 maka $id_nilai_kepentingan = 1
|
|
|
|
if ($nilai_siswa >= 85) {
|
|
$id_nilai_kepentingan = 4;
|
|
} elseif ($nilai_siswa >= 80) {
|
|
$id_nilai_kepentingan = 3;
|
|
} elseif ($nilai_siswa >= 75) {
|
|
$id_nilai_kepentingan = 2;
|
|
} else {
|
|
$id_nilai_kepentingan = 1;
|
|
}
|
|
} else {
|
|
$nilai_siswa = 0;
|
|
$id_nilai_kepentingan = $request->id_nilai_kepentingan;
|
|
}
|
|
|
|
$detail_siswa->update([
|
|
'id_kriteria' => $request->id_kriteria,
|
|
'id_siswa' => $request->id_siswa,
|
|
'nilai' => $nilai_siswa,
|
|
'id_nilai_kepentingan' => $id_nilai_kepentingan,
|
|
|
|
]);
|
|
return redirect()->back()->with('update', 'Data Detail Siswa berhasil diubah');
|
|
}
|
|
|
|
public function destroy($id)
|
|
{
|
|
$detail_siswa = DetailSiswa::find($id);
|
|
$detail_siswa->delete();
|
|
|
|
return redirect()->back()->with('destroy', 'Data Detail Siswa berhasil dihapus');
|
|
}
|
|
}
|