[ Mini Kiebo ]
Server: Windows NT AKFAR_SERVER 10.0 build 26200 (Windows 10) AMD64
Path:
D:
/
xampp
/
htdocs
/
smk
/
application
/
controllers
/
keuangan
/
[
Home
]
File: Konfigurasi_iuran.php
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class Konfigurasi_iuran extends Member_Controller { private $kode_menu = 'keuangan-konfigurasi-iuran'; private $url = 'keuangan/konfigurasi_iuran'; 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/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_thnajaran = $this->thnajaran_model->get_thnajaran_by_last_ts()->row(); $data['info_id_thnajaran'] = $query_thnajaran->id; $data['info_thnajaran'] = $query_thnajaran->thnajaran; $data['info_keterangan'] = $query_thnajaran->keterangan; $query_jurusan = $this->jurusan_model->get_all()->result(); $query_tingkat = $this->tingkat_model->get_all()->result(); $query_jenis_penerimaan = $this->penerimaan_jenis_model->get_by_kolom('jenis_thnajaran_id', $query_thnajaran->id)->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_jenis_penerimaan as $temp){ $select = $select.'<option value="'.$temp->jenis_id.'">'.$temp->jenis_nama.'</option>'; } $data['info_jenis_penerimaan'] = $select; $this->template->display_admin($this->url.'/konfigurasi_iuran_view', 'Konfigurasi Iuran', $data); }else{ $this->template->display_admin($this->url.'/kebutuhan_view', 'Kebutuhan Konfigurasi Iuran', $data); } } function konfigurasi(){ $this->load->library('form_validation'); $this->form_validation->set_rules('id-siswa[]', 'ID Siswa','required|strip_tags'); $this->form_validation->set_rules('pilihan', 'Pilihan','required|strip_tags'); $this->form_validation->set_rules('info-id-thnajaran', 'Pilihan','required|strip_tags'); $this->form_validation->set_rules('jenis-penerimaan', 'Pilihan','required|strip_tags'); $this->form_validation->set_rules('jumlah', 'Jumlah Iuran','numeric|strip_tags'); if($this->form_validation->run() == TRUE){ $siswa = $this->input->post('id-siswa', TRUE); $pilihan = $this->input->post('pilihan', TRUE); $thnajaran_id = $this->input->post('info-id-thnajaran', TRUE); $jenis_penerimaan = $$pilihan = $this->input->post('jenis-penerimaan', TRUE); if($pilihan=='simpan'){ $jumlah = $this->input->post('jumlah', TRUE); if($jumlah>1000){ // Memulai transaction mysql $this->db->trans_start(); $insert_data = array(); $i = 0; foreach( $siswa as $kunci => $isi ) { if($isi=="on"){ // mengecek apakah jenis penerimaan belum di tetapkan ke siswa if($this->penerimaan_tagihan_model->count_by_jenis_siswa($jenis_penerimaan, $kunci)->row()->hasil==0){ $data['tagihan_jenis_id'] = $jenis_penerimaan; $data['tagihan_siswa_id'] = $kunci; $data['tagihan_jumlah'] = $jumlah; $data['tagihan_keterangan'] = ''; $data['tagihan_pegawai_nip'] = $this->access->get_username(); $insert_data[] = $data; ++$i; } } } // Menutup transaction mysql $this->db->trans_complete(); if($i>0){ $this->penerimaan_tagihan_model->save_batch($insert_data); $status['status'] = 1; $status['pesan'] = 'Tagihan berhasil Disimpan'; }else{ $status['status'] = 0; $status['pesan'] = 'Tagihan tidak ada yang disimpan, silahkan cek kembali !'; } }else{ $status['status'] = 0; $status['pesan'] = 'Jumlah Iuran harus diisi !'; } // menghapus data tagihan jika tagihan blum dicicil }else{ // Memulai transaction mysql $this->db->trans_start(); $i = 0; foreach( $siswa as $kunci => $isi ) { if($isi=="on"){ // mengecek apakah tagihan sudah dicicil pada table jurnal if($this->penerimaan_jurnal_model->count_by_jenis_siswa($jenis_penerimaan, $kunci)->row()->hasil==0){ $this->penerimaan_tagihan_model->delete_by_jenis_siswa($jenis_penerimaan, $kunci); ++$i; } } } // Menutup transaction mysql $this->db->trans_complete(); if($i>0){ $status['status'] = 1; $status['pesan'] = 'Tagihan berhasil di Hapus'; }else{ $status['status'] = 0; $status['pesan'] = 'Tidak ada tagihan yang dihapus !'; } } }else{ $status['status'] = 0; $status['pesan'] = validation_errors(); } echo json_encode($status); } function get_datatable(){ $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(); // run query to get user listing $query = $this->riwayatkelas_model->get_datatable($start, $rows, $search, $thnajaran, $tingkat, $jurusan); $iFilteredTotal = $query->num_rows(); $iTotal=$this->riwayatkelas_model->get_datatable_count($search, $thnajaran, $tingkat, $jurusan)->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(); $query_tagihan = $this->penerimaan_tagihan_model->get_by_jenis_siswa($jenis_penerimaan, $temp->id); if($query_tagihan->num_rows()){ $query_tagihan = $query_tagihan->row(); // mengecek apakah tagihan sudah dicicil if($this->penerimaan_jurnal_model->count_by_kolom('jurnal_tagihan_id', $query_tagihan->tagihan_id)->row()->hasil>0){ $record[] = ''; }else{ $record[] = '<input type="checkbox" name="id-siswa['.$temp->id.']" >'; } $record[] = $temp->nis; $record[] = $temp->nama; $record[] = $query_tagihan->jenis_nama; $record[] = '<div style="text-align: right;">'.number_format($query_tagihan->tagihan_jumlah).'</div>'; }else{ $record[] = '<input type="checkbox" name="id-siswa['.$temp->id.']" >'; $record[] = $temp->nis; $record[] = $temp->nama; $record[] = ''; $record[] = ''; } $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; } }