Esempio n. 1
0
 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];
 }
Esempio n. 2
0
 public function datalist(Request $request)
 {
     $data = Ekskul::get_siswa($request->input('ekstrakurikuler'));
     $tbody = '';
     if (count($data) < 1) {
         return response(null, 422);
     } else {
         foreach ($data as $i) {
             $tbody .= '<tr><td>' . $i->siswa_nis . '</td>' . '<td>' . $i->siswa_nama . '</td>' . '<td>' . Kelas::find($i->kelas)->name(false) . '</td>' . '<td>' . $i->nilai . '</td>' . "<td><span class='nobr'><a href=\"javascript:edit('" . $i->siswa_id . "','" . htmlspecialchars($request->input('ekstrakurikuler')) . "')\"><i class='fa fa-pencil'></i> Edit</a></span> " . "<span class='nobr'><a href=\"javascript:hapus('" . $i->siswa_id . "','" . htmlspecialchars($request->input('ekstrakurikuler')) . "')\"><i class='fa fa-eraser'></i> Hapus</a></span></td>" . "</tr>";
         }
     }
     return ['data' => $tbody, 'ekstrakurikuler' => $request->input('ekstrakurikuler')];
 }
 public function ekskul_datalist(Request $request)
 {
     $data = Ekskul::get_siswa($request->input('ekstrakurikuler'), $request->input('id_semester'));
     $tbody = '';
     if (count($data) < 1) {
         return response(null, 422);
     } else {
         foreach ($data as $i) {
             $tbody .= '<tr><td>' . $i->siswa_nis . '</td>' . '<td>' . $i->siswa_nama . '</td>' . '<td>' . Kelas::find($i->kelas)->name(false) . '</td>' . '<td>' . $i->nilai . '</td>' . "<td><span class='nobr'>[ <a href=\"javascript:lihat('" . $i->siswa_id . "','" . htmlspecialchars($request->input('ekstrakurikuler')) . "','" . htmlspecialchars($request->input('id_semester')) . "')\">Lihat</a> ]</span> " . "</tr>";
         }
     }
     return ['data' => $tbody, 'ekstrakurikuler' => $request->input('ekstrakurikuler')];
 }
Esempio n. 4
0
 public function save(Request $request)
 {
     $this->validate($request, ['id' => 'required|min:0', 'nama' => 'required', 'nis' => 'required|unique:siswa,nis,' . $request->id, 'nisn' => 'required|unique:siswa,nisn,' . $request->id]);
     if ($request->id <= 0) {
         $new = new Siswa();
     } else {
         $new = Siswa::find($request->id);
     }
     if ($request->id_kelas != null) {
         $c = Kelas::find($request->id_kelas);
         if (!$c) {
             return "ID kelas tidak ditemukan.";
         }
     } else {
         $request->id_kelas = null;
     }
     $new->nama = $request->nama;
     $new->nis = $request->nis;
     $new->nisn = $request->nisn;
     $new->id_kelas = $request->id_kelas;
     $new->tempat_lahir = $request->tempat_lahir;
     $new->tanggal_lahir = $this->id2sql_date_convert($request->tanggal_lahir);
     $new->agama = $request->agama;
     $new->status_dalam_keluarga = $request->status_dalam_keluarga;
     $new->anak_ke = $request->anak_ke;
     $new->alamat_siswa = $request->alamat_siswa;
     $new->nomor_telepon_rumah_siswa = $request->nomor_telepon_rumah_siswa;
     $new->sekolah_asal = $request->sekolah_asal;
     $new->diterima_di_kelas = $request->diterima_di_kelas;
     $new->tanggal_diterima = $this->id2sql_date_convert($request->tanggal_diterima);
     $new->nama_ayah = $request->nama_ayah;
     $new->nama_ibu = $request->nama_ibu;
     $new->alamat_orang_tua = $request->alamat_orang_tua;
     $new->nomor_telepon_rumah_orang_tua = $request->nomor_telepon_rumah_orang_tua;
     $new->pekerjaan_ayah = $request->pekerjaan_ayah;
     $new->pekerjaan_ibu = $request->pekerjaan_ibu;
     $new->nama_wali = $request->nama_wali;
     $new->alamat_wali = $request->alamat_wali;
     $new->nomor_telepon_rumah_wali = $request->nomor_telepon_rumah_wali;
     $new->pekerjaan_wali = $request->pekerjaan_wali;
     try {
         $new->save();
     } catch (\Illuminate\Database\QueryException $e) {
         return $request->ajax() ? response($e, 422) : redirect()->route('siswa.tambah')->with('message', $e);
     }
     if ($request->ajax()) {
         return $request->id == 0 ? response('Data berhasil ditambahkan.', 200) : response('Data berhasil diubah.', 200);
     } else {
         return $request->id == 0 ? redirect()->route('siswa.tambah')->with('message', 'Data berhasil ditambahkan.') : redirect()->route('siswa.edit', ['message', 'Data berhasil diubah.', 'id' => $request->id]);
     }
 }
