[ Mini Kiebo ]
Server: Windows NT AKFAR_SERVER 10.0 build 26200 (Windows 10) AMD64
Path:
D:
/
xampp
/
htdocs
/
smk
/
application
/
controllers
/
keuangan
/
[
Home
]
File: Laporan_penerimaan_tiap_siswa.php
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class Laporan_penerimaan_tiap_siswa extends Member_Controller { private $kode_menu = 'keuangan-laporan'; private $url = 'keuangan/laporan_penerimaan_tiap_siswa'; function __construct(){ parent:: __construct(); $this->load->model('akademik/alumni_model'); $this->load->model('akademik/kelas_model'); $this->load->model('akademik/tingkat_model'); $this->load->model('akademik/jurusan_model'); $this->load->model('akademik/kelas_model'); $this->load->model('akademik/siswa_model'); $this->load->model('akademik/riwayatkelas_model'); $this->load->model('akademik/thnajaran_model'); $this->load->model('akademik/penerimaan_jenis_model'); $this->load->model('akademik/penerimaan_tagihan_model'); $this->load->model('akademik/penerimaan_jurnal_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(); $jenis_penerimaan = $this->penerimaan_jenis_model->count_by_kolom('jenis_thnajaran_id', $query_thnajaran->id)->row()->hasil; if($jenis_penerimaan>0){ return true; }else{ return false; } }else{ return false; } } public function index($page=null, $id=null){ $data['kode_menu'] = $this->kode_menu; $data['url'] = $this->url; $data['nama'] = $this->access->get_nama(); if($this->cek_kebutuhan()){ $query_jurusan = $this->jurusan_model->get_all()->result(); $query_tingkat = $this->tingkat_model->get_all()->result(); $query_thnajaran_aktif = $this->thnajaran_model->get_thnajaran_by_last_ts()->row(); $query_thnajaran_all = $this->thnajaran_model->get_all()->result(); $select = ''; foreach($query_jurusan as $temp){ $select = $select.'<option value="'.$temp->id.'">'.$temp->jurusan.'</option>'; } $data['info_jurusan'] = $select; $select = ''; foreach($query_tingkat as $temp){ $select = $select.'<option value="'.$temp->id.'">'.$temp->tingkat.'</option>'; } $data['info_tingkat'] = $select; $select = ''; foreach($query_thnajaran_all as $temp){ $select = $select.'<option value="'.$temp->thnajaran.'">'.$temp->thnajaran.'</option>'; } $data['info_thnajaran_lulus'] = $select; $this->template->display_admin($this->url.'/laporan_penerimaan_tiap_siswa_view', 'Laporan Keuangan', $data); }else{ $this->template->display_admin($this->url.'/kebutuhan_view', 'Kebutuhan Data Laporan', $data); } } /** * Mendapatkan informasi tagihan siswa * @param [type] $id_siswa [description] * @return [type] [description] */ function get_informasi_tagihan($id_siswa=null){ $data['data'] = 0; if(!empty($id_siswa)){ //$query_thnajaran = $this->thnajaran_model->get_thnajaran_by_last_ts()->row(); //$query_siswa = $this->siswa_model->get_siswa_by_id_thnajaran($id_siswa, $query_thnajaran->thnajaran); $query_siswa = $this->siswa_model->get_siswa_by_id($id_siswa); if($query_siswa->num_rows()>0){ $query_siswa = $query_siswa->row(); $data['data'] = 1; $data['siswa_id'] = $query_siswa->id; $data['siswa_nis'] = $query_siswa->nis.' ('.$query_siswa->kelas.')'; $data['siswa_nama'] = $query_siswa->nama; $data['total_tagihan'] = number_format($this->penerimaan_tagihan_model->jumlah_tagihan_by_siswa($id_siswa)->row()->hasil); if(empty($data['total_tagihan'])){ $data['total_tagihan'] = 0 ; } $data['total_dibayar'] = number_format($this->penerimaan_jurnal_model->jumlah_penerimaan_by_siswa($id_siswa)->row()->hasil); if(empty($data['total_dibayar'])){ $data['total_dibayar'] = 0; } } } echo json_encode($data); } function get_by_id($jurnal_id=null){ $data['data'] = 0; if(!empty($jurnal_id)){ $query = $this->penerimaan_jurnal_model->get_by_id($jurnal_id); if($query->num_rows()>0){ $query = $query->row(); $data['data'] = 1; $data['jurnal_id'] = $jurnal_id; $data['jurnal_jumlah'] = number_format($query->jurnal_jumlah); $data['jurnal_tipe'] = $query->jurnal_tipe; $data['jurnal_keterangan'] = $query->jurnal_keterangan; $data['jurnal_ts'] = $query->jurnal_ts; $data['pegawai_nip'] = $query->nip; $data['pegawai_nama'] = $query->nama; $data['jenis_id'] = $query->jenis_id; $data['jenis_nama'] = $query->jenis_nama; $data['jenis_keterangan'] = $query->jenis_keterangan; $data['siswa_nis'] = $query->siswa_nis; $data['siswa_nama'] = $query->siswa_nama; } } echo json_encode($data); } function laporan_excel($id_siswa=null){ $this->load->library('excel'); $inputFileName = './public/form-laporan-penerimaan-tiap-siswa.xls'; $excel = PHPExcel_IOFactory::load($inputFileName); $worksheet = $excel->getSheet(0); $nama_siswa = ' - '; if(!empty($id_siswa)) { $query_siswa = $this->siswa_model->get_siswa_by_id($id_siswa); if($query_siswa->num_rows()>0){ $query_siswa = $query_siswa->row(); $total_tagihan = $this->penerimaan_tagihan_model->jumlah_tagihan_by_siswa($id_siswa)->row()->hasil; if(empty($total_tagihan)){ $total_tagihan = 0 ; } $total_dibayar = $this->penerimaan_jurnal_model->jumlah_penerimaan_by_siswa($id_siswa)->row()->hasil; if(empty($total_dibayar)){ $total_dibayar = 0; } $nama_siswa = $query_siswa->nama; $worksheet->setCellValueByColumnAndRow(2, 3, $query_siswa->nis); $worksheet->setCellValueByColumnAndRow(2, 4, $query_siswa->nama); $worksheet->setCellValueByColumnAndRow(2, 5, $total_tagihan); $worksheet->setCellValueByColumnAndRow(2, 6, $total_dibayar); $query_jurnal = $this->penerimaan_jurnal_model->get_by_siswa($id_siswa); $this->load->library('tools'); if($query_jurnal->num_rows()>0){ $query_jurnal = $query_jurnal->result(); $row = 9; $counter = 1; foreach($query_jurnal as $temp){ $worksheet->setCellValueByColumnAndRow(0, $row , $counter); $worksheet->setCellValueByColumnAndRow(1, $row , $this->tools->indonesian_date($temp->jurnal_ts, 'j F Y, H:i', 'WIB')); $worksheet->setCellValueByColumnAndRow(2, $row , $temp->jenis_nama); $worksheet->setCellValueByColumnAndRow(3, $row , $temp->jurnal_jumlah); $worksheet->setCellValueByColumnAndRow(4, $row , $temp->jurnal_keterangan); $worksheet->setCellValueByColumnAndRow(5, $row , $temp->nama); $row++; $counter++; } } } } $filename='Penerimaan Tiap Siswa '.$nama_siswa.'.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_datatable_siswa(){ $tingkat_aktif = $this->input->get('tingkat_aktif'); $thnajaran_lulus = $this->input->get('thnajaran_lulus'); $jurusan_aktif = $this->input->get('jurusan_aktif'); $jurusan_lulus = $this->input->get('jurusan_lulus'); $pilihan_siswa = $this->input->get('pilihan_siswa'); $query_thnajaran = $this->thnajaran_model->get_thnajaran_by_last_ts()->row(); // 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(); // mengecek pilihan data siswa, aktif atau lulus if($pilihan_siswa=='aktif'){ $query = $this->riwayatkelas_model->get_datatable($start, $rows, $search, $query_thnajaran->thnajaran, $tingkat_aktif, $jurusan_aktif); $iFilteredTotal = $query->num_rows(); $iTotal=$this->riwayatkelas_model->get_datatable_count($search, $query_thnajaran->thnajaran, $tingkat_aktif, $jurusan_aktif)->row()->hasil; }else{ $query = $this->alumni_model->get_datatable($start, $rows, $search, $thnajaran_lulus, $jurusan_lulus); $iFilteredTotal = $query->num_rows(); $iTotal=$this->alumni_model->get_datatable_count($search, $thnajaran_lulus, $jurusan_lulus)->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->nama; // Muncul pilih jika ada tagihan pada setiap siswa if($this->penerimaan_tagihan_model->count_by_kolom('tagihan_siswa_id', $temp->id)->row()->hasil>0){ $record[] = '<button type="button" onclick="pilihsiswa(\''.$temp->id.'\')" class="btn btn-info btn-xs">Pilih Siswa</a>'; }else{ $record[] = ''; } $output['aaData'][] = $record; } // format it to JSON, this output will be displayed in datatable echo json_encode($output); } function get_datatable_angsuran(){ $siswa_id = $this->input->get('siswa_id'); // 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(); $query = $this->penerimaan_jurnal_model->get_datatable_laporan_penerimaantiapsiswa($start, $rows, $siswa_id); $iFilteredTotal = $query->num_rows(); $iTotal= $this->penerimaan_jurnal_model->get_datatable_laporan_penerimaantiapsiswa_count($siswa_id)->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; $jurnal = $query->result(); foreach ($jurnal as $temp) { $record = array(); $record[] = ++$i; $record[] = $temp->jurnal_ts; $record[] = $temp->jenis_nama; if($temp->jurnal_tipe==1){ $record[] = '<div style="text-align: right;font-weight:bold;">'.number_format($temp->jurnal_jumlah).'</div>'; }else{ $record[] = '<div style="text-align: right;font-weight:bold;color:red;">'.number_format($temp->jurnal_jumlah).'</div>'; } $record[] = $temp->jurnal_keterangan; $record[] = $temp->nama; $record[] = ' <div style="text-align: center;"><button type="button" class="btn btn-default btn-sm" onclick="detailpenerimaan(\''.$temp->jurnal_id.'\')" title="Klik untuk Detail Penerimaan"><i class="fa fa-search"></i> </div>'; $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; } }