function Daftar()
{
    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 m.MhswID, m.Nama, sum(krs.SKS) as TSKS, m.IPK, m.BatasStudi, krs.KHSID, m.ProdiID, m.ProgramID\r\n    from krstemp krs\r\n      left outer join mhsw m on krs.MhswID=m.MhswID\r\n    where krs.TahunID='{$_SESSION['tahun']}'\r\n    {$_whr}\r\n    group by krs.MhswID ";
    $r = _query($s);
    // Buat file
    $nmf = "tmp/{$_SESSION['_Login']}.dwoprn";
    $f = fopen($nmf, 'w');
    $div = str_pad('-', 79, '-') . $_lf;
    // parameter2
    //$_prodi = GetaField('prodi', 'ProdiID', $_SESSION['prodi'], 'Nama');
    //$_prid = GetaField('program', 'ProgramID', $_SESSION['prid'], 'Nama');
    $n = 0;
    $hal = 1;
    $brs = 56;
    $maxbrs = 55;
    $maxcol = 79;
    $first = 1;
    // Buat header
    $RentangNPM = !empty($_SESSION['DariNPM']) && !empty($_SESSION['SampaiNPM']) ? "Dari NPM : {$_SESSION['DariNPM']} s/d {$_SESSION['SampaiNPM']} " : '';
    // Tampilkan
    $jumlahrec = _num_rows($r);
    $jumhal = ceil($jumlahrec / $maxbrs);
    while ($w = _fetch_array($r)) {
        $Cek = GetaField('khs', 'KHSID', $w['KHSID'], 'StatusMhswID');
        if ($Cek == 'A') {
        } else {
            $n++;
            $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 = 1;
            }
            $isi = str_pad($n . '.', 4, ' ') . ' ' . str_pad($w['MhswID'], 12) . ' ' . str_pad($w['Nama'], 30) . ' ' . str_pad($w['TSKS'], 3, ' ', STR_PAD_LEFT) . ' ' . str_pad($w['IPK'], 6, ' ', STR_PAD_LEFT) . ' ' . str_pad($w['BatasStudi'], 6);
            fwrite($f, $isi . $_lf);
        }
    }
    fwrite($f, $div);
    //fwrite($f, str_pad('Halaman : '.$hal."/".$jumhal,10,' ').$_lf);
    fwrite($f, str_pad('Dicetak oleh : ' . $_SESSION['_Login'], 55, ' ') . str_pad('Dibuat : ' . date("d-m-Y H:i"), 29, ' '));
    fwrite($f, chr(12));
    fclose($f);
    TampilkanFileDWOPRN($nmf, "akd.lap");
}
function DftrAkdLapKRSMhswDispen()
{
    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, krs.CatatanDispensasi, krs.TanggalDispensasi, \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 krs 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    and krs.CatatanDispensasi <> ''\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
    //$_prodi = GetaField('prodi', 'ProdiID', $_SESSION['prodi'], 'Nama');
    //$_prid = GetaField('program', 'ProgramID', $_SESSION['prid'], 'Nama');
    $hal = 0;
    $brs = 45;
    $maxbrs = 45;
    $maxcol = 150;
    $div = str_pad('-', $maxcol, '-') . $_lf;
    $tgl = date('d-m-Y h:i');
    fwrite($f, chr(27) . chr(15) . chr(27) . chr(77));
    // --> set 66 baris (kuarto)
    // Buat header
    $RentangNPM = !empty($_SESSION['DariNPM']) && !empty($_SESSION['SampaiNPM']) ? "Dari NPM: {$_SESSION['DariNPM']} s/d {$_SESSION['SampaiNPM']} " : '';
    $_npm = '';
    $prd = '';
    $jumlahrec = _num_rows($r);
    $jumhal = ceil($jumlahrec / $maxbrs);
    $first = 1;
    $n_ = 0;
    while ($w = _fetch_array($r)) {
        // Tampilkan Prodi
        $n++;
        $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 = '0,00';
        } else {
            $_mhswid = '';
            $_mhswnm = '';
            $_str = '';
            $_strn = '   ';
            $_SKS = '  ';
            $_IPS = '    ';
            $_TOTSKS = ' ';
        }
        $Catatan = str_replace(chr(13), ' ', $w['CatatanDispensasi']);
        $Catatan = str_replace(chr(10), '', $Catatan);
        // Tuliskan
        $jj = $w['JenisJadwalID'] != 'K' ? " ({$w['JenisJadwalID']})" : '';
        $isi = $_strn . ' ';
        $isi .= str_pad($_mhswid, 12, ' ') . ' ';
        $isi .= str_pad($_mhswnm, 15, ' ') . ' ';
        $isi .= str_pad($w['MKKode'], 7) . ' ';
        $isi .= str_pad($w['NamaMK'] . $jj, 30) . ' ';
        $isi .= str_pad($w['SKS'], 2, ' ', STR_PAD_LEFT) . ' ';
        $isi .= str_pad($w['TanggalDispensasi'], 12, ' ', STR_PAD_LEFT) . '   ';
        $isi .= str_pad($Catatan, 30, ' ') . ' ';
        $isi .= $_lf;
        fwrite($f, $isi);
    }
    $hal++;
    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, 100, ' ', STR_PAD_LEFT));
    // Tutup & tampilkan
    fwrite($f, chr(12));
    fclose($f);
    TampilkanFileDWOPRN($nmf, 'akd.lap');
}
function Daftar()
{
    global $_HeaderPrn, $_lf, $urutan;
    $_u = explode('~', $urutan[$_SESSION['_urutan']]);
    $_key = $_u[1];
    $tampil = !empty($_key) ? "and k.StatusMhswID = '{$_key}'" : "and k.StatusMhswID in ('A', 'C', 'T')";
    $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 sm.Nama as NamaStatus, m.MhswID, m.Nama, k.TotalSKS as TSKS, m.IPK, m.BatasStudi, m.ProdiID, m.ProgramID\r\n    from khs k\r\n      left outer join mhsw m on k.MhswID=m.MhswID\r\n\t\t\tleft outer join statusmhsw sm on sm.StatusMhswID = k.StatusMhswID\r\n    where k.TahunID='{$_SESSION['tahun']}'\r\n\t\t{$tampil}\r\n    {$_whr}\r\n\t\torder by k.MhswID";
    $r = _query($s);
    // Buat file
    $nmf = "tmp/{$_SESSION['_Login']}.dwoprn";
    $f = fopen($nmf, 'w');
    $div = str_pad('-', 85, '-') . $_lf;
    // parameter2
    $n = 0;
    $hal = 0;
    $brs = 56;
    $maxbrs = 55;
    $maxcol = 85;
    $first = 1;
    // Buat header
    $RentangNPM = !empty($_SESSION['DariNPM']) && !empty($_SESSION['SampaiNPM']) ? "Dari NPM : {$_SESSION['DariNPM']} s/d {$_SESSION['SampaiNPM']} " : '';
    // Tampilkan
    $jumlahrec = _num_rows($r);
    $jumhal = ceil($jumlahrec / $maxbrs);
    while ($w = _fetch_array($r)) {
        $n++;
        $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 = 1;
        }
        $isi = str_pad($n . '.', 4, ' ') . ' ' . str_pad($w['MhswID'], 12) . ' ' . str_pad($w['Nama'], 30) . ' ' . str_pad($w['TSKS'], 3, ' ', STR_PAD_LEFT) . ' ' . str_pad($w['IPK'], 6, ' ', STR_PAD_LEFT) . ' ' . str_pad($w['BatasStudi'], 12) . ' ' . str_pad($w['NamaStatus'], 4);
        fwrite($f, $isi . $_lf);
    }
    fwrite($f, $div);
    //fwrite($f, str_pad('Halaman : '.$hal."/".$jumhal,10,' ').$_lf);
    fwrite($f, str_pad('Dicetak oleh : ' . $_SESSION['_Login'], 55, ' ') . str_pad('Dibuat : ' . date("d-m-Y H:i"), 29, ' '));
    fwrite($f, chr(12));
    fclose($f);
    TampilkanFileDWOPRN($nmf, "akd.lap");
}