Esempio n. 5
0
 public function delete(Request $request)
 {
     $check = Siswa::where('id_kelas', $request->id)->first();
     if ($check) {
         return response("Ada siswa yang terdaftar di dalam kelas ini.", 422);
     }
     $kelas = Kelas::find($request->id);
     if ($kelas) {
         try {
             $kelas->delete();
         } catch (\Illuminate\Database\QueryException $e) {
             return response('Operasi gagal. Coba cek kembali, mungkin ada kesalahan atau data yang ingin ditambahkan sudah ada.', 422);
         }
         return response('Kelas telah dihapus.', 200);
     } else {
         return response('Kelas tidak ditemukan.', 422);
     }
 }
Esempio n. 6
0
 /**
  * Run the database seeds.
  */
 public function run()
 {
     $faker = Faker\Factory::create('id_ID');
     for ($i = 1; $i <= 120; ++$i) {
         $kelas = 1;
         if ($i > 30) {
             $kelas = 2;
         }
         if ($i > 60) {
             $kelas = 3;
         }
         if ($i > 90) {
             $kelas = 4;
         }
         $gender = $faker->randomElement(array('male', 'female'));
         $jk = $gender == 'male' ? 'L' : 'P';
         $alamat = $faker->address;
         $kota = $faker->city;
         $kelas_menerima = 'X ' . Jurusan::find(Kelas::find($kelas)->id_jurusan)->lengkap . ' ' . Kelas::find($kelas)->kelas;
         App\Siswa::create(['nama' => strtoupper($faker->firstName($gender) . ' ' . $faker->lastName), 'nis' => ($kelas <= 2 ? '14' : '15') . str_pad($i, 7, '0', STR_PAD_LEFT), 'nisn' => '999' . str_pad($i, 7, '0', STR_PAD_LEFT), 'tempat_lahir' => strtoupper($kota), 'tanggal_lahir' => $faker->date('Y-m-d', '1999-12-31'), 'jenis_kelamin' => $jk, 'agama' => 'Islam', 'anak_ke' => $faker->numberBetween(1, 4), 'alamat_siswa' => $alamat, 'nomor_telepon_rumah_siswa' => null, 'sekolah_asal' => strtoupper('SMP Negeri ' . $faker->numberBetween(1, 9) . ' ' . $kota), 'id_kelas' => $kelas, 'diterima_di_kelas' => $kelas_menerima, 'tanggal_diterima' => '2013-07-15', 'nama_ayah' => strtoupper($faker->name('male')), 'nama_ibu' => strtoupper($faker->name('female')), 'alamat_orang_tua' => $alamat, 'nomor_telepon_rumah_orang_tua' => null, 'pekerjaan_ayah' => 'Wirausaha', 'pekerjaan_ibu' => 'Ibu rumah tangga', 'nama_wali' => null, 'nomor_telepon_rumah_wali' => null, 'pekerjaan_wali' => null]);
     }
 }
Esempio n. 7
0
 /**
  * Remove the specified resource from storage.
  *
  * @param  int  $id
  * @return Response
  */
 public function destroy($id, Request $request)
 {
     if ($request->ajax()) {
         $kelas = Kelas::find($request->id);
         $countUser = $kelas->user->count();
         if ($countUser > 0) {
             return response("Kelas tidak bisa dihapus karena terdapat siswa dalam kelas");
         } else {
             $kelas->delete();
             return response("deleted");
         }
     } else {
         return "not ajax";
     }
 }
