public function akhir() { $pass['kelas_list'] = Kelas::get_daftar_kelas(false, false); $pass['mapel_list'] = Mapel::get_daftar_mapel(true); $pass['semester_list'] = Semester::get_daftar_semester(true); return view('nilai.lama.akhir', $pass); }
public static function check($semester = null) { $mapel = Mapel::where('kelompok', '!=', 'WK')->get()->count(); if ($mapel < 1) { return -1; } $kb = self::where('id_semester', $semester ? $semester : Semester::get_active_semester()->id)->get()->count(); return $mapel - $kb; }
public static function get_all_nilai($siswa, $mapel_list) { $data = []; $tingkat = $siswa->kelas_link->tingkat; foreach ($mapel_list as $entry) { $id_mapel = $entry->id_mapel; $mapel = Mapel::find($id_mapel); $nilai = self::get_nilai($siswa->id, $id_mapel); $kb = $mapel->ketuntasan_belajar->where('id_semester', Semester::get_active_semester()->id)->first(); if ($kb) { if ($tingkat == 1) { $kbp = $kb->kb_tingkat_1p; } elseif ($tingkat == 2) { $kbp = $kb->kb_tingkat_2p; } elseif ($tingkat == 3) { $kbp = $kb->kb_tingkat_3p; } else { $kbp = NULL; } } $data[$mapel->kelompok][$mapel->nama]['pengetahuan']['kb'] = $kbp; $data[$mapel->kelompok][$mapel->nama]['pengetahuan']['angka'] = $nilai ? $nilai->nilai_pengetahuan : NULL; $data[$mapel->kelompok][$mapel->nama]['pengetahuan']['predikat'] = $nilai ? self::predikat($nilai->nilai_pengetahuan) : NULL; $data[$mapel->kelompok][$mapel->nama]['pengetahuan']['deskripsi'] = $nilai ? $nilai->deskripsi_pengetahuan : NULL; if ($kb) { if ($tingkat == 1) { $kbk = $kb->kb_tingkat_1k; } elseif ($tingkat == 2) { $kbk = $kb->kb_tingkat_2k; } elseif ($tingkat == 3) { $kbk = $kb->kb_tingkat_3k; } else { $kbk = NULL; } } $data[$mapel->kelompok][$mapel->nama]['keterampilan']['kb'] = $kbk; $data[$mapel->kelompok][$mapel->nama]['keterampilan']['angka'] = $nilai ? $nilai->nilai_keterampilan : NULL; $data[$mapel->kelompok][$mapel->nama]['keterampilan']['predikat'] = $nilai ? self::predikat($nilai->nilai_keterampilan) : NULL; $data[$mapel->kelompok][$mapel->nama]['keterampilan']['deskripsi'] = $nilai ? $nilai->deskripsi_keterampilan : NULL; } return $data; }
public function setup(Request $request) { // Set semester $new = new Semester(); $new->semester = $request->input('semester'); $new->tahun_ajaran = $request->input('tahun_ajaran'); $new->aktif = 1; $new->save(); $input = $request->except(['_token', 'semester', 'tahun_ajaran']); // Set pengaturan foreach ($input as $key => $value) { Pengaturan::vset($key, $value); } // Cek apakah mata pelajaran wali kelas sudah ada, kalau belum, tambah $wk = Mapel::where('kelompok', 'WK')->get(); if (!$wk) { App\Mapel::create(['nama' => 'Wali kelas', 'singkat' => 'WALI', 'kelompok' => 'WK']); } return redirect()->route('kelas.jurusan')->with('message', "Data semester dan informasi sekolah telah dikonfigurasi."); }
public function save(Request $request) { $validation = ['id_guru' => 'required|exists:guru,id', 'id_kelas' => 'required|exists:kelas,id', 'id_mapel' => 'required|exists:mapel,id']; $this->validate($request, $validation); if (Mapel::find($request->input('id_mapel'))->kelompok == "WK") { $c = Mengajar::join('mapel', 'mengajar.id_mapel', '=', 'mapel.id')->where('mengajar.id_kelas', $request->input('id_kelas'))->where('mapel.kelompok', 'WK')->where('mengajar.id_semester', Semester::get_active_semester()->id)->first(); if ($c) { return response("Kelas ini sudah memiliki wali kelas (" . $c->guru_link->nama . ").", 422); } } $new = new Mengajar(); $new->id_guru = $request->input('id_guru'); $new->id_kelas = $request->input('id_kelas'); $new->id_mapel = $request->input('id_mapel'); $new->id_semester = Semester::get_active_semester()->id; try { $save = $new->save(); } catch (\Illuminate\Database\QueryException $e) { return response('Operasi gagal. Coba cek kembali, mungkin ada kesalahan atau data yang ingin ditambahkan sudah ada.', 422); } return "Asosiasi pengajaran baru berhasil ditambahkan."; }
/** * Remove the specified resource from storage. * * @param int $id * @return \Illuminate\Http\Response */ public function destroy(Mapel $mapel) { $mapel->delete(); return redirect('/mapel'); }
public function index() { $pass['semester_list'] = Semester::get_daftar_semester(true); $pass['mapel_list'] = Mapel::get_daftar_mapel(true); return view('ralat.form', $pass); }
public function mass(Request $request) { if (!$request->ajax()) { abort(404); } $this->validate($request, ['type' => 'required|integer']); $semester = Semester::get_active_semester()->id; if (!($prevSemester = Semester::get_previous_semester())) { return response("Semester sebelumnya tidak dapat ditemukan.", 422); } $prevSemester = $prevSemester->id; if ($request->type == 1 || $request->type == 2) { $targets = Mapel::get_unset_kb(); foreach ($targets as $target) { $new = new KetuntasanBelajar(); $new->id_mapel = $target->id; $new->id_semester = $semester; if ($target->kelompok == 'A' | $target->kelompok == 'B' | $target->kelompok == 'C1') { $n = 60; } elseif ($target->kelompok == 'C2' | $target->kelompok == 'C3') { $n = 70; } $new->kb_tingkat_1p = $n; $new->kb_tingkat_2p = $n; $new->kb_tingkat_3p = $n; $new->kb_tingkat_1k = $n; $new->kb_tingkat_2k = $n; $new->kb_tingkat_3k = $n; $new->save(); } } if ($request->type == 2) { $targets = Mapel::get_set_kb(); foreach ($targets as $target) { $new = KetuntasanBelajar::where('id_mapel', '=', $target->id)->where('id_semester', '=', $semester)->first(); $new->id_semester = $semester; if ($target->kelompok == 'A' | $target->kelompok == 'B' | $target->kelompok == 'C1') { $n = 60; } elseif ($target->kelompok == 'C2' | $target->kelompok == 'C3') { $n = 70; } KetuntasanBelajar::where('id_mapel', '=', $target->id)->where('id_semester', '=', $semester)->update(['kb_tingkat_1p' => $n, 'kb_tingkat_2p' => $n, 'kb_tingkat_3p' => $n, 'kb_tingkat_1k' => $n, 'kb_tingkat_2k' => $n, 'kb_tingkat_3k' => $n]); } } if ($request->input('type') == 3) { $copy = null; try { $copy = KetuntasanBelajar::copy($prevSemester, $semester); } catch (Exception $e) { return response("Penyalinan aturan ketuntasan belajar dari semester sebelumnya gagal dilakukan.", 422); } } return 'KB berhasil diubah secara massal.'; }
public function upload_save(Request $request) { $this->validate($request, ['id_mapel' => 'required|exists:mapel,id', 'excel' => 'required']); $inputFileName = $request->excel; try { $inputFileType = PHPExcel_IOFactory::identify($inputFileName); $objReader = PHPExcel_IOFactory::createReader($inputFileType); $objPHPExcel = $objReader->load($inputFileName); } catch (Exception $e) { die('Error loading file "' . pathinfo($inputFileName, PATHINFO_BASENAME) . '": ' . $e->getMessage()); } $data_count = 0; $errors = 0; $semester = Semester::get_active_semester()->id; foreach ($objPHPExcel->getWorksheetIterator() as $sheet) { $highestRow = $sheet->getHighestRow(); $highestColumn = $sheet->getHighestColumn(); $start = false; $id_mapel = $request->input('id_mapel'); for ($row = 1; $row <= $highestRow; $row++) { $rowData = $sheet->rangeToArray('A' . $row . ':' . $highestColumn . $row, NULL, TRUE, FALSE); if (!$start) { // Start check if ($rowData[0][0] == "1" || $rowData[0][0] == "1.") { $start = true; } // Mapel set foreach ($rowData[0] as $colNum => $colVal) { if (strpos(strtolower($colVal), 'mata pelajaran:') !== FALSE || strpos(strtolower($colVal), 'mapel:') !== FALSE) { $c = Mapel::where('nama', 'LIKE', $rowData[0][$colNum + 1])->first(); if ($c) { $id_mapel = $c->id; } } } } if ($start) { $id_siswa = null; $data_count++; if (!empty($rowData[0][1])) { $siswa = Siswa::where('nis', $rowData[0][1])->first(); if (!$siswa) { $errors++; $id_siswa = null; continue; } $id_siswa = $siswa->id; } if (!$id_siswa) { continue; } $new = new NilaiAkhir(); $created = null; $check = NilaiAkhir::where('id_mapel', $id_mapel)->where('id_siswa', $id_siswa)->where('id_semester', $semester); $old = $check->first(); if ($old) { $created = $old->created_at; $check->delete(); } $new->id_siswa = $id_siswa; $new->id_mapel = $id_mapel; $new->id_semester = $semester; $new->nilai_pengetahuan = $rowData[0][3] ? $rowData[0][3] : null; $new->deskripsi_pengetahuan = $rowData[0][4] ? $rowData[0][4] : null; $new->nilai_keterampilan = $rowData[0][5] ? $rowData[0][5] : null; $new->deskripsi_keterampilan = $rowData[0][6] ? $rowData[0][6] : null; if ($created) { $new->created_at = $created; } try { $new->save(); } catch (\Illuminate\Database\QueryException $e) { $errors++; } } } } $message = "Upload file selesai. Terbaca ada {$data_count} data. "; $message .= $errors > 0 ? "Ada masalah dengan {$errors} data, dan tidak dapat dimasukkan ke dalam database." : "Semua data berhasil ditambahkan."; return redirect()->route('nilai.akhir')->with('message', $message); }