[ 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_kelas.php
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class Presensi_laporan_kelas extends Member_Controller { private $kode_menu = 'akademik-presensi'; private $url = 'akademik/presensi_laporan_kelas'; 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['info_keterangan'] = $query_thnajaran->keterangan; $data['tanggal'] = date('Y-m-d'); $this->template->display_admin($this->url.'/list_view', 'Laporan Presensi Per Kelas', $data); }else{ $this->template->display_admin($this->url.'/kebutuhan_view', 'Kebutuhan Laporan Presensi', $data); } } function export($kelas=null, $tglawal=null, $tglakhir){ if($kelas!=null AND $tglawal!=null AND $tglakhir){ $this->load->library('excel'); $inputFileName = './public/form-laporan-presensi-perkelas.xls'; $excel = PHPExcel_IOFactory::load($inputFileName); $worksheet = $excel->getSheet(0); $query = $this->kelas_model->get_kelas_by_id($kelas); if($query->num_rows()>0){ $query = $query->row(); $worksheet->setCellValueByColumnAndRow(2, 3, $query->thnajaran); $worksheet->setCellValueByColumnAndRow(2, 4, $query->kelas); }else{ $worksheet->setCellValueByColumnAndRow(2, 3, 'Tahun Ajaran'); $worksheet->setCellValueByColumnAndRow(2, 4, 'Kelas'); } $worksheet->setCellValueByColumnAndRow(2, 5, $this->tools->indonesian_date($tglawal, 'j F Y', '').' - '.$this->tools->indonesian_date($tglakhir, 'j F Y', '')); $query_siswa = $this->siswa_model->get_siswa_by_kelas($kelas); if($query_siswa->num_rows()>0){ $query_siswa = $query_siswa->result(); $i=0; $row=9; foreach ($query_siswa as $siswa) { $worksheet->setCellValueByColumnAndRow(0, $row, ++$i); $worksheet->setCellValueByColumnAndRow(1, $row, $siswa->nis); $worksheet->setCellValueByColumnAndRow(2, $row, $siswa->nama); $query_presensi = $this->presensisiswa_model->count_presensi_by_siswa_tanggal($siswa->id, $tglawal, $tglakhir); if($query_presensi->num_rows()>0){ $query_presensi = $query_presensi->row(); $worksheet->setCellValueByColumnAndRow(3, $row, $query_presensi->hadir); $worksheet->setCellValueByColumnAndRow(4, $row, $query_presensi->sakit); $worksheet->setCellValueByColumnAndRow(5, $row, $query_presensi->ijin); $worksheet->setCellValueByColumnAndRow(6, $row, $query_presensi->alpha); }else{ $worksheet->setCellValueByColumnAndRow(3, $row, 0); $worksheet->setCellValueByColumnAndRow(4, $row, 0); $worksheet->setCellValueByColumnAndRow(5, $row, 0); $worksheet->setCellValueByColumnAndRow(6, $row, 0); } ++$row; } } $filename='Presensi Perkelas - '.$query->kelas.' - '.$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_presensi($kelas=null, $tglawal=null, $tglakhir){ $data['data']=0; if($kelas!=null AND $tglawal!=null AND $tglakhir){ $query_siswa = $this->siswa_model->get_siswa_by_kelas($kelas); if($query_siswa->num_rows()>0){ $data['data']=1; $query_siswa = $query_siswa->result(); $i=0; $table = ''; foreach ($query_siswa as $siswa) { $table = $table.' <tr> <td align="center">'.++$i.'</td> <td>'.$siswa->nis.'</td> <td>'.$siswa->nama.'</td> '; $query_presensi = $this->presensisiswa_model->count_presensi_by_siswa_tanggal($siswa->id, $tglawal, $tglakhir); if($query_presensi->num_rows()>0){ $query_presensi = $query_presensi->row(); $table = $table.' <td align="center">'.$query_presensi->hadir.'</td> <td align="center">'.$query_presensi->sakit.'</td> <td align="center">'.$query_presensi->ijin.'</td> <td align="center">'.$query_presensi->alpha.'</td> '; } $table = $table.' </tr> '; } $data['table'] = $table; } } echo json_encode($data); } function get_kelas($id_tingkat=null){ if(!empty($id_tingkat)){ $temp_thnajaran = $this->thnajaran_model->get_thnajaran_by_last_ts()->row(); $query_kelas = $this->kelas_model->get_kelas_by_tingkat_thnajaran($id_tingkat, $temp_thnajaran->thnajaran)->result(); foreach($query_kelas as $temp){ $kelas['id'] = $temp->id; $kelas['kelas'] = $temp->kelas; $select['data'][] = $kelas; } }else{ $kelas['id'] = 'kosong'; $kelas['kelas'] = 'KOSONG'; $select['data'] = $kelas; } echo json_encode($select); } }