public function cek_pb_konek_st_ct(Penerima $pb, $jenis_cek = 'all', $is_lulus = false, $luaran = false) { if ($pb->get_kd_pb() == '' || is_null($pb->get_kd_pb())) { return false; } if ($pb->get_st() == '' || is_null($pb->get_st())) { $pb = $pb->get_penerima_by_id($pb); } $kd_st = $pb->get_st(); $status = $pb->get_status(); switch ($jenis_cek) { case 'all': if (!$is_lulus) { //status belum lulus $sts_cuti = $this->cek_pb_konek_st_ct($pb, 'cuti', false); //cek masih cuti? // var_dump($sts_cuti); if ($sts_cuti) { $status = $this->cek_pb_konek_st_ct($pb, 'cuti', false, true); if ($luaran) { return $status; } return true; } else { //jika tidak dalam keadaan cuti $status = $this->cek_pb_konek_st_ct($pb, 'st', false, true); return $status; } } else { //TO DO cek lebih ke st, tp cek dulu dia dalam keadaancuti apa tidak //klo dalam keadaan cuti ya tidak bisa dong, harus dikembalikan ke cuti $sts_cuti = $this->cek_pb_konek_st_ct($pb, 'cuti', true); if ($sts_cuti) { $status = $this->cek_pb_konek_st_ct($pb, 'cuti', true, true); if ($luaran) { return $status; } return true; } else { $status = $this->cek_pb_konek_st_ct($pb, 'st', true, true); return $status; } } break; case 'cuti': $ct = new Cuti($this->registry); $d_ct = $ct->get_cuti(Session::get('kd_user'), $pb); //TO DO cek apakah masa cuti masih ada $exist_data = count($d_ct) > 0; if ($exist_data) { if ($luaran) { return 4; //saat cuti tidak boleh lulus } else { return true; } } else { if ($is_lulus) { //untuk kode lulus if ($luaran) { $status = $this->cek_pb_konek_st_ct($pb, 'st', true, true); //kode untuk lulus return $status; } else { //TO DO kembalian boolean return true; } } else { //untuk kode belum lulus if ($luaran) { $status = $this->cek_pb_konek_st_ct($pb, 'st', false, true); //kode sebelum lulus return $status; } else { //TO DO kembalian boolean return false; } } if (!$luaran) { return false; } } break; case 'st': $st = new SuratTugas($this->registry); $st->set_kd_st($kd_st); $st = $st->get_surat_tugas_by_id($st); $tgl_sel_st = $st->get_tgl_selesai(); $child = $st->is_child($kd_st); //child pertama if ($child) { $st_child = new SuratTugas($this->registry); $st_child->set_kd_st($st->get_st_lama()); //st parent $st_child = $st_child->get_surat_tugas_by_id($st_child); $second_child = $st_child->is_child($st_child->get_kd_st()); if ($second_child) { //jika child kedua if ($is_lulus) { //untuk status lulus if ($pb->get_tgl_lapor() == '' || is_null($pb->get_tgl_lapor())) { $tgl_lapor = date('Y-m-d'); } else { $tgl_lapor = $pb->get_tgl_lapor(); } $status = $pb->get_status_change_pb($st, $tgl_lapor, $tgl_sel_st); } else { $status = 3; } return $status; } else { if ($is_lulus) { if ($pb->get_tgl_lapor() == '' || is_null($pb->get_tgl_lapor())) { $tgl_lapor = date('Y-m-d'); } else { $tgl_lapor = $pb->get_tgl_lapor(); } $status = $pb->get_status_change_pb($st, $tgl_lapor, $tgl_sel_st); } else { $status = 2; } return $status; } } else { return 1; } break; default: throw new Exception(); } }
private function get_data_buku() { $d_st = $this->get_list_kode_st(true); $now = date('Y-m'); $now .= "-1"; $next_month = date('Y-m-d', strtotime('+1 MONTH', strtotime($now))); foreach ($d_st as $st) { $kd_st = $st['KD_ST']; // print_r($kd_st); $d_bulan = $this->get_bulan_surat_tugas($kd_st, true); // print_r($d_bulan); foreach ($d_bulan as $bulan) { $cek_proses = $this->cek_telah_bayar_elem(2, $bulan, $kd_st); // echo $bulan; var_dump($cek_proses); $cek_bayar = $this->cek_telah_bayar_elem(2, $bulan, $kd_st, true); $tmp = explode("-", $bulan); $month = $tmp[1] == 1 ? 3 : 9; $tanggal_akhir = date('Y-m-d', strtotime($tmp[0] . "-" . $month . "-1")); // var_dump(date('Y-m-d',$tanggal_akhir)); $cek_bulan = strtotime($tanggal_akhir) == strtotime($next_month); if ($cek_proses) { if (!$cek_bayar) { $notif = $this->get_data_buku_by_st($kd_st, $bulan); $notif->set_link($bulan); $notif->set_status_notif('proses'); // echo $kd_st."-".$bulan."-".$notif->get_jenis_notif()."-".$notif->get_jurusan()."-".$notif->get_tahun_masuk()."-".$notif->get_univ()."-".$notif->get_status_notif()."</br>"; // print_r($notif); $this->_notif_data[] = $notif; } } else { $notif = new NotifikasiDao(); $st = new SuratTugas($this->registry); $st->set_kd_st($kd_st); $d_st = $st->get_surat_tugas_by_id($st); $notif->set_jatuh_tempo($bulan); $notif->set_jenis_notif('buku'); /** jurusan **/ $jur = new Jurusan($this->registry); $jur->set_kode_jur($d_st->get_jur()); $d_jur = $jur->get_jur_by_id($jur); $notif->set_jurusan($d_jur->get_nama()); $notif->set_kode_link(''); $notif->set_link($bulan); $notif->set_status_notif('belum'); $notif->set_tahun_masuk($d_st->get_th_masuk()); /** universitas **/ $fakul = new Fakultas($this->registry); $fakul->set_kode_fakul($d_jur->get_kode_fakul()); $d_fakul = $fakul->get_fakul_by_id($fakul); $univ = new Universitas($this->registry); $univ->set_kode_in($d_fakul->get_kode_univ()); $d_univ = $univ->get_univ_by_id($univ); $notif->set_univ($d_univ->get_kode()); /** pic **/ $pic = new User($this->registry); $d_pic = $pic->getUser_id($d_univ->get_pic()); $pic_arr = array('kode' => $d_pic->get_id(), 'nama' => $d_pic->get_nmUser(), 'foto' => $d_pic->get_foto()); $notif->set_pic($pic_arr); // if ($cek_bulan) { $is_notif = $this->is_write_notif('buku', $tanggal_akhir); if ($is_notif) { // echo $kd_st."-".$bulan."-".$notif->get_jenis_notif()."-".$notif->get_jurusan()."-".$notif->get_tahun_masuk()."-".$notif->get_univ()."-".$notif->get_status_notif()."</br>"; $this->_notif_data[] = $notif; } } else { // echo $kd_st."-".$bulan."-".$notif->get_jenis_notif()."-".$notif->get_jurusan()."-".$notif->get_tahun_masuk()."-".$notif->get_univ()."-".$notif->get_status_notif()."</br>"; $this->_notif_data[] = $notif; } } } } }
public function addpb($id) { $st = new SuratTugas($this->registry); $pb = new Penerima($this->registry); $univ = new Universitas($this->registry); $bank = new Bank($this->registry); $st->set_kd_st($id); $pb->set_st($id); $this->view->kd_st = $id; $this->view->d_bank = $bank->get_bank(); $this->view->d_univ = $univ->get_univ(); if (Session::get('role') == 2) { $this->view->d_st = $st->get_surat_tugas_by_id($st, $this->kd_user); $this->view->d_pb = $pb->get_penerima_by_st($pb, $this->kd_user); } else { $this->view->d_st = $st->get_surat_tugas_by_id($st); $this->view->d_pb = $pb->get_penerima_by_st($pb); } $this->view->d_th_masuk = $st->get_list_th_masuk(); // var_dump($this->view->d_st); $this->view->render('riwayat_tb/pb_to_st'); }
public function cetak_profil($id) { $pb = new Penerima($this->registry); //mendapatkan informasi pb $st = new SuratTugas($this->registry); //mendapatkan informasi surat tugas $el = new ElemenBeasiswa($this->registry); //mendapatkan pembayaran $bank = new Bank($this->registry); //mendapatkan nama bank $jst = new JenisSuratTugas($this->registry); //mendapatkan jenis surat tugas $jur = new Jurusan($this->registry); $univ = new Universitas($this->registry); $nilai = new Nilai($this->registry); $cuti = new Cuti($this->registry); $mas = new MasalahPenerima($this->registry); $pemb = new PemberiBeasiswa(); $beaya = new Biaya(); $role = Session::get('role'); $pb->set_kd_pb($id); $this->view->d_pb = $pb->get_penerima_by_id($pb, $this->kd_user); if ($role == 3) { $this->view->d_pb = $pb->get_penerima_by_id($pb); } $st->set_kd_st($this->view->d_pb->get_st()); $this->view->d_st = $st->get_surat_tugas_by_id($st, $this->kd_user); if ($role == 3) { $this->view->d_st = $st->get_surat_tugas_by_id($st); } $pemb = $pemb->get_by_id($this->view->d_st->get_pemberi()); $this->view->d_pemb = $pemb->nama_pemberi; $this->view->d_bank = $bank->get_bank_id($this->view->d_pb->get_bank()); $jur->set_kode_jur($this->view->d_pb->get_jur()); $this->view->d_jur = $jur->get_jur_by_id($jur); $jst->set_kode($this->view->d_st->get_jenis_st()); $this->view->d_jst = $jst->get_jst_by_id($jst); $this->view->d_univ = $univ->get_univ_by_jur($this->view->d_jur->get_kode_jur()); $this->view->d_nil = $nilai->get_nilai($pb); $this->view->d_cur_ipk = $nilai->get_current_ipk($pb); $this->view->d_cuti = $cuti->get_cuti($this->kd_user, $pb); if ($role == 3) { $this->view->d_cuti = $cuti->get_cuti(0, $pb); } $this->view->d_rwt_beas = $pb->get_penerima_by_column($pb, $this->kd_user, 'nip', true); if ($role == 3) { $this->view->d_rwt_beas = $pb->get_penerima_by_column($pb, 0, 'nip', true); } $elem = $el->get_elem_per_pb($pb, false); $bea = $beaya->get_cost_per_pb($pb, false); $this->view->d_mas = $mas->get_masalah($pb); $d_bea = array(); /* * sementara versi dummy dulu ye :p */ foreach ($elem as $v) { $d = new BiayaPenerimaBeasiswa(); $is_jadup = $v->get_kd_r() == 'tunjangan hidup'; $is_buku = $v->get_kd_r() == 'buku'; $nama = $v->get_kd_r(); if ($is_jadup) { $nama .= " " . $v->get_bln() . " " . $v->get_thn(); } if ($is_buku) { $bulan = Tanggal::bulan_num($v->get_bln()); $bulan = $bulan == 1 ? 'ganjil' : 'genap'; $nama .= " semester " . $bulan . " " . $v->get_thn(); } $d->set_nama_biaya($nama); $d->set_jumlah_biaya($v->get_total_bayar()); $d_bea[] = $d; } foreach ($bea as $v) { $d = new BiayaPenerimaBeasiswa(); $d->set_nama_biaya($v->nama_tagihan); $d->set_jumlah_biaya($v->biaya_per_pegawai); $d_bea[] = $d; } $this->view->d_bea = $d_bea; $this->view->load('profil/cetak_profil'); }