function daftar()
{
    global $_lf;
    $Cekdl = GetaField("mhsw", "MhswID", $_SESSION['mhswid'], "MhswID");
    if (empty($Cekdl) && empty($tahun)) {
        echo ErrorMsg("Mahasiswa Tidak Ditemukan", "Tidak ada mahasiswa dengan NPM: <b>{$_SESSION['mhswid']}</b>");
    } else {
        $q = "SELECT mk.MKID, mk.MKKODE as mkkode, mk.Nama as mknama, mk.SKS as SKS, krs.GradeNilai as nilai, \r\n\t\t\t  krs.TahunID as thnid, krs.BobotNilai\r\n\t\t\t  from krs\r\n\t\t\t  \tleft outer join mk on mk.MKID = krs.MKID\r\n\t\t\t\t  left outer join mhsw on mhsw.MhswID = krs.MhswID\r\n\t\t\t  where \r\n\t\t \t \tkrs.MhswID = '{$_SESSION['mhswid']}'\r\n\t\t \t \tand krs.tahunID < '{$_SESSION['tahun']}'\r\n\t\t \t \tand krs.BobotNilai >0\r\n        order by mk.MKKode, krs.TahunID";
        $hsl = _query($q);
        //buat file
        $maxcol = 160;
        $nmf = "tmp/{$_SESSION['_Login']}.dwoprn";
        $f = fopen($nmf, 'w');
        fwrite($f, chr(27) . chr(77) . chr(27) . chr(15) . $_lf);
        $div = str_pad('-', $maxcol, '-') . $_lf;
        // parameter2
        $n = 0;
        $hal = 1;
        $brs = 0;
        $maxbrs = 48;
        $_Tgl = date("d-m-Y");
        $JnsTahun = NamaTahun($_SESSION['tahun']);
        $FakNama = GetFields("mhsw left outer join prodi p on mhsw.ProdiId = p.ProdiID \r\n\t\t\t\t\tleft outer join fakultas f on f.FakultasID = p.FakultasID", "mhsw.MhswID", $_SESSION['mhswid'], "p.nama as pnama, f.nama as fnama");
        $BatasStudi = GetaField("mhsw", "MhswID", $_SESSION['mhswid'], "BatasStudi");
        $BatasStudi = NamaTahun($BatasStudi);
        $DtMhs = GetFields('mhsw', 'MhswID', $_SESSION['mhswid'], "Nama,IPK,TotalSKS");
        $hdr = str_pad("*** Daftar Rekapitulasi Nilai dan Prasyarat ***", $maxcol, ' ', STR_PAD_BOTH) . $_lf;
        //$hdr .= str_pad("-----------------------------------------------",$maxcol,' ', STR_PAD_BOTH) . $_lf.$_lf;
        $hdr .= str_pad("NIM", 15, ' ') . str_pad(":", 2, ' ') . str_pad($_SESSION['mhswid'] . ' ' . $DtMhs['Nama'], 87, ' ', STR_PAD_RIGHT) . $_lf;
        $hdr .= str_pad("FAK/JUR", 15, ' ') . str_pad(":", 2, ' ') . str_pad($FakNama['pnama'] . '/' . $FakNama['fnama'], 87, ' ', STR_PAD_RIGHT) . $_lf;
        $hdr .= str_pad("SEMESTER", 15, ' ') . str_pad(":", 2, ' ') . str_pad($JnsTahun, 87, ' ', STR_PAD_RIGHT) . $_lf;
        $hdr .= str_pad("BATAS STUDI", 15, ' ') . str_pad(":", 2, ' ') . str_pad("Semester " . $BatasStudi, 87, ' ', STR_PAD_RIGHT) . $_lf;
        $hdr .= $div;
        $hdr .= "No.  MATA KULIAH           \t\t\t         SKS    NILAI        SEM     PRASYARAT" . $_lf . $div;
        fwrite($f, $hdr);
        //ISI
        $jumrec = _num_rows($hsl);
        $jumhal = ceil($jumrec / $maxbrs);
        while ($w = _fetch_array($hsl)) {
            $cekprodi = GetaField('mhsw', 'MhswID', $_SESSION['mhswid'], 'ProdiID');
            $brs++;
            if ($brs > $maxbrs) {
                fwrite($f, $div);
                fwrite($f, str_pad("Halaman : " . $hal . '/' . $jumhal, 10, ' ') . $_lf);
                $hal++;
                $brs = 1;
                fwrite($f, chr(12));
                fwrite($f, $hdr);
            }
            if ($cekprodi == "10") {
                $tdknilai = GetFields('nilai', "Nama", $w['nilai'], '*');
                if ($tdknilai['HitungIPK'] == 'Y') {
                    $bin = '*';
                    $_nilai = $w['nilai'];
                    $nxk += $w['SKS'] * $w['BobotNilai'];
                    $tSKS += $w['SKS'];
                } else {
                    $bin = '';
                    $_nilai = '(' . $w['nilai'] . ')';
                }
            } else {
                $_nilai = $w['nilai'];
                $nxk += $w['SKS'] * $w['BobotNilai'];
                //$ipk = $DtMhs['IPK'];
                $tSKS += $w['SKS'];
            }
            if ($kdmk != $w['mkkode']) {
                $kdmk = $w['mkkode'];
                $_kdmk = $kdmk;
                $_sks = $w['SKS'];
                $n++;
            } else {
                $_kdmk = '';
                $_sks = '';
            }
            if ($namamk != $w['mknama']) {
                $namamk = $w['mknama'];
                $_namamk = $namamk;
            } else {
                $_namamk = '';
            }
            if ($n_ != $n) {
                $n_ = $n;
                $_n_ = $n_ . ".";
                $titik = "......";
            } else {
                $_n_ = '';
            }
            $pra_ = BuatNilai($w, $_SESSION['mhswid']);
            $isi = str_pad($_n_, 4, ' ') . ' ' . str_pad($_kdmk, 6) . ' ' . str_pad($_namamk, 46) . ' ' . str_pad($_sks, 7, ' ') . str_pad($_nilai, 4, ' ', STR_PAD_BOTH) . ' ' . str_pad($bin, 6, ' ') . str_pad($w['thnid'], 8, ' ') . ' ' . str_pad($pra_, 4, ' ') . '  ' . str_pad($w['pras'], 20) . $_lf;
            fwrite($f, $isi);
        }
        $ipk = $cekprodi == '10' ? $ipk = $nxk / $tSKS : $DtMhs;
        //fwrite($f, str_pad("Jumlah SKS : ",50, ' ',STR_PAD_LEFT).str_pad($JMLSKS,10,' ',STR_PAD_LEFT ).$_lf);
        fwrite($f, $div);
        fwrite($f, str_pad("IPK  : " . number_format($DtMhs['IPK'], 2), 40, ' ', STR_PAD_LEFT) . str_pad("Total SKS : " . $DtMhs['TotalSKS'], 20, ' ', STR_PAD_LEFT) . $_lf);
        fwrite($f, $div);
        fwrite($f, str_pad("Halaman : " . $hal . '/' . $jumhal, 10, ' ') . $_lf);
        fwrite($f, str_pad("Dicetak oleh : " . $_SESSION['_Login'], 20, ' ') . str_pad("Dicetak Tgl : " . $_Tgl, 140, ' ', STR_PAD_LEFT) . $_lf . $_lf);
        fwrite($f, str_pad("Akhir laporan", 160, ' ', STR_PAD_LEFT));
        fwrite($f, chr(12));
        fclose($f);
        TampilkanFileDWOPRN($nmf, "akd.lap");
    }
}
Example #2
0
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} &raquo; {$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']++;
}