Example #1
0
function Ambil($mhswid, $khsid)
{
    $jid = array();
    $jid = $_REQUEST['jid'];
    $jresid = $_REQUEST['jresid'];
    $khs = GetFields('khs', 'KHSID', $khsid, '*');
    $cekprasyarat = GetaField('prodi', "KodeID='" . KodeID . "' and ProdiID", $khs['ProdiID'], 'CekPrasyarat');
    if (empty($jid)) {
        echo ErrorMsg('Error', "Anda belum mencentang matakuliah yang akan diambil.<br />\r\n      Hubungi Sysadmin untuk informasi lebih lanjut.\r\n      <hr size=1 color=silver />\r\n      Opsi: <input type=button name='Kembali' value='Kembali'\r\n        onClick=\"location='../{$_SESSION['mnux']}.ambil.php?mhswid={$mhswid}&khsid={$khsid}'\" />\r\n        <input type=button name='Tutup' value='Tutup'\r\n        onClick=\"window.close()\" />");
    } else {
        TutupScript($mhswid, $khsid);
        // Buat array pesan
        $arrPesan = array();
        $_psn = '';
        foreach ($jid as $j) {
            $oke = true;
            $jdwl = GetFields('jadwal', 'JadwalID', $j, '*');
            // Cek prasyarat
            if ($cekprasyarat == 'Y') {
                $oke = CheckPrasyarat($khs, $jdwl, $_psn);
            }
            if ($oke) {
                $oke = cekMakSKS($khs, $jdwl, $_psn);
            }
            // Cek apakah ada bentrok?
            if ($oke) {
                $oke = CheckKRSMhsw($khs, $jdwl, $_psn);
            }
            /* if($jdwl['AdaResponsi'] == 'Y')
               {	$jdwlresponsi = GetFields("jadwal jr left outer join jadwal j on j.JadwalRefID=jr.JadwalID and j.KodeID='".KodeID."'" , 'JadwalID', $arrResponsi[$j], 'jr.*, j.Nama, j.MKKode, j.SKS');
               if ($oke) $oke = CheckResponsiMhsw($khs, $jdwlresponsi, $_psn);
               } */
            if ($oke) {
                $oke = CheckKapasitas($jdwl, $_psn);
            }
            if ($oke) {
                $oke = cekKdMK($khs, $jdwl, $_psn);
            }
            if ($oke) {
                SimpanKRSMhsw($khs, $jdwl);
            } else {
                $arrPesan[] = $_psn;
            }
        }
        HitungUlangKRS($khsid);
        echo "<script>\r\n      opener.location='../index.php?mnux={$_SESSION['mnux']}&gos=&mhswid={$mhswid}&khsid={$khsid}';\r\n      </script>";
        // Jika ada Error, tampilkan pesan errornya
        if (!empty($arrPesan)) {
            $p = implode(' ', $arrPesan);
            echo ErrorMsg('Error', "Ada KRS yang gagal diambil. Berikut adalah pesan kesalahannya:\r\n       <ol>{$p}</ol>\r\n       <hr size=1 color=silver />\r\n       Opsi: <input type=button name='Tutup' value='Tutup' onClick=\"javascript:ttutup()\" />\r\n         <input type=button name='Kembali' value='Kembali' onClick=\"location='../{$_SESSION['mnux']}.ambil.php'\" />");
        } else {
            // Sampai sini, penyimpanan data krs telah selesai.
            //echo "KRS untuk Jadwal Kuliah Utama Telah berhasil disimpan.<br>";
            // Sekarang, cek dan simpan data kelas tambahan (responsi/lab/tutorial)
            // Buat array yang memuat semua jadwal responsi
            $arrPesan = array();
            // Bila ada jadwal kelas tambahan yang dipilih....
            if (!empty($jresid)) {
                foreach ($jresid as $j) {
                    $a = explode('~', $j);
                    $oke = true;
                    $jdwl = GetFields('jadwal', 'JadwalID', $a[1], '*');
                    // Tidak usah Cek prasyarat karena sudah dicek sebelumnya
                    // Cek apakah ada bentrok?
                    if ($oke) {
                        $oke = CheckKRSMhsw($khs, $jdwl, $_psn);
                    }
                    if ($oke) {
                        $oke = CheckKapasitas($jdwl, $_psn);
                    }
                    if ($oke) {
                        SimpanKRSMhsw($khs, $jdwl);
                    } else {
                        $arrPesan[] = $_psn;
                    }
                }
            }
            if (!empty($arrPesan)) {
                $p = implode(' ', $arrPesan);
                echo ErrorMsg('Error', "Ada KRS Tambahan yang gagal diambil. Berikut adalah pesan kesalahannya:\r\n\t\t\t   <ol>{$p}</ol>\r\n\t\t\t   <hr size=1 color=silver />\r\n\t\t\t   Opsi: <input type=button name='Tutup' value='Tutup' onClick=\"javascript:ttutup()\" />\r\n\t\t\t\t <input type=button name='Kembali' value='Kembali' onClick=\"location='../{$_SESSION['mnux']}.ambil.php'\" />");
            }
            echo "<script>ttutup()</script>";
        }
    }
}
Example #2
0
function KRSSav()
{
    // Data mahasiswa
    $mhswid = $_REQUEST['mhswid'];
    $mhsw = GetFields("mhsw\r\n    left outer join prodi on mhsw.ProdiID=prodi.ProdiID", 'MhswID', $mhswid, 'mhsw.*, prodi.CekPrasyarat');
    // Data khs
    $khsid = $_REQUEST['khsid'];
    $khs = GetFields('khs', 'KHSID', $khsid, '*');
    // Data tahun
    $tahun = $_REQUEST['tahun'];
    $datatahun = GetFields('tahun', "KodeID='{$_SESSION['KodeID']}' and ProgramID='{$mhsw['ProgramID']}'\r\n    and ProdiID='{$mhsw['ProdiID']}' and TahunID", $tahun, '*');
    $jdwl = array();
    $jdwl = $_REQUEST['JDWL'];
    if (!empty($jdwl)) {
        $salah = 0;
        $pesan = '';
        // Cek jadwal yg diambil 1 per 1
        for ($i = 0; $i < sizeof($jdwl); $i++) {
            $jad = GetFields("jadwal j\r\n        left outer join hari h on j.HariID=h.HariID", 'j.JadwalID', $jdwl[$i], "j.*, h.Nama as HR");
            // Validasi KRS
            $adasalah = CekKRSMhsw($mhsw, $datatahun, $khs, $jad, $_pesan);
            $adaserial = 0;
            if ($adasalah == 0) {
                // Apakah ada jadwal serialnya?
                $adaserial = GetaField('jadwal', "JadwalSer", $jad['JadwalID'], "count(*)") + 0;
                //echo "<h1>$adaserial</h1>";
                if ($adaserial > 0) {
                    $adasalah += CekKRSSerial($mhsw, $datatahun, $khs, $jad, $_pesan);
                }
            }
            //echo "<h1>$adasalah</h1>";
            // Proses KRS
            if ($adasalah == 0) {
                SimpanKRSMhsw($mhsw, $datatahun, $khs, $jad, 'N', '', $adaserial);
            } else {
                $salah += $adasalah;
                $pesan .= $_pesan;
                $sudahada = GetaField('krstemp', "MhswID='{$mhsw['MhswID']}' and JadwalID", $jdwl[$i], 'JadwalID') + 0;
                if ($sudahada == 0) {
                    SimpanKRSMhsw($mhsw, $datatahun, $khs, $jad, 'Y', $_pesan, $adaserial);
                }
            }
        }
        if ($adasalah > 0) {
            BuatPesanKesalahan($mhsw, $datatahun, $khs, $salah, $pesan);
        }
        UpdateJumlahKRSMhsw($mhsw['MhswID'], $khs['KHSID']);
        ValidasiKuliahResponsi($khs);
    } else {
        echo ErrorMsg("Tidak Disimpan", "Tidak ada jadwal kuliah yang diambil.");
    }
}