public function delete(Request $request) { $this->validate($request, ['id' => 'required|exists:jurusan,id']); $check = Kelas::where('id_jurusan', $request->id)->count(); if ($check) { $responseText = "Jurusan batal dihapus: ada kelas yang terdaftar dengan jurusan ini."; if ($request->ajax()) { return response($responseText, 422); } else { return redirect()->route('kelas.jurusan')->with('message', $responseText); } } $responseText = ""; $responseCode = 0; $jurusan = Jurusan::findOrFail($request->id); if ($jurusan->delete()) { $responseText = "Jurusan berhasil dihapus."; $responseCode = 200; } else { $responseText = "Jurusan gagal dihapus."; $responseCode = 422; } if ($request->ajax()) { return response($responseText, $responseCode); } else { return redirect()->route('kelas.jurusan')->with('message', $responseText); } }
public static function copy($previousSemester = null, $currentSemester = null) { $previousSemester = $previousSemester ? $previousSemester : Semester::get_previous_semester()->id; $currentSemester = $currentSemester ? $currentSemester : Semester::get_active_semester()->id; $jumpKelas = Semester::find($previousSemester)->semester == 2; $now = \Carbon\Carbon::now(); $prevAssoc = Mengajar::select(\DB::raw("mengajar.id_guru, mengajar.id_kelas, mengajar.id_mapel"))->where('id_semester', '=', $previousSemester)->get()->toArray(); $fail = 0; $success = 0; foreach ($prevAssoc as $assoc) { $kelas = Kelas::find($assoc['id_kelas']); $tingkat = $jumpKelas ? max($kelas->tingkat - 1, 1) : $kelas->tingkat; $id_jurusan = $kelas->id_jurusan; $kelas = $kelas->kelas; $newKelas = Kelas::where('tingkat', $tingkat)->where('id_jurusan', $id_jurusan)->where('kelas', $kelas)->first(); if (!$newKelas) { $fail++; continue; } try { Mengajar::insert(['id_guru' => $assoc['id_guru'], 'id_kelas' => $newKelas->id, 'id_mapel' => $assoc['id_mapel'], 'id_semester' => $currentSemester]); } catch (\Illuminate\Database\QueryException $e) { $fail++; continue; } $success++; } return ['fail' => $fail, 'success' => $success]; }
public function save(Request $request) { $this->validate($request, ['semester' => 'required', 'tahun_ajaran' => 'required', 'password' => 'required']); if (!\Hash::check($request->input('password'), \Auth::user()->password)) { return redirect()->route('semester')->with('message', "Password tidak tepat."); } $check = Semester::where('semester', $request->input('semester'))->where('tahun_ajaran', $request->input('tahun_ajaran'))->first(); if ($check) { return redirect()->route('semester')->with('message', "Semester sudah ada."); } $old = Semester::get_active_semester(); Semester::where('aktif', 1)->update(['aktif' => 0]); try { $new = new Semester(); $new->semester = $request->input('semester'); $new->tahun_ajaran = $request->input('tahun_ajaran'); $new->aktif = 1; $new->save(); } catch (\Illuminate\Database\QueryException $e) { $old->aktif = 1; $old->save(); } // Naik kelas if ($request->input('semester') == 1) { $all_kelas = Kelas::get(); foreach ($all_kelas as $kelas) { $kelas->tingkat = $kelas->tingkat + 1; $kelas->save(); } } // AUTO // Buat kelas X if ($request->input('autoKelas')) { $all_kelas = Kelas::where('tingkat', '=', 2)->get(); foreach ($all_kelas as $kelas) { $new = new Kelas(); $new->tingkat = 1; $new->id_jurusan = $kelas->id_jurusan; $new->kelas = $kelas->kelas; $new->angkatan = $kelas->angkatan; $new->save(); } } // Ketuntasan Belajar if ($request->input('autoKB')) { KetuntasanBelajar::copy(); } // Asosiasi Mengajar if ($request->input('autoMengajar')) { Mengajar::copy(); } return redirect()->route('panel_utama')->with('message', "Semester telah berhasil dimajukan."); }
public function upload(Request $request) { $this->validate($request, ['id_kelas' => 'required|exists:kelas,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; foreach ($objPHPExcel->getWorksheetIterator() as $sheet) { $highestRow = $sheet->getHighestRow(); $highestColumn = $sheet->getHighestColumn(); $start = false; $id_kelas = $request->input('id_kelas'); 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; } // Kelas set foreach ($rowData[0] as $colNum => $colVal) { if (strpos(strtolower($colVal), 'kelas:') !== FALSE) { $kcheck = explode(" ", $rowData[0][$colNum + 1]); if (count($kcheck) < 3) { continue; } $kc_kelas = array_pop($kcheck); $kc_tingkat = array_shift($kcheck); if (!is_numeric($kc_tingkat)) { $kc_tingkat = array('X' => 1, 'XI' => 2, 'XII' => 3, 'XIV' => 4)[$kc_tingkat]; } $kc_jurusan = strtolower(implode(" ", $kcheck)); $jc = Jurusan::whereRaw("LOWER(lengkap) LIKE '{$kc_jurusan}'")->orWhereRaw("LOWER(singkat) LIKE '{$kc_jurusan}'")->first(); if (!$jc) { continue; } $kc_jurusan = $jc->id; $c = Kelas::where('tingkat', $kc_tingkat)->where('kelas', $kc_kelas)->where('id_jurusan', $kc_jurusan)->first(); if ($c) { $id_kelas = $c->id; } } } } if ($start) { $siswa = null; $data_count++; if (!empty($rowData[0][1])) { $siswa = Siswa::where('nis', $rowData[0][1])->first(); if ($siswa) { $siswa = Siswa::find($siswa->id); } else { $siswa = new Siswa(); } } if (!$siswa) { $errors++; continue; } $siswa->nis = $rowData[0][1]; $siswa->nisn = $rowData[0][2]; $siswa->nama = $rowData[0][3]; $siswa->id_kelas = $id_kelas; $siswa->tempat_lahir = $rowData[0][4]; $sheet->getStyle('F' . $row)->getNumberFormat()->setFormatCode('dd/mm/yyyy'); $siswa->tanggal_lahir = $this->id2sql_date_convert($sheet->getCellByColumnAndRow(5, $row)->getFormattedValue()); $siswa->jenis_kelamin = substr($rowData[0][6], 0, 1); $siswa->agama = $rowData[0][7]; $siswa->status_dalam_keluarga = str_replace('anak ', '', strtolower($rowData[0][8])); $siswa->anak_ke = $rowData[0][9]; $siswa->alamat_siswa = $rowData[0][10]; $siswa->nomor_telepon_rumah_siswa = $rowData[0][11]; $siswa->sekolah_asal = $rowData[0][12]; $siswa->diterima_di_kelas = $rowData[0][13]; $sheet->getStyle('O' . $row)->getNumberFormat()->setFormatCode('dd/mm/yyyy'); $siswa->tanggal_diterima = $this->id2sql_date_convert($sheet->getCellByColumnAndRow(14, $row)->getFormattedValue()); $siswa->nama_ayah = $rowData[0][15]; $siswa->nama_ibu = $rowData[0][16]; $siswa->alamat_orang_tua = $rowData[0][17]; $siswa->nomor_telepon_rumah_orang_tua = $rowData[0][18]; $siswa->pekerjaan_ayah = $rowData[0][19]; $siswa->pekerjaan_ibu = $rowData[0][20]; $siswa->nama_wali = $rowData[0][21]; $siswa->alamat_wali = $rowData[0][22]; $siswa->nomor_telepon_rumah_wali = $rowData[0][23]; $siswa->pekerjaan_wali = $rowData[0][24]; try { $siswa->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('siswa')->with('message', $message); }
/** * Display a listing of the resource. * * @return \Illuminate\Http\Response */ public function index() { $kelas = Kelas::where('dosen_id', Auth::user()->id)->get(); return view('kelas.index', compact('kelas')); }
public function getKelasByTingkat($nisn, $tingkat) { $data = Kelas::where('tingkat', $tingkat)->select('kelas')->get(); $kelasSiswa = KelasSiswa::where('NISN', $nisn)->select('kelas')->firstOrFail(); return view('admin/parsed/getTingkat')->with(['data' => $data, 'kelasSiswa' => $kelasSiswa]); }