[ 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_jurusan.php
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class Laporan_penerimaan_tiap_jurusan extends Member_Controller { private $kode_menu = 'keuangan-laporan'; private $url = 'keuangan/laporan_penerimaan_tiap_jurusan'; 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(); $query_jenispenerimaan = $this->penerimaan_jenis_model->get_by_kolom('jenis_thnajaran_id', $query_thnajaran_aktif->id); $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->id.'">'.$temp->thnajaran.'</option>'; } $data['info_thnajaran'] = $select; $select = '<option value="">Pilih Jenis Penerimaan</option>'; if($query_jenispenerimaan->num_rows()>0){ $query_jenispenerimaan = $query_jenispenerimaan->result(); foreach ($query_jenispenerimaan as $temp) { $select = $select.'<option value="'.$temp->jenis_id.'">'.$temp->jenis_nama.'</option>'; } } $data['jenis_penerimaan'] = $select; $this->template->display_admin($this->url.'/laporan_penerimaan_tiap_jurusan_view', 'Laporan Keuangan', $data); }else{ $this->template->display_admin($this->url.'/kebutuhan_view', 'Kebutuhan Data Laporan', $data); } } function get_jenispenerimaan_by_thnajaran($id_thnajaran=null){ $select = ' <select class="form-control input-sm" name="jenis-penerimaan" id="jenis-penerimaan"> <option value="kosong">Pilih Jenis Penerimaan</option>'; if(!empty($id_thnajaran)){ $query_jenispenerimaan = $this->penerimaan_jenis_model->get_by_kolom('jenis_thnajaran_id', $id_thnajaran); if($query_jenispenerimaan->num_rows()>0){ $query_jenispenerimaan = $query_jenispenerimaan->result(); foreach ($query_jenispenerimaan as $temp) { $select = $select.'<option value="'.$temp->jenis_id.'">'.$temp->jenis_nama.'</option>'; } } } $select = $select.'</select>'; $data['jenis_penerimaan'] = $select; echo json_encode($data); } function laporan(){ $this->load->library('form_validation'); $this->form_validation->set_rules('info-thnajaran', 'Tahun Ajaran','required|strip_tags'); $this->form_validation->set_rules('info-tingkat-aktif', 'Tingkat','required|strip_tags'); $this->form_validation->set_rules('info-jurusan-aktif', 'Jurusan','required|strip_tags'); $this->form_validation->set_rules('jenis-penerimaan', 'Jenis Penerimaan','required|strip_tags'); if($this->form_validation->run() == TRUE){ $thnajaran = $this->input->post('info-thnajaran', true); $tingkat = $this->input->post('info-tingkat-aktif', true); $jurusan = $this->input->post('info-jurusan-aktif', true); $jenis_penerimaan = $this->input->post('jenis-penerimaan', true); $pilihan = $this->input->post('pilihan', true); $status['pilihan'] = $pilihan; $status['thnajaran'] = $thnajaran; $status['tingkat'] = $tingkat; $status['jurusan'] = $jurusan; $status['jenis_penerimaan'] = $jenis_penerimaan; $query_thnajaran = $this->thnajaran_model->get_thnajaran_by_id($thnajaran)->row(); $jumlah_tagihan = $this->penerimaan_tagihan_model->jumlah_tagihan_by_thnajaran_tingkat_jurusan_jenispenerimaan($query_thnajaran->thnajaran, $tingkat, $jurusan, $jenis_penerimaan)->row()->hasil; if(empty($jumlah_tagihan)){ $jumlah_tagihan = 0; } $status['jumlah_tagihan'] = number_format($jumlah_tagihan); $jumlah_dibayar = $this->penerimaan_jurnal_model->jumlah_penerimaan_by_thnajaran_tingkat_jurusan_jenispenerimaan($query_thnajaran->thnajaran, $tingkat, $jurusan, $jenis_penerimaan)->row()->hasil; if(empty($jumlah_dibayar)){ $jumlah_dibayar = 0; } $status['jumlah_dibayar'] = number_format($jumlah_dibayar); $status['status'] = 1; $status['pesan'] = 'Laporan ditampilkan'; }else{ $status['status'] = 0; $status['pesan'] = validation_errors(); $status['total_penerimaan'] = '-'; $status['rentang_tanggal_umum'] = '-'; } echo json_encode($status); } function laporan_excel($thnajaran=null, $tingkat=null, $jurusan=null, $jenis_penerimaan=null){ $this->load->library('excel'); $inputFileName = './public/form-laporan-penerimaan-tiap-jurusan.xls'; $excel = PHPExcel_IOFactory::load($inputFileName); $worksheet = $excel->getSheet(0); $nama_file = ''; if(!empty($thnajaran) AND !empty($tingkat) AND !empty($jurusan) AND !empty($jenis_penerimaan)) { $query_thnajaran = $this->thnajaran_model->get_thnajaran_by_id($thnajaran)->row(); $query_tingkat = $this->tingkat_model->get_tingkat_by_id($tingkat)->row(); $query_jurusan = $this->jurusan_model->get_jurusan_by_id($jurusan)->row(); $query_jenispenerimaan = $this->penerimaan_jenis_model->get_by_id($jenis_penerimaan)->row(); $jumlah_tagihan = $this->penerimaan_tagihan_model->jumlah_tagihan_by_thnajaran_tingkat_jurusan_jenispenerimaan($query_thnajaran->thnajaran, $tingkat, $jurusan, $jenis_penerimaan)->row()->hasil; if(empty($jumlah_tagihan)){ $jumlah_tagihan = 0; } $jumlah_dibayar = $this->penerimaan_jurnal_model->jumlah_penerimaan_by_thnajaran_tingkat_jurusan_jenispenerimaan($query_thnajaran->thnajaran, $tingkat, $jurusan, $jenis_penerimaan)->row()->hasil; if(empty($jumlah_dibayar)){ $jumlah_dibayar = 0; } $worksheet->setCellValueByColumnAndRow(2, 3, $query_thnajaran->thnajaran); $worksheet->setCellValueByColumnAndRow(2, 4, $query_tingkat->tingkat.' '.$query_jurusan->jurusan); $worksheet->setCellValueByColumnAndRow(2, 5, $query_jenispenerimaan->jenis_nama); $worksheet->setCellValueByColumnAndRow(2, 6, $jumlah_tagihan); $worksheet->setCellValueByColumnAndRow(2, 7, $jumlah_dibayar); $query_siswa = $this->riwayatkelas_model->get_riwayatkelas_by_thnajaran_tingkat_jurusan($thnajaran, $tingkat, $jurusan); if($query_siswa->num_rows()>0){ $query_siswa = $query_siswa->result(); $row = 11; $counter = 1; foreach($query_siswa as $temp){ $worksheet->setCellValueByColumnAndRow(0, $row , $counter); $worksheet->setCellValueByColumnAndRow(1, $row , $temp->kelas); $worksheet->setCellValueByColumnAndRow(2, $row , $temp->nama); $worksheet->setCellValueByColumnAndRow(3, $row , $query_jenispenerimaan->jenis_nama); $jumlah_tagihan = $this->penerimaan_tagihan_model->jumlah_tagihan_by_siswa_jenispenerimaan($temp->id, $jenis_penerimaan)->row()->hasil; if(empty($jumlah_tagihan)){ $jumlah_tagihan = 0; } $jumlah_dibayar = $this->penerimaan_jurnal_model->jumlah_penerimaan_by_siswa_jenispenerimaan($temp->id, $jenis_penerimaan)->row()->hasil; if(empty($jumlah_dibayar)){ $jumlah_dibayar = 0; } $worksheet->setCellValueByColumnAndRow(4, $row , $jumlah_tagihan); $worksheet->setCellValueByColumnAndRow(5, $row , $jumlah_dibayar); $row++; $counter++; } } $nama_file = $query_tingkat->tingkat.' '.$query_jurusan->jurusan.' - '.$query_jenispenerimaan->jenis_nama; }else{ $tingkat = '0'; $jurusan = '0'; } $filename='Penerimaan Jurusan - '.$nama_file.'.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_angsuran(){ $thnajaran = $this->input->get('thnajaran'); $tingkat = $this->input->get('tingkat'); $jurusan = $this->input->get('jurusan'); $jenis_penerimaan = $this->input->get('jenis-penerimaan'); // 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(); if(!empty($jenis_penerimaan)){ $query = $this->riwayatkelas_model->get_datatable_laporan_penerimaantiapjurusan($start, $rows, $thnajaran, $tingkat, $jurusan); $siswa = $query->result(); $iFilteredTotal = $query->num_rows(); $iTotal= $this->riwayatkelas_model->get_datatable_laporan_penerimaantiapjurusan_count($thnajaran, $tingkat, $jurusan)->row()->hasil; $query_jenispenerimaan = $this->penerimaan_jenis_model->get_by_id($jenis_penerimaan)->row(); }else{ $siswa = array(); $iFilteredTotal = 0; $iTotal=0; } $output = array( "sEcho" => intval($_GET['sEcho']), "iTotalRecords" => $iTotal, "iTotalDisplayRecords" => $iTotal, "aaData" => array() ); // get result after running query and put it in array $i=$start; foreach ($siswa as $temp) { $record = array(); $record[] = ++$i; $record[] = $temp->kelas; $record[] = $temp->nama; $record[] = $query_jenispenerimaan->jenis_nama; $jumlah_tagihan = $this->penerimaan_tagihan_model->jumlah_tagihan_by_siswa_jenispenerimaan($temp->id, $jenis_penerimaan)->row()->hasil; if(empty($jumlah_tagihan)){ $jumlah_tagihan = 0; } $jumlah_dibayar = $this->penerimaan_jurnal_model->jumlah_penerimaan_by_siswa_jenispenerimaan($temp->id, $jenis_penerimaan)->row()->hasil; if(empty($jumlah_dibayar)){ $jumlah_dibayar = 0; } $record[] = number_format($jumlah_tagihan); $record[] = number_format($jumlah_dibayar); $record[] = ' <div style="text-align: center;"><button type="button" class="btn btn-default btn-sm" onclick="detailpenerimaan(\''.$temp->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; } }