Esempio n. 8
0
 public function make(Request $request)
 {
     $docObj = new PhpWord();
     $schDetails = Pengaturan::get_school_details();
     $printLocDate = $request->input('tempat_tanggal');
     $headmaster = Pengaturan::get_headmaster();
     $semester = Semester::get_active_semester();
     $siswa_to_print = [];
     $nis_array = [];
     if ($request->input('siswa') == 'kelas') {
         $siswa_to_print = Siswa::where('id_kelas', $request->input('kelas'))->get();
     } elseif ($request->input('siswa') == 'nis') {
         $nis_array = explode(' ', $request->input('nis'));
         foreach ($nis_array as $nis) {
             if (count($range = explode('-', $nis)) == 2) {
                 $range = Siswa::whereBetween('nis', $range)->get();
                 foreach ($range as $get) {
                     $siswa_to_print[] = $get;
                 }
             } elseif ($get = Siswa::where('nis', $nis)->first()) {
                 $siswa_to_print[] = $get;
             } else {
                 return back()->with('message', "NIS {$nis} tidak ditemukan.");
             }
         }
     } else {
         return back();
     }
     if (count($siswa_to_print) < 1) {
         return back()->with('message', "Tidak ada data untuk dicetak.");
     }
     $id_kelas = 0;
     $mapel_list = null;
     foreach ($siswa_to_print as $siswa) {
         if ($siswa->id_kelas == null) {
             continue;
         }
         if (!Semester::is_active_latest()) {
             $siswa->kelas_link->tingkat -= Semester::get_year_difference();
         }
         if ($request->input('cover')) {
             $docObj = $this->wordHalamanCover($docObj, $siswa);
             $docObj = $this->wordHalamanDataSekolah($docObj, $schDetails);
         }
         if ($request->input('bio')) {
             $docObj = $this->wordHalamanBiodata($docObj, $siswa, $printLocDate, $headmaster);
         }
         if ($request->input('nilai')) {
             if ($id_kelas != $siswa->id_kelas) {
                 $id_kelas = $siswa->id_kelas;
                 $mapel_list = NilaiAkhir::get_mapel_list($id_kelas);
             }
             $sikap = NilaiSikap::get_nilai($siswa->id);
             $nilai['sikap'] = $sikap ? $sikap->sikap : "";
             $nilai['mapel'] = NilaiAkhir::get_all_nilai($siswa, $mapel_list);
             $absensi = Absensi::get_absensi($siswa->id);
             $nilai['absensi'] = ['sakit' => $absensi ? $absensi->sakit : null, 'izin' => $absensi ? $absensi->izin : null, 'alpa' => $absensi ? $absensi->alpa : null];
             $nilai['prestasi'] = Prestasi::get_for_print($siswa->id, $semester->id);
             $nilai['ekskul'] = Ekskul::get_for_print($siswa->id, $semester->id);
             $nilai['pkl'] = Pkl::get_for_print($siswa->id, $semester->id);
             $docObj = $this->wordHalamanNilai($docObj, $schDetails, $siswa, $nilai, $headmaster, $printLocDate, $semester);
         }
     }
     $objWriter = IOFactory::createWriter($docObj, 'Word2007');
     $fn = date('Y-n-j_His');
     if ($request->input('siswa') == 'kelas') {
         $kelas = Kelas::find($request->input('kelas'));
         if (!Semester::is_active_latest()) {
             $kelas->tingkat -= Semester::get_year_difference();
         }
         $fn .= "_" . $kelas->name(false);
     }
     if ($request->input('siswa') == 'nis') {
         $fn .= "_" . $nis_array[0] . '-' . $nis_array[count($nis_array) - 1];
     }
     $objWriter->save("print/{$fn}.docx");
     return Response::download("print/{$fn}.docx", "{$fn}.docx", ['Content-Type: application/vnd.openxmlformats-officedocument.wordprocessingml.document']);
 }