function daftar()
{
    global $_lf;
    $s = "SELECT KRSID, mk.MKKode, mk.Nama, j.NamaKelas \r\n        from krs \r\n          left outer join mk on krs.MKID = mk.MKID \r\n          left outer join jadwal j on krs.JadwalID = j.JadwalID\r\n        where krs.tahunid = {$_SESSION['tahun']} and \r\n        krs.gradenilai in (select nama from nilai where prodiid = {$_SESSION['prodi']}) \r\n        and j.JenisJadwalID = 'K'\r\n        and mk.prodiID = {$_SESSION['prodi']} group by krs.MKKode, j.NamaKelas order by mk.MKKode, j.NamaKelas";
    $r = _query($s);
    // Buat file
    $MaxCol = 114;
    $nmf = "tmp/{$_SESSION['_Login']}.dwoprn";
    $f = fopen($nmf, 'w');
    fwrite($f, chr(27) . chr(15));
    $div = str_pad('-', $MaxCol, '-') . $_lf;
    $_prodi = GetaField('prodi', 'ProdiID', $_SESSION['prodi'], 'Nama');
    $_prid = GetaField('program', 'ProgramID', $_SESSION['prid'], 'Nama');
    $n = 0;
    $hal = 1;
    $n2 = 0;
    $brs = 0;
    $maxbrs = 50;
    $jumlahrec = _num_rows($r);
    $jumhal = ceil($jumlahrec / $maxbrs);
    $arrGrade = GetArrayNilai("select Nama as Grade from Nilai where ProdiID = {$_SESSION['prodi']} order by Bobot DESC", "Grade");
    $banyakGrade = sizeof($arrGrade);
    $banyakGrade1 = $banyakGrade + 1;
    echo "<p><a href='?mnux=akd.lap'>Kembali</a> | <a href=dwoprn.php?f={$nmf}>Cetak Laporan</a></p>";
    echo "<p><table class=box cellspacing=1 cellpadding=4>\r\n    <tr>\r\n    <th class=ttl rowspan=2>#</th>\r\n    <th class=ttl rowspan=2>Kode</th>\r\n    <th class=ttl rowspan=2>Nama</th>\r\n    <th class=ttl rowspan=2>Kelas</th>\r\n    <th class=ttl colspan={$banyakGrade1}>Grade</th>\r\n    </tr>";
    for ($i = 0; $i < $banyakGrade; $i++) {
        $str = explode('~', $arrGrade[$i]);
        $hdrGrd .= "<th class=ttl title='{$str['0']}'>{$str['0']}</th>";
        $hdrctk .= str_pad($str[0], 5, ' ', STR_PAD_LEFT);
    }
    $hdr = str_pad("*** Laporan Rekap Jumlah Nilai Per Prodi ***", $MaxCol, ' ', STR_PAD_BOTH) . $_lf . $_lf . $_lf;
    $hdr .= "Periode   : " . NamaTahun($_SESSION['tahun']) . $_lf;
    $hdr .= "Prodi     : {$_prodi}" . $_lf;
    $hdr .= "Program   : {$_prid}" . $_lf;
    $hdr .= $div;
    $hdr .= str_pad("NO", 4) . str_pad('KODE', 8) . str_pad('NAMA', 35) . str_pad('KELAS', 6) . $hdrctk . str_pad('TOTAL', 9, ' ', STR_PAD_LEFT) . $_lf . $div;
    fwrite($f, $hdr);
    echo "<tr>{$hdrGrd}<th class=ttl>TOTAL</td></tr>";
    while ($w = _fetch_array($r)) {
        $_ssum = "select j.NamaKelas, GradeNilai, count(GradeNilai) as Jumlah\r\n      from krs\r\n        left outer join jadwal j on j.JadwalID = krs.JadwalID\r\n      where krs.MKKode='{$w['MKKode']}' and krs.TahunID = '{$_SESSION['tahun']}' and j.NamaKelas = '{$w['NamaKelas']}'\r\n      group by GradeNilai";
        $_rsum = _query($_ssum);
        $arrJumlah = array();
        while ($_wsum = _fetch_array($_rsum)) {
            $_kel = $_wsum['NamaKelas'];
            $_pid = $_wsum['GradeNilai'];
            $_jum = $_wsum['Jumlah'];
            $arrJumlah[$_pid] = $_jum + 0;
        }
        $n++;
        /*$brs++;
          if($brs > $maxbrs){
              fwrite($f, $div);
              fwrite($f, str_pad("Hal. : ".$hal.'/'.$jumhal, $maxcol, ' ', STR_PAD_LEFT).$_lf);
              $hal++; $brs = 1;
              fwrite($f, chr(12).$_lf);
              fwrite($f, $hdr);
          }*/
        $TOTAL = $arrJumlah['A'] + $arrJumlah['A-'] + $arrJumlah['B'] + $arrJumlah['B+'] + $arrJumlah['B-'] + $arrJumlah['C'] + $arrJumlah['C+'] + $arrJumlah['D'] + $arrJumlah['E'];
        echo "<tr><td class=ul>{$n}</td><td class=ul>{$w['MKKode']}</td><td class=ul>{$w['Nama']}</td><td class=ul>{$w['NamaKelas']}</td>\r\n    <td class=ul align=right>" . ($arrJumlah['A'] + 0) . "</td>\r\n    <td class=ul align=right>" . ($arrJumlah['A-'] + 0) . "</td>\r\n    <td class=ul align=right>" . ($arrJumlah['B+'] + 0) . "</td>\r\n    <td class=ul align=right>" . ($arrJumlah['B'] + 0) . "</td>\r\n    <td class=ul align=right>" . ($arrJumlah['B-'] + 0) . "</td>\r\n    <td class=ul align=right>" . ($arrJumlah['C'] + 0) . "</td>\r\n    <td class=ul align=right>" . ($arrJumlah['C+'] + 0) . "</td>\r\n    <td class=wrn align=right>" . ($arrJumlah['D'] + 0) . "</td>\r\n    <td class=wrn align=right>" . ($arrJumlah['E'] + 0) . "</td>\r\n    <td class=ul align=right>{$TOTAL}</td>\r\n    </tr>";
        $brs++;
        if ($brs > $maxbrs) {
            $isi .= $div;
            $isi .= str_pad("Hal. : " . $hal . '/' . $jumhal, $maxcol, ' ', STR_PAD_LEFT) . $_lf;
            $hal++;
            $brs = 1;
            $isi .= chr(12) . $_lf;
            $isi .= $hdr;
        }
        if ($kdmk != $w['MKKode']) {
            $kdmk = $w['MKKode'];
            $_kdmk = $kdmk;
            $n2++;
        } else {
            $_kdmk = '';
        }
        if ($nmmk != $w['Nama']) {
            $nmmk = $w['Nama'];
            $_nmmk = $nmmk;
        } else {
            $_nmmk = '';
        }
        if ($n_ != $n2) {
            $n_ = $n2;
            $_n_ = $n_ . ".";
        } else {
            $_n_ = '';
        }
        $isi .= str_pad($_n_, 4) . str_pad($_kdmk, 8) . str_pad($_nmmk, 35) . str_pad($w['NamaKelas'], 6) . str_pad($arrJumlah['A'] + 0, 5, ' ', STR_PAD_LEFT) . str_pad($arrJumlah['A-'] + 0, 5, ' ', STR_PAD_LEFT) . str_pad($arrJumlah['B+'] + 0, 5, ' ', STR_PAD_LEFT) . str_pad($arrJumlah['B'] + 0, 5, ' ', STR_PAD_LEFT) . str_pad($arrJumlah['B-'] + 0, 5, ' ', STR_PAD_LEFT) . str_pad($arrJumlah['C'] + 0, 5, ' ', STR_PAD_LEFT) . str_pad($arrJumlah['C+'] + 0, 5, ' ', STR_PAD_LEFT) . str_pad($arrJumlah['D'] + 0, 5, ' ', STR_PAD_LEFT) . str_pad($arrJumlah['E'] + 0, 5, ' ', STR_PAD_LEFT) . str_pad($TOTAL, 9, ' ', STR_PAD_LEFT) . $_lf;
        //echo "<tr><td colspan=$banyakGrade class=ul>" . ($arrJumlah['A']+0) . "</td></tr>";
    }
    fwrite($f, $isi);
    fwrite($f, $div);
    fwrite($f, str_pad("Hal. : " . $hal . '/' . $jumhal, $maxcol, ' ', STR_PAD_LEFT) . $_lf);
    fwrite($f, str_pad('Dicetak oleh : ' . $_SESSION['_Login'], 85, ' ') . str_pad('Dibuat : ' . date("d-m-Y H:i"), 29, ' '));
    fwrite($f, chr(12));
    fclose($f);
    /*echo "<td class=ul>$totA</td>
      <td class=ul></td>
      <td class=ul></td>
      <td class=ul></td>
      <td class=ul></td>
      <td class=ul></td>
      <td class=ul></td>
      <td class=ul></td>
      <td class=ul><td>";*/
    echo "</table></p>";
}
Example #2
0
function Daftar()
{
    global $_lf;
    $MaxThn = date('Y');
    $MinThn = $MaxThn - 9;
    $arrAgama = GetArrayNilai("select concat(Agama, '~', Nama) as NILAI from agama order by Agama", "NILAI");
    $arrKelamin = GetArrayNilai("select concat(Kelamin, '~', Nama) as NILAI from kelamin order by Kelamin", "NILAI");
    $arrStatus = GetArrayNilai("select concat(StatusMhswID, '~', Nama) as NILAI from statusmhsw where StatusMhswID in ('A', 'C', 'T', 'W') order by StatusMhswID", "NILAI");
    $whr = empty($_SESSION['fakid']) ? 'where prd.FakultasID <> 9' : "where prd.FakultasID='{$_SESSION['fakid']}' ";
    // Tampilkan
    $maxbrs = 4;
    $s = "select prd.ProdiID, prd.Nama as PRD,\r\n    prd.FakultasID, fak.Nama as FAK\r\n    from prodi prd\r\n      left outer join fakultas fak on prd.FakultasID=fak.FakultasID\r\n    {$whr}\r\n    order by prd.FakultasID, prd.ProdiID";
    $r = _query($s);
    $TOT = 0;
    $banyakagama = sizeof($arrAgama);
    $banyakkelamin = sizeof($arrKelamin);
    $banyakstatus = sizeof($arrStatus);
    $hdrkel = '';
    for ($i = 0; $i < $banyakkelamin; $i++) {
        $str = explode('~', $arrKelamin[$i]);
        $hdrkel .= str_pad($str[0], 4, ' ') . ' ';
        //"$str[0]  ";
    }
    $hdragm = '';
    for ($i = 0; $i < sizeof($arrAgama); $i++) {
        $str = explode('~', $arrAgama[$i]);
        $hdragm .= str_pad($str[0], 4, ' ') . ' ';
        //"$str[0]   ";
    }
    $hdrsta = '';
    for ($i = 0; $i < sizeof($arrStatus); $i++) {
        $str = explode('~', $arrStatus[$i]);
        $hdrsta .= str_pad($str[0], 4, ' ') . ' ';
        //"$str[0]  ";
    }
    $isi_ .= str_pad("** DAFTAR MAHASISWA TERDAFTAR KRS **", 108, ' ', STR_PAD_BOTH) . $_lf . $_lf;
    $isi_ .= "Periode : " . NamaTahun($_SESSION['tahun']) . $_lf;
    $isi_ .= str_pad('-', 108, '-') . $_lf;
    $isi_ .= "PRD    ANGKATAN      TOTAL      KELAMIN                AGAMA                             STATUS" . $_lf;
    $isi_ .= "                                 {$hdrkel}| {$hdragm}|    {$hdrsta}" . $_lf;
    $isi_ .= str_pad('-', 108, '-') . $_lf;
    $TOT = 0;
    $TOTK = array();
    $TOTA = array();
    $TOTS = array();
    while ($w = _fetch_array($r)) {
        $brs++;
        if ($brs > $maxbrs) {
            $isi_ .= str_pad('-', 108, '-') . $_lf;
            $isi_ .= chr(12);
            $isi_ .= str_pad("** DAFTAR MAHASISWA TERDAFTAR KRS **", 108, ' ', STR_PAD_BOTH) . $_lf . $_lf;
            $isi_ .= "Periode : " . NamaTahun($_SESSION['tahun']) . $_lf;
            $isi_ .= str_pad('-', 108, '-') . $_lf;
            $isi_ .= "PRD    ANGKATAN      TOTAL      KELAMIN                AGAMA                             STATUS" . $_lf;
            $isi_ .= "                                 {$hdrkel}| {$hdragm}|    {$hdrsta}" . $_lf;
            $isi_ .= str_pad('-', 108, '-') . $_lf;
            $brs = 1;
        }
        $arrKel1 = $arrKelamin;
        $arrAgm1 = $arrAgama;
        $arrSta1 = $arrStatus;
        $angk = AmbilDataAngkatan($w['ProdiID'], $w['PRD'], $_TOT, $MinThn, $MaxThn, $arrKel1, $arrAgm1, $arrSta1);
        $TOT += $_TOT;
        for ($i = 0; $i < $banyakkelamin; $i++) {
            $TOTK[$i] += $arrKel1[$i];
        }
        for ($i = 0; $i < sizeof($arrAgama); $i++) {
            $TOTA[$i] += $arrAgm1[$i];
        }
        for ($i = 0; $i < $banyakstatus; $i++) {
            $TOTS[$i] += $arrSta1[$i];
        }
        $isi_ .= $angk;
    }
    $_TOT = number_format($TOT);
    // Tampilkan jumlah total kelamin
    $totk = '';
    for ($i = 0; $i < $banyakkelamin; $i++) {
        $_totk = number_format($TOTK[$i]);
        $totk .= str_pad($_totk, 4, ' ', STR_PAD_LEFT) . ' ';
    }
    // Tampilkan jumlah total agama
    $tota = '';
    for ($i = 0; $i < $banyakagama; $i++) {
        $_tota = number_format($TOTA[$i]);
        $tota .= str_pad($_tota, 4, ' ', STR_PAD_LEFT) . ' ';
    }
    // Tampilkan jumlah total status
    $tots = '';
    for ($i = 0; $i < $banyakstatus; $i++) {
        $_tots = number_format($TOTS[$i]);
        $tots .= str_pad($_tots, 4, ' ', STR_PAD_LEFT) . ' ';
    }
    $isi_ .= str_pad('-', 108, '-') . $_lf;
    $isi_ .= "GRAND TOTAL        " . str_pad($_TOT, 7, ' ', STR_PAD_LEFT) . '   ' . str_pad($totk, 7, ' ', STR_PAD_LEFT) . ' ' . " {$tota}   {$tots}" . $_lf;
    $isi_ .= str_pad('-', 108, '-') . $_lf;
    $nmf = "tmp/{$_SESSION['_Login']}.dwoprn";
    $f = fopen($nmf, 'w');
    fwrite($f, chr(27) . chr(15) . chr(27) . chr(77));
    fwrite($f, $isi_);
    fwrite($f, str_pad("Dicetak oleh : " . $_SESSION['_Login'], 70, ' ') . str_pad('Dicetak Tanggal : ' . date("d-m-Y H:i"), 10, ' '));
    fwrite($f, chr(12));
    fclose($f);
    TampilkanFileDWOPRN($nmf, "akd.lap.rekapmhsw");
}
Example #3
0
function Daftar()
{
    $MaxThn = date('Y');
    $MinThn = $MaxThn - 9;
    $arrAgama = GetArrayNilai("select concat(Agama, '~', Nama) as NILAI from agama order by Agama", "NILAI");
    $arrKelamin = GetArrayNilai("select concat(Kelamin, '~', Nama) as NILAI from kelamin order by Kelamin", "NILAI");
    $arrStatus = GetArrayNilai("select concat(StatusMhswID, '~', Nama) as NILAI from statusmhsw where StatusMhswID in ('A', 'C', 'T', 'W') order by StatusMhswID", "NILAI");
    $whr = empty($_SESSION['fakid']) ? 'where prd.FakultasID <> 9' : "where prd.FakultasID='{$_SESSION['fakid']}' ";
    // Tampilkan
    $s = "select prd.ProdiID, prd.Nama as PRD,\r\n    prd.FakultasID, fak.Nama as FAK\r\n    from prodi prd\r\n      left outer join fakultas fak on prd.FakultasID=fak.FakultasID\r\n    {$whr}\r\n    order by prd.FakultasID, prd.ProdiID";
    $r = _query($s);
    $TOT = 0;
    $banyakagama = sizeof($arrAgama);
    $banyakkelamin = sizeof($arrKelamin);
    $banyakstatus = sizeof($arrStatus);
    echo "<p><a href='?mnux=akd.lap'>Kembali</a> | <a href='?mnux=akd.lap.rekapmhsw1&bck=akd.lap'>Cetak</a></p>";
    echo "<p><table class=box cellspacing=1 cellpadding=4>\r\n    <tr><th class=ttl rowspan=2>Prd</th>\r\n    <th class=ttl rowspan=2>Angkatan</th>\r\n    <th class=ttl rowspan=2>Total</th>\r\n    <th class=ttl colspan={$banyakkelamin}>Kelamin</th>\r\n    <th class=ttl colspan={$banyakagama}>Agama</th>\r\n    <th class=ttl colspan={$banyakstatus}>Status</th>\r\n    </tr>";
    $hdrkel = '';
    for ($i = 0; $i < $banyakkelamin; $i++) {
        $str = explode('~', $arrKelamin[$i]);
        $hdrkel .= "<th class=ttl title='{$str['1']}'>{$str['0']}</th>";
    }
    $hdragm = '';
    for ($i = 0; $i < sizeof($arrAgama); $i++) {
        $str = explode('~', $arrAgama[$i]);
        $hdragm .= "<th class=ttl title='{$str['1']}'>{$str['0']}</th>";
    }
    $hdrsta = '';
    for ($i = 0; $i < sizeof($arrStatus); $i++) {
        $str = explode('~', $arrStatus[$i]);
        $hdrsta .= "<th class=ttl title='{$str['1']}'>{$str['0']}</th>";
    }
    echo "<tr>{$hdrkel} {$hdragm} {$hdrsta}</tr>";
    $TOT = 0;
    $TOTK = array();
    $TOTA = array();
    $TOTS = array();
    while ($w = _fetch_array($r)) {
        $arrKel1 = $arrKelamin;
        $arrAgm1 = $arrAgama;
        $arrSta1 = $arrStatus;
        $angk = AmbilDataAngkatan($w['ProdiID'], $w['PRD'], $_TOT, $MinThn, $MaxThn, $arrKel1, $arrAgm1, $arrSta1);
        $TOT += $_TOT;
        for ($i = 0; $i < $banyakkelamin; $i++) {
            $TOTK[$i] += $arrKel1[$i];
        }
        for ($i = 0; $i < sizeof($arrAgama); $i++) {
            $TOTA[$i] += $arrAgm1[$i];
        }
        for ($i = 0; $i < $banyakstatus; $i++) {
            $TOTS[$i] += $arrSta1[$i];
        }
        echo $angk;
    }
    $_TOT = number_format($TOT);
    // Tampilkan jumlah total kelamin
    $totk = '';
    for ($i = 0; $i < $banyakkelamin; $i++) {
        $_totk = number_format($TOTK[$i]);
        $totk .= "<td class=inp2 align=right><b>{$_totk}</b></td>";
    }
    // Tampilkan jumlah total agama
    $tota = '';
    for ($i = 0; $i < $banyakagama; $i++) {
        $_tota = number_format($TOTA[$i]);
        $tota .= "<td class=inp2 align=right><b>{$_tota}</b></td>";
    }
    // Tampilkan jumlah total status
    $tots = '';
    for ($i = 0; $i < $banyakstatus; $i++) {
        $_tots = number_format($TOTS[$i]);
        $tots .= "<td class=inp2 align=right><b>{$_tots}</b></td>";
    }
    echo "<tr><td colspan=2 class=inp2 align=right>Grand Total :</td>\r\n    <td class=inp2 align=right><b>{$_TOT}</td>\r\n    {$totk} {$tota} {$tots}\r\n    </tr>";
    echo "</tr></table></p>";
}