[ 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_total_penerimaan.php
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class Laporan_total_penerimaan extends Member_Controller { private $kode_menu = 'keuangan-laporan'; private $url = 'keuangan/laporan_total_penerimaan'; function __construct(){ parent:: __construct(); $this->load->model('akademik/kelas_model'); $this->load->model('akademik/tingkat_model'); $this->load->model('akademik/jurusan_model'); $this->load->model('akademik/thnajaran_model'); $this->load->model('akademik/penerimaan_jenis_model'); $this->load->model('akademik/penerimaan_jurnal_model'); $this->load->model('akademik/penerimaan_tagihan_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(); $this->load->library('tools'); $tanggal_awal = date('Y-m-d'); $data['rentang_tanggal'] = $tanggal_awal.' - '.$tanggal_awal; $data['rentang_tanggal_umum'] = $this->tools->indonesian_date($tanggal_awal, 'j F Y', '')." - ".$this->tools->indonesian_date($tanggal_awal, 'j F Y', '');; //Jenis transaksi adalah pembayaran $jenis_transaksi = 1; $total_penerimaan = $this->penerimaan_jurnal_model->jumlah_penerimaan_by_tanggal($tanggal_awal, $tanggal_awal, $jenis_transaksi)->row()->hasil; $data['total_penerimaan'] = number_format($total_penerimaan); if($this->cek_kebutuhan()){ $this->template->display_admin($this->url.'/laporan_total_penerimaan_view', 'Laporan Total Penerimaan', $data); }else{ $this->template->display_admin($this->url.'/kebutuhan_view', 'Kebutuhan Data Laporan', $data); } } function laporan(){ $this->load->library('form_validation'); $this->form_validation->set_rules('rentang-tanggal', 'Rentang Tanggal','required|strip_tags'); $this->form_validation->set_rules('jenis-transaksi', 'Jenis Transaksi','required|strip_tags'); $this->form_validation->set_rules('pilihan', 'Pilihan','required|strip_tags'); if($this->form_validation->run() == TRUE){ $rentang_tanggal = $this->input->post('rentang-tanggal', true); $jenis_transaksi = $this->input->post('jenis-transaksi', true); $pilihan = $this->input->post('pilihan', true); $this->load->library('tools'); $tanggal = explode(" - ", $rentang_tanggal); $status['rentang_tanggal_umum'] = $this->tools->indonesian_date($tanggal[0], 'j F Y', '')." - ".$this->tools->indonesian_date($tanggal[1], 'j F Y', '');; $total_penerimaan = $this->penerimaan_jurnal_model->jumlah_penerimaan_by_tanggal($tanggal[0], $tanggal[1], $jenis_transaksi)->row()->hasil; $status['total_penerimaan'] = number_format($total_penerimaan); $status['tanggal_awal'] = $tanggal[0]; $status['tanggal_akhir'] = $tanggal[1]; $status['pilihan'] = $pilihan; $status['jenis_transaksi'] = $jenis_transaksi; $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($tanggal_awal=null, $tanggal_akhir=null, $jenis_transaksi=null){ $this->load->library('excel'); $inputFileName = './public/form-laporan-total-penerimaan.xls'; $excel = PHPExcel_IOFactory::load($inputFileName); $worksheet = $excel->getSheet(0); if(!empty($tanggal_awal) AND !empty($tanggal_akhir) AND !empty($jenis_transaksi)) { $query_jurnal = $this->penerimaan_jurnal_model->get_by_tanggal_jenistransaksi($tanggal_awal, $tanggal_akhir, $jenis_transaksi); $this->load->library('tools'); $rentang_tanggal = $this->tools->indonesian_date($tanggal_awal, 'j F Y', '')." - ".$this->tools->indonesian_date($tanggal_akhir, 'j F Y', '');; $total_penerimaan = $this->penerimaan_jurnal_model->jumlah_penerimaan_by_tanggal($tanggal_awal, $tanggal_akhir, $jenis_transaksi)->row()->hasil; $worksheet->setCellValueByColumnAndRow(2, 3, $rentang_tanggal); if($jenis_transaksi==1){ $worksheet->setCellValueByColumnAndRow(2, 4, 'Pembayaran'); }else{ $worksheet->setCellValueByColumnAndRow(2, 4, 'Potongan'); } $worksheet->setCellValueByColumnAndRow(2, 5, $total_penerimaan); 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 , $temp->jenis_nama); $worksheet->setCellValueByColumnAndRow(2, $row , $temp->jurnal_jumlah); $worksheet->setCellValueByColumnAndRow(3, $row , $this->tools->indonesian_date($temp->jurnal_ts, 'j F Y, H:i', 'WIB')); $worksheet->setCellValueByColumnAndRow(4, $row , $temp->nama); $row++; $counter++; } } } $filename='Total Penerimaan - '.$tanggal_awal.' - '.$tanggal_akhir.'.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_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 get_datatable(){ $jenis_transaksi = $this->input->get('jenis-transaksi'); $rentang_tanggal = $this->input->get('rentang-tanggal'); $tanggal = explode(" - ", $rentang_tanggal); // 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_totalpenerimaan($start, $rows, $tanggal[0], $tanggal[1], $jenis_transaksi); $iFilteredTotal = $query->num_rows(); $iTotal= $this->penerimaan_jurnal_model->get_datatable_laporan_totalpenerimaan_count($tanggal[0], $tanggal[1], $jenis_transaksi)->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->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_ts; $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; } }