[ Mini Kiebo ]
Server: Windows NT AKFAR_SERVER 10.0 build 26200 (Windows 10) AMD64
Path:
D:
/
BACKUP C 19-12
/
XAMPP74
/
htdocs
/
smk
/
application
/
controllers
/
keuangan
/
[
Home
]
File: Koreksi_penerimaan.php
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class Koreksi_penerimaan extends Member_Controller { private $kode_menu = 'keuangan-koreksi'; private $url = 'keuangan/koreksi_penerimaan'; 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'); $this->load->model('akademik/penerimaan_logs_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.'/koreksi_penerimaan_view', 'Koreksi Penerimaan', $data); }else{ $this->template->display_admin($this->url.'/kebutuhan_view', 'Kebutuhan Koreksi Penerimaan', $data); } } /** * Menyimpan pembayaran angsuran * @return [type] [description] */ function update_tagihan(){ $this->load->library('form_validation'); $this->form_validation->set_rules('transaksi-jenis-penerimaan', 'Penerimaan','required|strip_tags'); $this->form_validation->set_rules('transaksi-total-tagihan', 'Total Tagihan','required|strip_tags'); $this->form_validation->set_rules('transaksi-keterangan', 'Keterangan','required|strip_tags'); if($this->form_validation->run() == TRUE){ $this->form_validation->set_rules('transaksi-total-tagihan', 'Total Tagihan','numeric|greater_than[10000]'); if($this->form_validation->run() == TRUE){ $jenis_penerimaan = $this->input->post('transaksi-jenis-penerimaan', TRUE); $total_tagihan = $this->input->post('transaksi-total-tagihan', TRUE); $total_tagihan_asli = $this->input->post('transaksi-total-tagihan-asli', TRUE); $keterangan = $this->input->post('transaksi-keterangan', TRUE); // mendapatkan total angsuran, jumlah tagihan baru tidak boleh kurang dari total angsuran $total_angsuran = $this->penerimaan_jurnal_model->get_angsuran_by_tagihan($jenis_penerimaan)->row()->hasil; if(empty($total_angsuran)){ $total_angsuran = 0; } if($total_tagihan>=$total_angsuran){ // Memulai transaction mysql $this->db->trans_start(); $data['tagihan_jumlah'] = $total_tagihan; $this->penerimaan_tagihan_model->update($data, $jenis_penerimaan); // menyimpan logs penerimaan $data_log['log_tagihan_id'] = $jenis_penerimaan; $data_log['log_perubahan'] = 'Perubahan Jumlah Tagihan dari '.number_format($total_tagihan_asli).' menjadi '.number_format($total_tagihan); $data_log['log_keterangan_petugas'] = $keterangan; $data_log['log_pegawai_nip'] = $this->access->get_username(); $this->penerimaan_logs_model->save($data_log); // Menutup transaction mysql $this->db->trans_complete(); $status['status'] = 1; $status['pesan'] = 'Tagihan Baru Berhasil di Simpan'; }else{ $status['status'] = 0; $status['pesan'] = 'Total Tagihan tidak boleh kurang dari Jumlah Angsuran, silahkan cek kembali !'; } }else{ $status['status'] = 0; $status['pesan'] = validation_errors(); } }else{ $status['status'] = 0; $status['pesan'] = validation_errors(); } echo json_encode($status); } /** * Mengedit junal penerimaan * @return [type] [description] */ function edit_jurnal(){ $this->load->library('form_validation'); $this->form_validation->set_rules('edit-id', 'ID Jurnal','required|strip_tags'); $this->form_validation->set_rules('edit-jumlah', 'Jumlah Angsuran','numeric|greater_than[1000]|required|strip_tags'); $this->form_validation->set_rules('edit-jumlah-asli', 'Jumlah Asli Angsuran','numeric|required|strip_tags'); $this->form_validation->set_rules('edit-keterangan', 'Keterangan','required|strip_tags'); if($this->form_validation->run() == TRUE){ $jurnal_id = $this->input->post('edit-id', TRUE); $jumlah = $this->input->post('edit-jumlah', TRUE); $jumlah_asli = $this->input->post('edit-jumlah-asli', TRUE); $keterangan = $this->input->post('edit-keterangan', TRUE); $query_jurnal = $this->penerimaan_jurnal_model->get_by_id($jurnal_id)->row(); $query_tagihan = $this->penerimaan_tagihan_model->get_by_id($query_jurnal->jurnal_tagihan_id)->row(); $total_angsuran = $this->penerimaan_jurnal_model->get_angsuran_by_tagihan_without_jurnal_id($query_jurnal->jurnal_tagihan_id, $jurnal_id)->row()->hasil; if(empty($total_angsuran)){ $total_angsuran = 0; } if($query_tagihan->tagihan_jumlah>=($total_angsuran+$jumlah)){ $data['jurnal_jumlah'] = $jumlah; $this->penerimaan_jurnal_model->update($data, $jurnal_id); // menyimpan logs penerimaan $data_log['log_tagihan_id'] = $query_jurnal->jurnal_tagihan_id; $data_log['log_perubahan'] = 'Perubahan Jurnal tanggal '.$query_jurnal->jurnal_ts.' dari '.number_format($jumlah_asli).' menjadi '.number_format($jumlah); $data_log['log_keterangan_petugas'] = $keterangan; $data_log['log_pegawai_nip'] = $this->access->get_username(); $this->penerimaan_logs_model->save($data_log); $status['status'] = 1; $status['pesan'] = 'Jurnal Berhasil Disimpan'; }else{ $status['status'] = 0; $status['pesan'] = 'Jumlah Pembayaran melebihi jumlah Tagihan !'; } }else{ $status['status'] = 0; $status['pesan'] = validation_errors(); } echo json_encode($status); } /** * Mendapatkan data siswa dan jenis tagihan tiap siswa * @param [type] $id_siswa [description] * @return [type] [description] */ function get_identitas_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; $select = '<option value="kosong">Pilih Jenis Penerimaan</option>'; $query_tagihan = $this->penerimaan_tagihan_model->get_tagihan_by_siswa($id_siswa); if($query_tagihan->num_rows()>0){ $query_tagihan = $query_tagihan->result(); foreach($query_tagihan as $temp){ $select = $select.'<option value="'.$temp->tagihan_id.'">'.$temp->thnajaran.' - '.$temp->jenis_nama.'</option>'; } } $data['jenis_penerimaan'] = $select; } } echo json_encode($data); } /** * Mendapatkan tagihan siswa sesuai dengan jenis penerimaan * @param [type] $jenis_penerimaan [description] * @return [type] [description] */ function get_tagihan($jenis_penerimaan=null){ $data['data'] = 0; if(!empty($jenis_penerimaan)){ $query_tagihan = $this->penerimaan_tagihan_model->get_by_id($jenis_penerimaan); if($query_tagihan->num_rows()>0){ $query_tagihan = $query_tagihan->row(); $data['data'] = 1; $data['total_tagihan'] = $query_tagihan->tagihan_jumlah; $total_angsuran = $this->penerimaan_jurnal_model->get_angsuran_by_tagihan($jenis_penerimaan)->row()->hasil; if(empty($total_angsuran)){ $data['total_angsuran'] = 0; }else{ $data['total_angsuran'] = number_format($total_angsuran); } } } echo json_encode($data); } /** * Mendapatkan data jurnal berdasarkan jurnal_id * @return [type] [description] */ function get_jurnal_by_id($jurnal_id=null){ $data['data'] = 0; if(!empty($jurnal_id)){ $query_jurnal = $this->penerimaan_jurnal_model->get_by_id($jurnal_id); if($query_jurnal->num_rows()>0){ $query_jurnal = $query_jurnal->row(); $data['data'] = 1; $data['jurnal_id'] = $query_jurnal->jurnal_id; $data['jurnal_jumlah'] = $query_jurnal->jurnal_jumlah; $data['jurnal_pegawai_nip'] = $query_jurnal->jurnal_pegawai_nip; $data['jurnal_pegawai_nama'] = $query_jurnal->nama; } } echo json_encode($data); } 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(){ $tagihan_id = $this->input->get('tagihan_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($start, $rows, $tagihan_id); $iFilteredTotal = $query->num_rows(); $iTotal= $this->penerimaan_jurnal_model->get_datatable_count($tagihan_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; 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="edit(\''.$temp->jurnal_id.'\')" title="Klik untuk mengubah Angsuran"><i class="fa fa-edit"></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; } }