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>"; } } }
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."); } }