function BuatNilai($w, $mhsw)
{
    $kd = "Select distinct mk.MKKode,mkpra.MKID as Kode \r\n    from mkpra \r\n    left outer join mk on mkpra.PraID = mk.MKID \r\n    where mkpra.MKID = '{$w['MKID']}'";
    $rkd = _query($kd);
    $retkd = '';
    while ($wkd = _fetch_array($rkd)) {
        $nl = GetaField2("krs", "Mhswid = '{$mhsw}' and MKKode", $wkd['MKKode'], 'order by BobotNilai DESC', 'GradeNilai');
        $nnl = !empty($nl) ? "(" . $nl . ")" : '';
        $retkd .= $wkd['MKKode'] . $nnl . ", ";
    }
    return TRIM($retkd, ", ");
}
예제 #2
0
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 {
    if (!empty($_SESSION['daritahun'])) {
        $_SESSION['sampaitahun'] = empty($_SESSION['sampaitahun']) ? $_SESSION['daritahun'] : $_SESSION['sampaitahun'];
        $_habismasa = "and '{$_SESSION['daritahun']}' <= m.BatasStudi and m.BatasStudi <= '{$_SESSION['daritahun']}' ";
    } else {
        $_habismasa = '';
    }
    $q = "SELECT m.MhswID, left(m.Nama,25) as Nama, m.TotalSKS, m.IPK, m.BatasStudi,\r\n\t\t      concat(m.alamat,', ',m.kota) as Alamat\r\n\t\t\t      from mhsw m\r\n\t\t\t    where \r\n\t\t\t      m.StatusMhswID in ('A','P')\r\n\t\t\t      and m.ProgramID='{$_SESSION['prid']}'\r\n            and m.ProdiID='{$_SESSION['prodi']}'\r\n\t\t \t \t    {$_habismasa} ";
    //and
    //krs.TahunID = '$_SESSION[tahun]'";
    $hsl = _query($q);
    //buat file
    $maxcol = 150;
    $nmf = "tmp/{$_SESSION['_Login']}.dwoprn";
    $f = fopen($nmf, 'w');
    fwrite($f, chr(27) . chr(77) . chr(27) . chr(15));
    $div = str_pad('-', $maxcol, '-') . $_lf;
    // parameter2
    $n = 0;
    $hal = 1;
    $brs = 0;
    $maxbrs = 40;
    $_Tgl = date("d-m-Y");
    $FakNama = GetFields("prodi p left outer join fakultas f on f.FakultasID = p.FakultasID", "p.ProdiID", $_SESSION['prodi'], "p.nama as pnama, f.nama as fnama");
    $BatasStudi = GetaField("mhsw", "MhswID", $_SESSION['mhswid'], "BatasStudi");
    $Sem = NamaTahun($_SESSION['tahun']);
    $DtMhs = GetFields('mhsw', 'MhswID', $_SESSION['mhswid'], "Nama,IPK");
    $DosenPA = GetFields('dosen left outer join mhsw on mhsw.PenasehatAkademik = dosen.Login', "mhsw.MhswID", $_SESSION['mhswid'], "dosen.nama as dnama, dosen.Login as ldosen");
    $JmlSKS = GetFields('krs', 'MhswID', $_SESSION['mhswid'], "Sum(SKS) as jSKS ,SUM(SKS * BobotNilai) as jx");
    //$JmlX = GetaField('krs')
    $hdr = str_pad("*** DAFTAR MAHASISWA HABIS MASA STUDI ***", $maxcol, ' ', STR_PAD_BOTH) . $_lf . $_lf;
    $hdr .= str_pad("SEMESTER", 15, ' ') . str_pad(":", 2, ' ') . str_pad($Sem, 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("MASA STUDI", 15, ' ') . str_pad(":", 2, ' ') . str_pad($_SESSION['daritahun'] . ' s/d ' . $_SESSION['sampaitahun'], 87, ' ', STR_PAD_RIGHT) . $_lf;
    //$hdr .= str_pad("P.A.",15,' ') . str_pad(":", 2, ' ') . str_pad($DosenPA['ldosen'].' '.$DosenPA['dnama'] ,87, ' ', STR_PAD_RIGHT).$_lf;
    $hdr .= $div;
    $hdr .= "No.  NIM       NAMA MAHASISWA\t         SMS.AKTIF  SKS   IPK   BATAS STUDI  ALAMAT" . $_lf . $div;
    fwrite($f, $hdr);
    //ISI
    $jumlahrec = _num_rows($hsl);
    $jumhal = ceil($jumlahrec / $maxbrs);
    while ($w = _fetch_array($hsl)) {
        $n++;
        $brs++;
        if ($brs > $maxbrs) {
            $hal++;
            $brs = 1;
            fwrite($f, chr(12));
            fwrite($f, $hdr . $_lf);
        }
        $tahunaktif = GetaField2('mhsw', "Statusmhswid = 'A' and mhswid", $w['MhswID'], 'order by tahunid desc', 'TahunID');
        $isi = str_pad($n . '.', 4, ' ') . ' ' . str_pad($w['MhswID'], 6) . ' ' . str_pad($w['Nama'], 28) . ' ' . str_pad($tahunaktif, 8, ' ') . str_pad($w['TotalSKS'], 3, ' ', STR_PAD_LEFT) . ' ' . str_pad($w['IPK'], 5, ' ', STR_PAD_LEFT) . ' ' . str_pad($w['BatasStudi'], 10, ' ', STR_PAD_LEFT) . '     ' . str_pad($w['Alamat'], 20, ' ') . $_lf;
        fwrite($f, $isi);
    }
    //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  " . $DtMhs['IPK'],39,' ',STR_PAD_LEFT) . str_pad($JmlSKS['jSKS'],21,' ',STR_PAD_LEFT). str_pad($JmlSKS['jx'],34,' ',STR_PAD_LEFT) . $_lf);
    //fwrite($f,$div);
    fwrite($f, str_pad("Halaman : " . $hal . "/" . $jumhal, 30, ' ') . $_lf);
    fwrite($f, str_pad("Dicetak oleh : " . $_SESSION['_Login'], 20, ' ') . str_pad("Dicetak Tgl : " . $_Tgl, 120, ' ', STR_PAD_LEFT) . $_lf . $_lf);
    fwrite($f, str_pad("Akhir laporan", 150, ' ', STR_PAD_LEFT));
    fwrite($f, chr(12));
    fclose($f);
    TampilkanFileDWOPRN($nmf, "akd.lap");
    //}
}
function daftar()
{
    global $_lf, $urutannilai;
    $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 {
        $_u = explode('~', $urutannilai[$_SESSION['_urutannilai']]);
        $_key = $_u[1];
        $q = "SELECT mk.MKKODE as mkkode, mk.Nama as mknama, krs.SKS as SKS, krs.GradeNilai as nilai, \r\n\t\t\t  krs.TahunID as thnid, krs.BobotNilai as bobot, krs.SKS * krs.BobotNilai as nxk\t\t\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  where \r\n\t\t \t \tkrs.MhswID = '{$_SESSION['mhswid']}'\r\n\t\t\t\t\tand (krs.GradeNilai LIKE 'D%' OR krs.GradeNilai LIKE 'E%')\r\n\t\t\t\tOrder By {$_key}";
        //and
        //krs.TahunID = '$_SESSION[tahun]'";
        $hsl = _query($q);
        //buat file
        $maxcol = 114;
        $nmf = "tmp/{$_SESSION['_Login']}.dwoprn";
        $f = fopen($nmf, 'w');
        fwrite($f, chr(27) . chr(15) . chr(27) . chr(108) . chr(5));
        $div = str_pad('-', $maxcol, '-') . $_lf;
        // parameter2
        $n = 0;
        $hal = 1;
        $brs = 0;
        $maxbrs = 46;
        $_Tgl = date("d-m-Y");
        $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");
        $DosenPA = GetFields('dosen left outer join mhsw on mhsw.PenasehatAkademik = dosen.Login', "mhsw.MhswID", $_SESSION['mhswid'], "dosen.nama as dnama, dosen.Login as ldosen");
        $JmlSKS = GetFields('krs', "k.StatusKRSID='A' and (GradeNilai LIKE 'D%' OR GradeNilai LIKE 'E%') and k.Final = 'Y' and MhswID", $_SESSION['mhswid'], "Sum(SKS) as jSKS ,SUM(SKS * BobotNilai) as jx ");
        //$JmlX = GetaField('krs')
        $hdr = str_pad("*** Rekapitulasi History Nilai ***", $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("BATAS STUDI", 15, ' ') . str_pad(":", 2, ' ') . str_pad("Semester " . $BatasStudi, 87, ' ', STR_PAD_RIGHT) . $_lf;
        $hdr .= str_pad("P.A.", 15, ' ') . str_pad(":", 2, ' ') . str_pad($DosenPA['ldosen'] . ' ' . $DosenPA['dnama'], 87, ' ', STR_PAD_RIGHT) . $_lf;
        $hdr .= $div;
        $hdr .= "No.  MATA KULIAH           \t\t\t         SKS    SEM    NILAI       BOBOT     NxK" . $_lf . $div;
        fwrite($f, $hdr);
        //ISI
        $jumlahrec = _num_rows($hsl);
        $jumhal = ceil($jumlahrec / $maxbrs);
        while ($w = _fetch_array($hsl)) {
            $n++;
            $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 . $_lf);
            }
            $pra = GetaField("mk", "MKID", $w['mkpra'], "MKKODE");
            $get = GetaField2('krs', "mhswid = '{$_SESSION['mhswid']}' and MKKode", $w['mkkode'], "", 'min(Gradenilai)');
            $bt = ($get == $w['nilai'] and $get != '-') ? "*" : "";
            if ($mkkode != $w['mkkode']) {
                $mkkode = $w['mkkode'];
                $_mkkode = $mkkode;
            } else {
                $_mkkode = '';
            }
            $isi = str_pad($n . '.', 4, ' ') . ' ' . str_pad($_mkkode, 6) . ' ' . str_pad($w['mknama'], 46) . ' ' . str_pad($w['SKS'], 4, ' ') . str_pad($w['thnid'], 9) . ' ' . str_pad($w['nilai'], 4, ' ') . ' ' . str_pad($bt, 2, ' ') . str_pad($w['bobot'], 8, ' ', STR_PAD_LEFT) . str_pad($w['nxk'], 8, ' ', STR_PAD_LEFT) . $_lf;
            fwrite($f, $isi);
        }
        //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  " . $DtMhs['IPK'], 39, ' ', STR_PAD_LEFT) . str_pad($JmlSKS['jSKS'], 21, ' ', STR_PAD_LEFT) . str_pad($JmlSKS['jx'], 34, ' ', 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, 90, ' ', STR_PAD_LEFT) . $_lf . $_lf);
        fwrite($f, str_pad("Akhir laporan", 114, ' ', STR_PAD_LEFT) . $_lf);
        fwrite($f, chr(12));
        fclose($f);
        TampilkanFileDWOPRN($nmf, "akd.lap");
    }
}