function DftrAkdLapKRSMhsw() { global $_HeaderPrn, $_lf; $whr = array(); if (!empty($_SESSION['prodi'])) { $whr[] = "m.ProdiID='{$_SESSION['prodi']}'"; } if (!empty($_SESSION['prid'])) { $whr[] = "m.ProgramID='{$_SESSION['prid']}'"; } if (!empty($_SESSION['DariNPM']) && !empty($_SESSION['SampaiNPM'])) { $whr[] = " '{$_SESSION['DariNPM']}' <= m.MhswID and m.MhswID <= '{$_SESSION['SampaiNPM']}' "; } $_whr = implode(" and ", $whr); if (!empty($_whr)) { $_whr = " and " . $_whr; } // query $s = "select krs.KRSID, krs.MKID, krs.StatusKRSID, mk.MKKode, j.JenisJadwalID, \r\n LEFT(mk.Nama, 25) as NamaMK, mk.SKS,\r\n krs.MhswID, LEFT(m.Nama, 15) as NamaMhsw,\r\n m.ProdiID, m.ProgramID, prd.Nama as PRD, m.TotalSKS\r\n from krstemp krs\r\n left outer join mhsw m on krs.MhswID=m.MhswID\r\n left outer join prodi prd on m.ProdiID=prd.ProdiID\r\n left outer join mk mk on krs.MKID=mk.MKID\r\n left outer join jadwal j on krs.JadwalID=j.JadwalID\r\n where krs.StatusKRSID='A' and krs.TahunID='{$_SESSION['tahun']}' {$_whr}\r\n order by m.ProdiID, m.MhswID, mk.MKKode"; $r = _query($s); // Buat file $nmf = "tmp/{$_SESSION['_Login']}.dwoprn"; $f = fopen($nmf, 'w'); // parameter2 $brs = 55; $maxbrs = 55; $maxcol = 90; $div = str_pad('-', $maxcol, '-') . $_lf; $tgl = date('d-m-Y h:i'); fwrite($f, chr(18) . chr(27) . chr(15)); fwrite($f, chr(27) . chr(67) . chr(66)); // --> set 66 baris (kuarto) // Buat header $RentangNPM = !empty($_SESSION['DariNPM']) && !empty($_SESSION['SampaiNPM']) ? "Dari NPM: {$_SESSION['DariNPM']} s/d {$_SESSION['SampaiNPM']} " : ''; $_npm = ''; $prd = ''; $first = 1; $hal = 0; $jumlahrec = _num_rows($r); $jumhal = ceil($jumlahrec / $maxbrs); while ($w = _fetch_array($r)) { // Tampilkan Prodi $brs++; $_prodi = GetaField('prodi', 'ProdiID', $w['ProdiID'], 'Nama'); $_prid = GetaField('program', 'ProgramID', $w['ProgramID'], 'Nama'); if ($brs > $maxbrs) { if ($first == 0) { fwrite($f, $div . chr(12)); } $hd = HeaderKrs($_SESSION['tahun'], $_prid, $_prodi, $div, $maxcol, $hal, $RentangNPM); fwrite($f, $hd); $brs = 0; $first = 0; $prodi = $w['ProdiID']; } elseif ($prodi != $w['ProdiID']) { $prodi = $w['ProdiID']; if ($first == 0) { fwrite($f, $div); } fwrite($f, chr(12)); fwrite($f, HeaderKrs($_SESSION['tahun'], $_prid, $_prodi, $div, $maxcol, $hal, $RentangNPM)); $brs = 0; $_n = 0; } if ($_npm != $w['MhswID']) { $_npm = $w['MhswID']; $_mhswid = $w['MhswID']; $_mhswnm = $w['NamaMhsw']; $_TOTSKS = $w['TotalSKS']; $_n++; $_strn = str_pad($_n, 3, '0', STR_PAD_LEFT); $_SKS = GetaField('krs left outer join jadwal j on j.JadwalID = krs.JadwalID', "krs.TahunID='{$_SESSION['tahun']}' and j.JenisJadwalID = 'K' and krs.MhswID", $w['MhswID'], "sum(krs.SKS)") + 0; $_IPS = GetIPSLalu($w['MhswID']); } else { $_mhswid = ''; $_mhswnm = ''; $_str = ''; $_strn = ' '; $_SKS = ' '; $_IPS = ' '; $_TOTSKS = ' '; } // Tuliskan $jj = $w['JenisJadwalID'] != 'K' ? " ({$w['JenisJadwalID']})" : ''; $isi = $_strn . ' '; $isi .= str_pad($_mhswid, 12, ' ') . ' '; $isi .= str_pad($_mhswnm, 15, ' ') . ' '; $isi .= str_pad($_TOTSKS, 3, ' ', STR_PAD_LEFT) . ' '; $isi .= str_pad($_SKS, 3, ' ', STR_PAD_LEFT) . ' '; $isi .= str_pad($_IPS, 4, ' ', STR_PAD_LEFT) . ' '; $isi .= str_pad($w['MKKode'], 7) . ' '; $isi .= str_pad($w['NamaMK'] . $jj, 30) . ' '; $isi .= str_pad($w['SKS'], 2, ' ', STR_PAD_LEFT) . ' '; $isi .= $_lf; fwrite($f, $isi); } fwrite($f, $div); fwrite($f, str_pad("Dicetak oleh: " . $_SESSION['_Login'] . ", " . date("d-m-Y H:i"), 50, ' ')); // str_pad("(Akhir Laporan) Hal. : ".$hal.'/'.$jumhal, 29, ' ', STR_PAD_LEFT)); // Tutup & tampilkan fwrite($f, chr(12)); fclose($f); TampilkanFileDWOPRN($nmf, 'akd.lap'); }
function Cetak() { global $_lf; echo "<body bgcolor=#EEFFFF>"; // Parameters $pos = $_SESSION['BLANKO-POS']; $max = $_SESSION['BLANKO-MAX']; $nmf = $_SESSION['BLANKO-FILE']; $_khsid = $_SESSION['khsid']; $khsid = $_khsid[$pos]; if ($pos < $max) { $grs = str_pad("-", 150, '-') . $_lf; // Buat file $f = fopen($nmf, 'a'); $brs = 0; $maxbrs = 40; $hal = 1; fwrite($f, chr(27) . chr(77) . chr(15) . chr(27) . chr(108) . chr(8) . $_lf); $namathn = NamaTahun($_SESSION['tahun']); //$khsid = $_REQUEST['khsid']; $khs = GetFields('khs', 'KHSID', $khsid, '*'); $mhsw = GetFields("mhsw m\r\n left outer join program prg on m.ProgramID=prg.ProgramID\r\n left outer join prodi prd on m.ProdiID=prd.ProdiID", 'MhswID', $khs['MhswID'], "m.*, prg.Nama as PRG, prd.Nama as PRD"); $tahun = GetFields('tahun', "KodeID='{$khs['KodeID']}' and TahunID='{$khs['TahunID']}' and ProdiID", $khs['ProdiID'], '*'); $PA = GetaField('dosen', 'Login', $mhsw['PenasehatAkademik'], "concat(Nama, ', ', Gelar)"); if ($khs['Sesi'] > 1) { $ipslalu = GetIPSLalu($mhsw); } else { $ipslalu = 0; } $kecuali = KecualiMK($khs, $mhsw); $sqlkecuali = empty($kecuali) ? '' : "and not (j.MKKode in ({$kecuali}))"; $maxsks = GetaField("maxsks", "INSTR(ProdiID, '.{$mhsw['ProdiID']}.') > 0 and DariIP <= {$ipslalu} or SampaiIP >", $ipslalu, 'SKS'); $peringatan = " Anda masih memiliki utang semester lalu + denda 5% sebesar Rp.{$_bal}. {$_lf} \r\n Anda tidak akan mendapat KHS dan juga tidak dapat mendaftar KRS {$_lf}\r\n sebelum utang ini anda lunasi. {$_lf}\r\n Lakukan pembayaran di Bank sesuai dengan prosedur yang berlaku."; $hdr = str_pad("FORM LEMBAR RENCANA STUDI", 150, ' ', STR_PAD_BOTH) . $_lf . $_lf; $hdr .= str_pad($namathn, 150, ' ', STR_PAD_BOTH) . $_lf . $_lf; $hdr .= str_pad("NPM : {$mhsw['MhswID']}", 115, ' ') . $_lf; $hdr .= str_pad("Mahasiswa : {$mhsw['Nama']}", 115, ' ') . str_pad("SKS Maksimal : {$maxsks}", 18, ' ') . $_lf; $hdr .= str_pad("Program : {$mhsw['PRG']}", 115, ' ') . str_pad("IPS : {$ipslalu}", 18, ' ') . $_lf; $hdr .= str_pad("Prodi : {$mhsw['PRD']}", 115, ' ') . str_pad("Total SKS : {$mhsw['TotalSKS']}", 18, ' ') . $_lf; $hdr .= str_pad("P.A : {$PA}", 115, ' ') . str_pad("IPK : {$mhsw['IPK']}", 18, ' ') . $_lf; $hdr .= $grs . "NO. KODE MATA KULIAH SKS JEN KEL TAR ISI AMBIL HARI JAM PRASYARAT PARAF PA " . $_lf . $grs . $_lf; fwrite($f, $hdr); //$isi = GetIsiBlanko($khsid, $khs, $mhsw); $s = "select j.*, h.Nama as HR, time_format(j.JamMulai, '%H:%i') as JM,\r\n time_format(j.JamSelesai, '%H:%i') as JS, LEFT(j.Nama,45) as JNama, mod(mk.Sesi,2) as Sesi\r\n from jadwal j\r\n left outer join hari h on j.HariID=h.HariID\r\n\t left outer join mk on mk.MKID = j.MKID\r\n where j.KodeID='{$khs['KodeID']}'\r\n and j.TahunID='{$_SESSION['tahun']}'\r\n and INSTR(j.ProdiID, '.{$mhsw['ProdiID']}.')>0\r\n\t {$sqlkecuali}\r\n and j.JadwalSer=0\r\n order by j.MKKode"; //echo "<pre>$s</pre>"; //exit; $r = _query($s); $jumlahrec = _num_rows($r); $jumhal = ceil($jumlahrec / $maxbrs); $n = 0; //$isi = array(); //if (empty($bal)) { while ($w = _fetch_array($r)) { $brs++; if ($brs > $maxbrs) { $hal++; $brs = 1; fwrite($f, $grs); fwrite($f, str_pad("Hal. : " . $hal . '/' . $jumhal, $maxcol, ' ', STR_PAD_LEFT) . $_lf); fwrite($f, chr(12)); fwrite($f, $hdr); } if ($w['JumlahKelasSerial'] > 0) { $serial = GetSerial($w); } else { $serial = ''; } if ($kdmk != $w['MKKode']) { $kdmk = $w['MKKode']; $_kdmk = $kdmk; $n++; } else { $_kdmk = ''; } if ($n_ != $n) { $n_ = $n; $_n_ = $n_ . "."; $titik = "......"; } else { $_n_ = ''; $titik = ''; } $pra = BuatNilai($w, $mhsw); $arrPra = array(); $apa = array(); $apa2 = array(); $arrPra = explode(', ', $pra); if (Sizeof($arrPra) > 3) { for ($i = 0; $i < 3; $i++) { $apa[] = $arrPra[$i]; } for ($j = 3; $j < sizeof($arrPra); $j++) { $apa2[] = $arrPra[$j]; } } else { $__pra = $pra; } $__pra = empty($apa) ? $__pra : implode(", ", $apa); $_pra_ = empty($apa2) ? '' : implode(", ", $apa2); if ($mk != $w['JNama']) { $mk = $w['JNama']; $_mk = $mk; $_sks = $w['SKS']; $_pra = $__pra; $_pra2 = $_pra_; } else { $_mk = ''; $_sks = ''; $_pra = ''; $_pra2 = ''; } $_pra2_ = empty($_pra2) ? '' : str_pad(" ", 98, ' ') . str_pad($_pra2, 30, ' ') . $_lf; $as = $_n_ % 2 == 0 ? 11 : 18; $isi = str_pad($_n_, 4, ' ') . str_pad($_kdmk, 7) . str_pad($_mk, 41) . str_pad($_sks, 4, ' ', STR_PAD_Left) . str_pad($w['JenisJadwalID'], 2, ' ', STR_PAD_LEFT) . str_pad($w['NamaKelas'], 4, ' ', STR_PAD_LEFT) . str_pad($w['Kapasitas'], 6, ' ', STR_PAD_LEFT) . ' ' . str_pad($w['JumlahKRSMhsw'], 3, ' ', STR_PAD_LEFT) . ' ' . str_pad(".....", 4, ' ') . ' ' . str_pad($w['HR'], 7, ' ') . str_pad($w['JM'] . "-" . $w['JS'], 11, ' ') . ' ' . str_pad($_pra, 28, ' ') . str_pad($titik, $as, ' ', STR_PAD_LEFT) . $_lf . $_pra2_; fwrite($f, $isi); fwrite($f, $serial); //} //} else { //fwrite($f, $peringatan . $_lf); } $tgl = date('d-m-Y H:i'); $isi_ .= $grs; $isi_ .= str_pad("Jumlah", 139, ' ', STR_PAD_LEFT) . str_pad(":", 4, ' ') . str_pad(".......", 5, ' ') . $_lf . $grs; $isi_ .= str_pad("Hal. : " . $hal . '/' . $jumhal, $maxcol, ' ', STR_PAD_LEFT) . $_lf; $isi_ .= str_pad("Dicetak oleh : ", 4, ' ') . $_SESSION['_Login'] . ', ' . $tgl . $_lf; fwrite($f, $isi_); fwrite($f, chr(12) . $_lf); fclose($f); // refresh page echo "<p>Proses Lembar Rencana Studi: <font size=+2>{$pos}/{$max}</font><br />\r\n\t{$khsid} » {$khs['NamaMhsw']}</p>"; echo "<script type='text/javascript'>window.onload=setTimeout('window.location.reload()', 2);</script>"; } else { echo "<p>Pembuatan file Cetak Lembar Rencana Studi telah selesai.<br />\r\n\t Untuk memulai mencetak klik: <a href='{$nmf}'><img src='img/printer.gif' border=0></a></p>"; echo "<p>Untuk melihat preview klik <a href=blanko.preview.php?nmf={$nmf} target=_blank><img src='img/view.png' border=0></a></p>"; } $_SESSION['BLANKO-POS']++; }