[ Mini Kiebo ]
Server: Windows NT AKFAR_SERVER 10.0 build 26200 (Windows 10) AMD64
Path:
D:
/
xampp
/
htdocs
/
smk
/
application
/
controllers
/
akademik
/
[
Home
]
File: Presensi_laporan_siswa.php
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class Presensi_laporan_siswa extends Member_Controller { private $kode_menu = 'akademik-presensi'; private $url = 'akademik/presensi_laporan_siswa'; function __construct(){ parent:: __construct(); $this->load->model('akademik/kelas_model'); $this->load->model('akademik/siswa_model'); $this->load->model('akademik/tingkat_model'); $this->load->model('akademik/jurusan_model'); $this->load->model('akademik/thnajaran_model'); $this->load->model('akademik/presensi_model'); $this->load->model('akademik/presensisiswa_model'); $this->load->library('tools'); } function cek_kebutuhan(){ $thnajaran = $this->thnajaran_model->get_all_thnajaran_count()->row()->hasil; $tingkat = $this->tingkat_model->get_all_tingkat_count()->row()->hasil; if($thnajaran>0 AND $tingkat>0){ $query_tingkat = $this->tingkat_model->get_all()->result(); $temp_thnajaran = $this->thnajaran_model->get_thnajaran_by_last_ts()->row(); foreach($query_tingkat as $temp_tingkat){ $hasil = $this->kelas_model->cek_kelas_by_thnajaran_tingkat($temp_tingkat->id, $temp_thnajaran->thnajaran)->row()->hasil; if($hasil<1){ return false; } } return true; }else{ return false; } } public function index(){ $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_tingkat = $this->tingkat_model->get_all()->result(); $select = ''; foreach($query_tingkat as $temp){ $select = $select.'<option value="'.$temp->id.'">'.$temp->tingkat.'</option>'; } $data['info_tingkat'] = $select; $data['info_thnajaran'] = $query_thnajaran->thnajaran; $data['tanggal'] = date('Y-m-d'); $this->template->display_admin($this->url.'/list_view', 'Laporan Presensi Per Siswa', $data); }else{ $this->template->display_admin($this->url.'/kebutuhan_view', 'Kebutuhan Laporan Presensi', $data); } } function get_presensi($id_siswa=null, $tglawal=null, $tglakhir){ $data['data']=0; if($id_siswa!=null AND $tglawal!=null AND $tglakhir){ $query_presensi = $this->presensisiswa_model->get_presensi_by_siswa_tanggal($id_siswa, $tglawal, $tglakhir); if($query_presensi->num_rows()>0){ $data['data']=1; $i=0; $hadir=0; $sakit=0; $ijin=0; $alpha=0; $table = ''; $query_presensi = $query_presensi->result(); foreach ($query_presensi as $presensi) { $table = $table.' <tr> <td align="center">'.++$i.'</td> <td>'.$this->tools->indonesian_date($presensi->tanggal, 'j F Y', '').'</td> <td align="center">'.$presensi->kelas.'</td> '; if($presensi->status=='H'){ $hadir++; $table = $table.' <td align="center">1</td> <td align="center">0</td> <td align="center">0</td> <td align="center">0</td> </tr> '; }else if($presensi->status=='S'){ $sakit++; $table = $table.' <td align="center">0</td> <td align="center">1</td> <td align="center">0</td> <td align="center">0</td> </tr> '; }else if($presensi->status=='I'){ $ijin++; $table = $table.' <td align="center">0</td> <td align="center">0</td> <td align="center">1</td> <td align="center"></td> </tr> '; }else if($presensi->status=='A'){ $alpha++; $table = $table.' <td align="center">0</td> <td align="center">0</td> <td align="center">0</td> <td align="center">1</td> </tr> '; } } $table = $table.' <tr> <td align="center" colspan="3"><b>JUMLAH</b></td> <td align="center"><b>'.$hadir.'</b></td> <td align="center"><b>'.$sakit.'</b></td> <td align="center"><b>'.$ijin.'</b></td> <td align="center"><b>'.$alpha.'</b></td> </tr> '; $data['table'] = $table; } } echo json_encode($data); } function export($id_siswa=null, $tglawal=null, $tglakhir){ if($id_siswa!=null AND $tglawal!=null AND $tglakhir){ $this->load->library('excel'); $inputFileName = './public/form-laporan-presensi-persiswa.xls'; $excel = PHPExcel_IOFactory::load($inputFileName); $worksheet = $excel->getSheet(0); $query = $this->siswa_model->get_siswa_by_id($id_siswa); if($query->num_rows()>0){ $query = $query->row(); $worksheet->setCellValueByColumnAndRow(2, 3, $query->nis); $worksheet->setCellValueByColumnAndRow(2, 4, $query->nama); }else{ $worksheet->setCellValueByColumnAndRow(2, 3, 'NIS'); $worksheet->setCellValueByColumnAndRow(2, 4, 'Nama Siswa'); } $worksheet->setCellValueByColumnAndRow(2, 5, $this->tools->indonesian_date($tglawal, 'j F Y', '').' - '.$this->tools->indonesian_date($tglakhir, 'j F Y', '')); $query_presensi = $this->presensisiswa_model->get_presensi_by_siswa_tanggal($id_siswa, $tglawal, $tglakhir); if($query_presensi->num_rows()>0){ $i=0; $row=9; $query_presensi = $query_presensi->result(); foreach ($query_presensi as $presensi) { $worksheet->setCellValueByColumnAndRow(0, $row, ++$i); $worksheet->setCellValueByColumnAndRow(1, $row, $this->tools->indonesian_date($presensi->tanggal, 'j F Y', '')); $worksheet->setCellValueByColumnAndRow(2, $row, $presensi->kelas); $hadir=0; $sakit=0; $ijin=0; $alpha=0; if($presensi->status=='H'){ $hadir=1; }else if($presensi->status=='S'){ $sakit=1; }else if($presensi->status=='I'){ $ijin=1; }else if($presensi->status=='A'){ $alpha=1; } $worksheet->setCellValueByColumnAndRow(3, $row, $hadir); $worksheet->setCellValueByColumnAndRow(4, $row, $sakit); $worksheet->setCellValueByColumnAndRow(5, $row, $ijin); $worksheet->setCellValueByColumnAndRow(6, $row, $alpha); ++$row; } } $filename='Presensi Persiswa - '.$tglakhir.'.xls'; //save our workbook as this file name header('Content-Type: application/vnd.ms-excel'); //mime type header('Content-Disposition: attachment;filename="'.$filename.'"'); //tell browser what's the file name header('Cache-Control: max-age=0'); //no cache //save it to Excel5 format (excel 2003 .XLS file), change this to 'Excel2007' (and adjust the filename extension, also the header mime type) //if you want to save it as .XLSX Excel 2007 format $objWriter = PHPExcel_IOFactory::createWriter($excel, 'Excel5'); //force user to download the Excel file without writing it to server's HD $objWriter->save('php://output'); } } function get_pilihan_siswa(){ if($this->cek_kebutuhan()){ $query_thnajaran = $this->thnajaran_model->get_thnajaran_by_last_ts()->row(); $thnajaran = $query_thnajaran->thnajaran; }else{ $thnajaran='KOSONGNNNNNN'; } // 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_siswa_pilih($start, $rows, $search, $thnajaran); $iFilteredTotal = $query->num_rows(); $iTotal=$this->siswa_model->get_siswa_pilih_count($search, $thnajaran)->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->kelas; $record[] = $temp->nis; $record[] = $temp->nama; $record[] = '<a onclick="pilih(\''.$temp->id.'\',\''.$temp->nis.'\',\''.$temp->nama.'\',\''.$temp->kelas.'\')" class="btn btn-default btn-xs">Pilih</a>'; $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; } }