function daftar()
{
    $s = "select * from pmb where\r\n        PMBPeriodID = '{$_SESSION['tahun']}'\r\n        order by LulusUjian, PMBID";
    $r = _query($s);
    $n = 0;
    echo "<table class=box cellpadding=4 cellspacing=1><tr>\r\n        <th class=ttl>No.</th><th class=ttl>PMBID</th>\r\n        <th class=ttl>NIM/NPM</th>\r\n        <th class=ttl>Surat Pembayaran</th>\r\n        <th class=ttl>Bipot</th>\r\n        <th class=ttl>Bayar</th>\r\n        <th class=ttl>Prodi</th>\r\n        <th class=ttl>Program</th>\r\n        <th class=ttl>Status</th>\r\n        <th class=ttl>Lulus?</th></tr>";
    while ($w = _fetch_array($r)) {
        $n++;
        //$tot = 0;
        $bipot2 = GetBipot2($w, $w['BIPOTID'], $tot);
        $byrmhsw = TampilkanBIPOTCAMA1($w['PMBID'], $_SESSION['tahun']);
        $arr = explode('|', $byrmhsw);
        $cl = $bipot2 != $arr[0] && $arr[0] > 0 ? "class = wrn" : "class = ul";
        echo "<tr><td class=inp>{$n}</td>\r\n          <td {$cl}><a href=?mnux=mhswbaru&gos=ImprtPMB&trm={$w['PMBID']} target=_blank>{$w['PMBID']}</td>\r\n          <td {$cl}>{$w['NIM']}</td>\r\n          <td {$cl} align=right>{$bipot2}</td>\r\n          <td {$cl} align=right>{$arr['0']}</td>\r\n          <td {$cl} align=right>{$arr['1']}</td>\r\n          <td {$cl} align=center>{$w['ProdiID']}</td>\r\n          <td {$cl} align=center>{$w['ProgramID']}</td>\r\n          <td {$cl} align=right>{$w['StatusAwalID']}</td>\r\n          <td {$cl} align = center>{$w['LulusUjian']}</td>\r\n          </tr>";
    }
    echo "</table>";
}
     fclose($ft);
     // Pakai template
     $_t = $tpl . chr(12);
     $_t = str_replace('~PMBID~', $pmb['PMBID'], $_t);
     $_t = str_replace('~Nama~', $pmb['Nama'], $_t);
     $_t = str_replace('~AsalSekolah~', $pmb['AsalSekolah'], $_t);
     $_t = str_replace('~FAK~', $pmb['FAK'], $_t);
     $_t = str_replace('~PRD~', $pmb['PRD'], $_t);
     $_t = str_replace('~PRG~', $pmb['PRG'], $_t);
     $_t = str_replace('~TglMulai~', FormatTanggal($period['BayarMulai']), $_t);
     $_t = str_replace('~TglSelesai~', FormatTanggal($period['BayarSelesai']), $_t);
     $_t = str_replace('~BayarSelesai~', FormatTanggal($period['BayarSelesai']), $_t);
     $_t = str_replace('~Tanggal~', date('d/m/Y'), $_t);
     // BIPOT
     $tot = 0;
     $bipot2 = GetBipot2($pmb, $pmb['BIPOTID'], $tot);
     $_t = str_replace('~BIPOT~', $bipot2, $_t);
     // Catatan diskon
     $cttDiskon = $pmb['Diskon'] > 0 ? GetDiskon($pmb, $bipotid, $pmb['Diskon']) : '';
     $_t = str_replace('~DISKON~', $cttDiskon, $_t);
     $_t = str_replace('~TOTALBIAYA~', number_format($tot), $_t);
     // Tuliskan ke file
     //fwrite($f, chr(27).chr(108).chr(0));
     fwrite($f, $_t);
 }
 fclose($f);
 if (empty($_REQUEST['prn'])) {
     TampilkanFileDWOPRN($nmf, '');
 } else {
     include_once "dwoprn.php";
     DownloadDWOPRN($nmf);
function CetakSurat()
{
    global $_HeaderPrn, $_lf;
    // data periode
    $TM = FormatTanggal($_REQUEST['TglDUMulai']);
    $TS = FormatTanggal($_REQUEST['TglDUSelesai']);
    $BY = FormatTanggal($_REQUEST['TglBayar']);
    $TT = FormatTanggal($_REQUEST['TglTangan']);
    // Ambil template
    $namatemplate = "template/{$_REQUEST['tahunpssb']}.PSSB.txt";
    $ft = fopen($namatemplate, 'r');
    $tpl = fread($ft, filesize($namatemplate));
    fclose($ft);
    $nmf = HOME_FOLDER . DS . "tmp/{$_SESSION['_Login']}.dwoprn";
    // Ambil semua parameter
    $pssbid = array();
    $pssbid = $_REQUEST['pssbid'];
    if (!empty($pssbid)) {
        $f = fopen($nmf, 'w');
        /*fwrite($f, 
          chr(27) . chr(38) . chr(107) . chr(50) . chr(83). // condensed
          chr(27) . chr(38) . chr(108) . chr(54) . chr(68). // 6 lines per inches
          chr(27) . chr(40) . chr(115) . chr(51) . chr(66)); // bold & 66 baris*/
        fwrite($f, chr(27) . chr(15));
        fwrite($f, chr(27) . chr(108) . chr(5));
        // Buat surat beberapa sekaligus
        for ($i = 0; $i < sizeof($pssbid); $i++) {
            $pssb = GetFields("pssb p\r\n        left outer join program prg on p.ProgramID=prg.ProgramID\r\n        left outer join prodi prd on p.ProdiID=prd.ProdiID\r\n        left outer join fakultas f on prd.FakultasID=f.FakultasID\r\n        left outer join asalsekolah a on p.AsalSekolah=a.SekolahID", 'PSSBID', $pssbid[$i], "p.*, prd.Nama as PRD, prg.Nama as PRG, f.Nama as FAK,\r\n        a.Nama as AsalSekolah, a.JenisSekolahID as jensek");
            // Ambil template
            $_t = $tpl . chr(12);
            $_t = str_replace('~PSSBID~', $pssb['PSSBID'], $_t);
            $_t = str_replace('~Nama~', $pssb['Nama'], $_t);
            $_t = str_replace('~AsalSekolah~', $pssb['AsalSekolah'], $_t);
            $_t = str_replace('~FAK~', $pssb['FAK'], $_t);
            $_t = str_replace('~PRD~', $pssb['PRD'], $_t);
            $_t = str_replace('~TglMulai~', $TM, $_t);
            $_t = str_replace('~TglSelesai~', $TS, $_t);
            $_t = str_replace('~BayarSelesai~', $BY, $_t);
            $_t = str_replace('~Tanggal~', $TT, $_t);
            // Ambil BIPOT default untuk program studi ybs
            $bipotid = GetaField('bipot', "Def='Y' and ProgramID='{$pssb['ProgramID']}' and ProdiID", $pssb['ProdiID'], 'BIPOTID');
            // BIPOT
            $tot = 0;
            $bipot2 = GetBipot2($bipotid, $tot);
            //$jensek = Getafield('asalsekolah', "sekolahID", $pssb['sekolahID'], 'JenisSekolahID');
            $_t = str_replace('~BIPOT~', $bipot2, $_t);
            // Diskon
            $cttDiskon = $pssb['Diskon'] > 0 ? GetDiskon($bipotid, $pssb['Diskon'], $tot, $satu, $dua, $tiga) : Nodiskon($bipotid, $tot, $satu, $dua, $tiga);
            if ($pssb['jensek'] == 'PENABUR') {
                $catat = "Jika Anda membayar lunas s.d. " . $BY . " akan mendapat rabat 5% dari SPP yang wajib dibayar, asal sekolah anda dari " . $_lf . "   BPK Penabur sehingga mendapat tambahan rabat sebesar 5% lagi";
            } elseif ($pssb['jensek'] == 'WAKIL') {
                $catat = "Jika Anda membayar lunas s.d. " . $BY . " akan mendapat rabat 10% dari SPP yang wajib dibayar, asal sekolah anda dari" . $_lf . "   Perwakilan sehingga mendapat tambahan rabat sebesar 5% lagi";
            } else {
                $catat = "Jika Anda membayar lunas s.d. " . $BY . " akan mendapat rabat 5% dari SPP yang wajib dibayar";
            }
            $_t = str_replace('~LUNAS~', $catat, $_t);
            $_t = str_replace('~DISKON~', $cttDiskon, $_t);
            // Total
            $_t = str_replace('~TOTALBIAYA~', number_format($tot), $_t);
            //50% SPP
            $_t = str_replace('~TAHAP1~', number_format($satu), $_t);
            //30% SPP
            $_t = str_replace('~TAHAP2~', number_format($dua), $_t);
            //20% SPP
            $_t = str_replace('~TAHAP3~', number_format($tiga), $_t);
            // Tuliskan ke file
            fwrite($f, $_t);
        }
        fclose($f);
        if (empty($_REQUEST['prn'])) {
            TampilkanFileDWOPRN($nmf, '');
        } else {
            include_once "dwoprn.php";
            DownloadDWOPRN($nmf);
        }
    }
}
function daftar()
{
    global $_lf, $urutanstts;
    $whr = array();
    if (!empty($_SESSION['prodi'])) {
        $whr[] = "ProdiID='{$_SESSION['prodi']}'";
    }
    if (!empty($_SESSION['prid'])) {
        $whr[] = "ProgramID='{$_SESSION['prid']}'";
    }
    $_whr = implode(" and ", $whr);
    if (!empty($_whr)) {
        $_whr = " and " . $_whr;
    }
    $_u = explode('~', $urutanstts[$_SESSION['_urutanstts']]);
    $_key = $_u[0];
    //var_dump($_u);
    if ($_key == "Calon Mahasiswa") {
        $key = "and StatusMundur = 'N'";
    } else {
        if ($_key == "Calon Mahasiswa Mundur") {
            $key = "and StatusMundur = 'Y'";
        } else {
            $key = '';
        }
    }
    $s = "select PMBID, ProdiID, left(Alamat, 57) as Alamat ,TotalBiayaMhsw, \r\n        TotalSetoranMhsw, Kota, BIPOTID, Kodepos, GradeNilai, StatusMundur, \r\n        left(Telepon, 18) as Telepon, NIM, left(Nama,32) as Nama, Concat(RT,'/',RW) as RTRW, StatusAwalID\r\n        from pmb\r\n          where \r\n            PMBPeriodID  = '{$_SESSION['tahun']}' \r\n        and LulusUjian   = 'Y' \r\n        and StatusAwalID in ('B', 'P', 'S')\r\n        {$_whr}\r\n        {$key}\r\n        group by PMBID, StatusMundur\r\n        order by StatusMundur ASC, ProdiID, NIM DESC, PMBID";
    $r = _query($s);
    // echo "<pre>$s</pre>";
    $maxcol = 232;
    $nmf = HOME_FOLDER . DS . "tmp/{$_SESSION['_Login']}.dwoprn";
    $f = fopen($nmf, 'w');
    fwrite($f, chr(27) . chr(15) . chr(27) . chr(77) . chr(27) . chr(108) . chr(10));
    $div = str_pad('-', $maxcol, '-') . $_lf;
    $div2 = str_pad('=', $maxcol, '=') . $_lf;
    $n = 0;
    $hal = 0;
    $nprd = 0;
    $brs = 56;
    $maxbrs = 49;
    $jumlahrec = _num_rows($r);
    $jumhal = ceil($jumlahrec / $maxbrs);
    $prodi = "";
    $first = 1;
    $fm = 1;
    $mundur = 'N';
    while ($w = _fetch_array($r)) {
        $_prodi = GetaField('prodi', 'ProdiID', $w['ProdiID'], 'Nama');
        $n++;
        $brs++;
        if ($brs > $maxbrs) {
            if ($first == 0) {
                fwrite($f, $div . chr(12));
            }
            $hd = Headerxx($_SESSION['tahun'], $_prodi, $div, $maxcol, $hal);
            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, str_pad("## TOTAL PER PRODI : ", 53) . str_pad(number_format($sum), 140, ' ', STR_PAD_LEFT) . $_lf);
                fwrite($f, $div);
            }
            fwrite($f, chr(12));
            fwrite($f, Headerxx($_SESSION['tahun'], $_prodi, $div, $maxcol, $hal));
            $brs = 0;
            $sum = 0;
            $n = 1;
        } elseif ($mundur != $w['StatusMundur']) {
            $mundur = $w['StatusMundur'];
            if ($first == 0) {
                fwrite($f, $div);
                fwrite($f, str_pad("## TOTAL : ", 53) . str_pad(number_format($sum), 140, ' ', STR_PAD_LEFT) . $_lf);
                fwrite($f, $div);
            }
            fwrite($f, $div);
            fwrite($f, str_pad("## TOTAL : ", 53) . str_pad(number_format($sum), 140, ' ', STR_PAD_LEFT) . $_lf);
            fwrite($f, $div);
            fwrite($f, chr(12));
            fwrite($f, HeaderMUN($_SESSION['tahun'], $_prodi, $div, $maxcol, $hal));
            $brs = 0;
            $n = 1;
        }
        $Alamat = str_replace(chr(13), ' ', $w['Alamat']);
        $Alamat = str_replace(chr(10), '', $Alamat);
        $BiayaPMB = GetBipot2($w, $w['BIPOTID'], $tot);
        //echo $BiayaPMB;
        $isi_ = AmbilBPM($_SESSION['tahun'], $w['PMBID'], $brs);
        $dskn = AmbilDiskon($w['PMBID']);
        $BIAYA = BiayaBipot($w['PMBID']);
        $STATUS = GetaField('statusawal', 'StatusAwalID', $w['StatusAwalID'], 'Nama');
        $Balance = -$BiayaPMB + $dskn + $BIAYA + 0;
        $TOTBAL += $Balance;
        $_Balance = number_format($Balance);
        $isi = str_pad($n, 4) . str_pad($w['PMBID'], 11) . str_pad($w['NIM'], 11) . str_pad($w['Nama'], 33) . str_pad($Alamat, 60) . str_pad($w['Telepon'], 20) . str_pad($STATUS, 6) . str_pad(number_format($BiayaPMB), 12, ' ', STR_PAD_LEFT) . str_pad(number_format($dskn), 12, ' ', STR_PAD_LEFT) . str_pad(number_format($BIAYA + 0), 12, ' ', STR_PAD_LEFT) . str_pad($_Balance, 12, ' ', STR_PAD_LEFT) . '  ' . $isi_[0] . $_lf;
        fwrite($f, $isi);
        if (count($isi_) > 1) {
            for ($i = 1; $i <= count($isi_); $i++) {
                $ct = str_pad(' ', 195) . $isi_[$i] . $_lf;
                fwrite($f, $ct);
            }
        }
        //fwrite($f, $isi_);
        $sum += $Balance;
    }
    fwrite($f, $div);
    fwrite($f, str_pad("## TOTAL PER PRODI : ", 53) . str_pad(number_format($sum), 140, ' ', STR_PAD_LEFT) . $_lf);
    fwrite($f, $div2);
    fwrite($f, str_pad("## GRAND TOTAL : ", 53) . str_pad(number_format($TOTBAL), 140, ' ', STR_PAD_LEFT) . $_lf);
    fwrite($f, $div2);
    fwrite($f, str_pad("Dicetak oleh : " . $_SESSION['_Login'], 176, ' ') . str_pad("Dicetak : " . date("d-m-Y H:i"), 30, ' ') . $_lf);
    fwrite($f, str_pad("Akhir laporan", 200, ' ', STR_PAD_LEFT));
    fwrite($f, chr(12));
    fclose($f);
    TampilkanFileDWOPRN($nmf, "akd.lap");
}