[ Mini Kiebo ]
Server: Windows NT AKFAR_SERVER 10.0 build 26200 (Windows 10) AMD64
Path:
D:
/
xampp
/
htdocs
/
smk
/
application
/
controllers
/
akademik
/
[
Home
]
File: Naikkelas.php
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class Naikkelas extends Member_Controller { private $kode_menu = 'akademik-naiklulus'; private $url = 'akademik/naikkelas'; function __construct(){ parent:: __construct(); $this->load->model('akademik/kelas_model'); $this->load->model('akademik/siswa_model'); $this->load->model('akademik/riwayatkelas_model'); $this->load->model('akademik/tingkat_model'); $this->load->model('akademik/jurusan_model'); $this->load->model('akademik/thnajaran_model'); } function cek_kebutuhan(){ $jurusan = $this->jurusan_model->get_all_jurusan_count()->row()->hasil; $thnajaran = $this->thnajaran_model->get_all_thnajaran_count()->row()->hasil; $tingkat = $this->tingkat_model->get_all_tingkat_count()->row()->hasil; if($jurusan>0 AND $thnajaran>0 AND $tingkat>0){ $query_thnajaran = $this->thnajaran_model->get_thnajaran_by_last_ts()->row(); $query_thnajaran_asal = $this->thnajaran_model->get_thnajaran_by_before_ts($query_thnajaran->ts); if($query_thnajaran_asal->num_rows()>0){ return true; }else{ return false; } }else{ return false; } } public function index($page=null, $id=null){ $data['kode_menu'] = $this->kode_menu; $data['nama'] = $this->access->get_nama(); if($this->cek_kebutuhan()){ $query_thnajaran = $this->thnajaran_model->get_thnajaran_by_last_ts()->row(); $query_jurusan = $this->jurusan_model->get_all()->result(); $query_tingkat_tertinggi = $this->tingkat_model->get_tingkat_tertinggi()->row(); $data['tujuan_thnajaran'] = $query_thnajaran->thnajaran; $data['tujuan_id_thnajaran'] = $query_thnajaran->id; $query_thnajaran_asal = $this->thnajaran_model->get_thnajaran_by_before_ts($query_thnajaran->ts); if($query_thnajaran_asal->num_rows()>0){ $query_thnajaran_asal = $query_thnajaran_asal->row(); $data['asal_thnajaran'] = $query_thnajaran_asal->thnajaran; $data['asal_id_thnajaran'] = $query_thnajaran_asal->id; }else{ $data['asal_thnajaran'] = 'TIDAK ADA'; } $select = '<option>Jurusan</option>'; foreach($query_jurusan as $temp){ $select = $select.'<option value="'.$temp->id.'">'.$temp->jurusan.'</option>'; } $data['asal_jurusan'] = $select; $query_tingkat = $this->tingkat_model->get_tingkat_kecuali($query_tingkat_tertinggi->id)->result(); $select = '<option>Tingkat</option>'; foreach($query_tingkat as $temp){ $select = $select.'<option value="'.$temp->id.'">'.$temp->tingkat.'</option>'; } $data['asal_tingkat'] = $select; $this->template->display_admin($this->url.'/naikkelas_view', 'Kenaikan Siswa', $data); }else{ $this->template->display_admin($this->url.'/kebutuhan_view', 'Kebutuhan Data Siswa', $data); } } function batal(){ $this->load->library('form_validation'); $this->form_validation->set_rules('hapus-id', 'ID Siswa','required|strip_tags'); $status['status'] = 0; $status['pesan'] = 'Gagal'; if($this->form_validation->run() == TRUE){ $id_siswa = $this->input->post('hapus-id', true); $query_siswa = $this->siswa_model->get_siswa_by_id($id_siswa); if($query_siswa->num_rows()>0){ $query_siswa = $query_siswa->row(); if($this->riwayatkelas_model->get_riwayatkelas_count_by_nis($query_siswa->nis)->row()->hasil>1){ $query_riwayat = $this->riwayatkelas_model->get_riwayatkelas_by_nis_lastts($query_siswa->nis); if($query_riwayat->num_rows()>0){ $query_riwayat = $query_riwayat->row(); $this->db->trans_start(); //hapus riwayat terakhir $this->riwayatkelas_model->delete($query_riwayat->id); //update riwayat sebelumnya $query_riwayat = $this->riwayatkelas_model->get_riwayatkelas_by_nis_lastts($query_siswa->nis)->row(); $data_riwayat['status_riwayat']=1; $this->riwayatkelas_model->update($data_riwayat, $query_riwayat->id); //update id_kelas di table siswa $data_siswa['id_kelas']=$query_riwayat->id_kelas; $this->siswa_model->update($data_siswa, $id_siswa); $this->db->trans_complete(); $status['status'] = 1; $status['pesan'] = 'Berhasil'; } }else{ $status['pesan'] = 'Gagal, dalam data siswa belum ada proses kenaikan'; } } } echo json_encode($status); } function naik(){ $this->load->library('form_validation'); $this->form_validation->set_rules('tujuan-thnajaran', 'Tahun Ajaran','required|strip_tags'); $this->form_validation->set_rules('tujuan-kelas', 'Kelas','required|strip_tags'); $this->form_validation->set_rules('idsiswa[]', 'Siswa','required'); if($this->form_validation->run() == TRUE){ $thnajaran = $this->input->post('tujuan-thnajaran', true); $id_kelas = $this->input->post('tujuan-kelas', true); $id_siswa = $this->input->post('idsiswa', true); $query_kelas = $this->kelas_model->get_kelas_by_id($id_kelas); if($query_kelas->num_rows()>0){ foreach( $id_siswa as $kunci => $isi ) { $query_siswa = $this->siswa_model->get_siswa_by_id($kunci); if($query_siswa->num_rows()>0){ $query_siswa = $query_siswa->row(); if($this->riwayatkelas_model->cek_riwayatkelas_by_kelas_siswa($id_kelas, $query_siswa->nis)->row()->hasil==0){ $data['nis_siswa']=$query_siswa->nis; $data['id_kelas']=$id_kelas; $data['keterangan']='NAIK KELAS'; $data_siswa['id_kelas'] = $id_kelas; $data_lama['status_riwayat']=0; $this->db->trans_start(); //update status semua riwayatkelas yang lama berdasarkan NIS $this->riwayatkelas_model->update_by_nis($data_lama, $query_siswa->nis); //simpan data riwayatkelas $this->riwayatkelas_model->save($data); //update kelas di data siswa $this->siswa_model->update($data_siswa, $kunci); $this->db->trans_complete(); } } } $status['status'] = 1; $status['pesan'] = 'Proses Kenaikan Kelas berhasil'; }else{ $status['status'] = 0; $status['pesan'] = 'Kelas tujuan tidak ada'; } $status['status'] = 1; $status['pesan'] = 'Proses kenaikan siswa berhasil dilakukan'; }else{ $status['status'] = 0; $status['pesan'] = validation_errors(); } echo json_encode($status); } function get_kelas(){ $this->load->library('form_validation'); $this->form_validation->set_rules('kelas-asal-thnajaran', 'Asal Tahun Ajaran','required|strip_tags'); $this->form_validation->set_rules('kelas-asal-jurusan', 'Asal Jurusan','required|strip_tags'); $this->form_validation->set_rules('kelas-asal-id-jurusan', 'Asal Jurusan','required|strip_tags'); $this->form_validation->set_rules('kelas-asal-tingkat', 'Asal tingkat','required|strip_tags'); $this->form_validation->set_rules('kelas-tujuan-thnajaran', 'Tujuan Tahun Ajaran','required|strip_tags'); if($this->form_validation->run() == TRUE){ $asal_thnajaran = $this->input->post('kelas-asal-thnajaran', true); $asal_id_jurusan = $this->input->post('kelas-asal-id-jurusan', true); $asal_jurusan = $this->input->post('kelas-asal-jurusan', true); $asal_id_tingkat = $this->input->post('kelas-asal-tingkat', true); $tujuan_thnajaran = $this->input->post('kelas-tujuan-thnajaran', true); //mendapatkan tingkat yang lebih tinggi $status['tujuan_jurusan'] = $asal_jurusan; $status['tujuan_tingkat'] = 'Tingkat'; $status['tujuan_id_tingkat'] = 0; $query = $this->tingkat_model->get_tingkat_by_id($asal_id_tingkat); if($query->num_rows()>0){ $query = $query->row(); $query_next = $this->tingkat_model->get_next_tingkat($query->urutan); if($query_next->num_rows()>0){ $query_next = $query_next->row(); $status['tujuan_tingkat'] = $query_next->tingkat; $status['tujuan_id_tingkat'] = $query_next->id; } } $status['asal_kelas'] = $this->get_kelas_select($asal_id_jurusan, $asal_id_tingkat, $asal_thnajaran, 1); $status['tujuan_kelas'] = $this->get_kelas_select($asal_id_jurusan, $status['tujuan_id_tingkat'], $tujuan_thnajaran, 0); }else{ $status['asal_kelas'] = '<select name="asal-kelas" id="asal-kelas" class="form-control input-sm" disabled> <option value="kosong">Kelas</option> </select>'; $status['tujuanjurusan'] = 'Jurusan'; $status['tujuan_tingkat'] = 'Tingkat'; $status['tujuan_id_tingkat'] = 0; $status['tujuan_kelas'] = '<select name="tujuan-kelas" id="tujuan-kelas" class="form-control input-sm" disabled> <option value="kosong">Kelas</option> </select>'; } echo json_encode($status); } function get_kelas_select($id_jurusan=null, $id_tingkat=null, $thnajaran=null, $jenis){ $select=''; $option=''; $status=0; if(!empty($id_tingkat) and !empty($id_jurusan) and !empty($thnajaran)){ $query_kelas = $this->kelas_model->get_kelas_by_tingkat_thnajaran_jurusan($id_tingkat, $thnajaran, $id_jurusan); if($query_kelas->num_rows()>0){ $status=1; $query_kelas = $query_kelas->result(); foreach($query_kelas as $temp){ $option=$option.'<option value="'.$temp->id.'">'.$temp->kelas.'</option>'; } }else{ $option=$option.'<option value="kosong">Kelas</option>'; } }else{ $option=$option.'<option value="kosong">Kelas</option>'; } if($jenis==1){ if($status>0){ $select='<select name="asal-kelas" id="asal-kelas" class="form-control input-sm">'.$option.'</select>'; }else{ $select='<select name="asal-kelas" id="asal-kelas" class="form-control input-sm" disabled>'.$option.'</select>'; } }else{ if($status>0){ $select='<select name="tujuan-kelas" id="tujuan-kelas" class="form-control input-sm">'.$option.'</select>'; }else{ $select='<select name="tujuan-kelas" id="tujuan-kelas" class="form-control input-sm" disabled>'.$option.'</select>'; } } return $select; } function get_siswa_tujuan(){ $is_edit = $this->access->cek_akses_crud($this->kode_menu, 1); $kelas = $this->input->get('kelas'); // variable initialization $search = ""; $start = 0; $rows = 10; // get search value (if any) if (isset($_GET['sSearch']) && $_GET['sSearch'] != "" ) { $search = $_GET['sSearch']; } // limit $start = $this->get_start(); $rows = $this->get_rows(); // run query to get user listing // run query to get user listing $query = $this->siswa_model->get_all_siswa($start, $rows, $search, $kelas); $iFilteredTotal = $query->num_rows(); $iTotal=$this->siswa_model->get_all_siswa_count($search, $kelas)->row()->hasil; $output = array( "sEcho" => intval($_GET['sEcho']), "iTotalRecords" => $iTotal, "iTotalDisplayRecords" => $iTotal, "aaData" => array() ); // get result after running query and put it in array $i=$start; $siswa = $query->result(); foreach ($siswa as $temp) { $record = array(); $record[] = ++$i; $record[] = $temp->nis; $record[] = $temp->nama; $record[] = '<a style="cursor: pointer;" onClick="batalnaik(\''.$temp->id.'\')" class="btn btn-default btn-xs">Batal</a>'; $output['aaData'][] = $record; } // format it to JSON, this output will be displayed in datatable echo json_encode($output); } function get_siswa_asal(){ $is_edit = $this->access->cek_akses_crud($this->kode_menu, 1); $kelas = $this->input->get('kelas'); // variable initialization $search = ""; $start = 0; $rows = 10; // get search value (if any) if (isset($_GET['sSearch']) && $_GET['sSearch'] != "" ) { $search = $_GET['sSearch']; } // limit $start = $this->get_start(); $rows = $this->get_rows(); // run query to get user listing $query = $this->siswa_model->get_all_siswa($start, $rows, $search, $kelas, 1); $iFilteredTotal = $query->num_rows(); $iTotal=$this->siswa_model->get_all_siswa_count($search, $kelas, 1)->row()->hasil; $output = array( "sEcho" => intval($_GET['sEcho']), "iTotalRecords" => $iTotal, "iTotalDisplayRecords" => $iTotal, "aaData" => array() ); // get result after running query and put it in array $i=$start; $siswa = $query->result(); foreach ($siswa as $temp) { $record = array(); if($is_edit){ $record[] = '<input type="checkbox" name="idsiswa['.$temp->id.']" >'; }else{ $record[] = ++$i; } $record[] = $temp->nis; $record[] = $temp->nama; $record[] = $temp->kelas; $output['aaData'][] = $record; } // format it to JSON, this output will be displayed in datatable echo json_encode($output); } /** * funsi tambahan * * */ function get_start() { $start = 0; if (isset($_GET['iDisplayStart'])) { $start = intval($_GET['iDisplayStart']); if ($start < 0) $start = 0; } return $start; } function get_rows() { $rows = 10; if (isset($_GET['iDisplayLength'])) { $rows = intval($_GET['iDisplayLength']); if ($rows < 5 || $rows > 500) { $rows = 10; } } return $rows; } function get_sort_dir() { $sort_dir = "ASC"; $sdir = strip_tags($_GET['sSortDir_0']); if (isset($sdir)) { if ($sdir != "asc" ) { $sort_dir = "DESC"; } } return $sort_dir; } }