Example #1
0
function ProsesBIPOT2($PMBID)
{
    $pmb = GetFields('pmb', "KodeID='" . KodeID . "' and PMBID", $PMBID, '*');
    // Ambil BIPOT-nya
    $s = "select * \r\n    from bipot2 \r\n    where BIPOTID = '{$pmb['BIPOTID']}'\r\n      and Otomatis = 'Y'\r\n      and NA = 'N'\r\n    order by TrxID, Prioritas";
    $r = _query($s);
    while ($w = _fetch_array($r)) {
        $oke = true;
        // Apakah sesuai dengan status awalnya?
        $pos = strpos($w['StatusAwalID'], "." . $pmb['StatusAwalID'] . ".");
        $oke = $oke && !($pos === false);
        // Apakah grade-nya?
        if ($oke) {
            if ($w['GunakanGradeNilai'] == 'Y') {
                $pos = strpos($w['GradeNilai'], "." . $pmb['GradeNilai'] . ".");
                $oke = $oke && !($pos === false);
            }
        }
        // Simpan data
        if ($oke) {
            // Cek, sudah ada atau belum? Kalau sudah, ambil ID-nya
            $ada = GetaField('bipotmhsw', "KodeID='" . KodeID . "' and PMBID = '{$pmb['PMBID']}'\r\n        and NA = 'N'\r\n        and TahunID='{$pmb['PMBPeriodID']}' and BIPOT2ID", $w['BIPOT2ID'], "BIPOTMhswID") + 0;
            // Cek apakah memakai script atau tidak?
            if ($w['GunakanScript'] == 'Y') {
                BipotGunakanScript($pmb, '', $w, $ada, 0);
            } else {
                // Jika tidak ada duplikasi, maka akan di-insert. Tapi jika sudah ada, maka dicuekin aja.
                if ($ada == 0) {
                    // Simpan
                    $Nama = GetaField('bipotnama', 'BIPOTNamaID', $w['BIPOTNamaID'], 'Nama');
                    $s1 = "insert into bipotmhsw\r\n            (KodeID, COAID, PMBMhswID, PMBID, TahunID,\r\n            BIPOT2ID, BIPOTNamaID, Nama, TrxID,\r\n            Jumlah, Besar, Dibayar,\r\n            Catatan, NA,\r\n            LoginBuat, TanggalBuat)\r\n            values\r\n            ('" . KodeID . "', '{$w['COAID']}', 0, '{$pmb['PMBID']}', '{$pmb['PMBPeriodID']}',\r\n            '{$w['BIPOT2ID']}', '{$w['BIPOTNamaID']}', '{$Nama}', '{$w['TrxID']}',\r\n            1, '{$w['Jumlah']}', 0,\r\n            'Auto', 'N',\r\n            '{$_SESSION['_Login']}', now())";
                    $r1 = _query($s1);
                }
                // end $ada=0
            }
            // end if $ada
        }
        // end if $oke
    }
    // end while
}
Example #2
0
function ProsesBIPOT($gels, $gel)
{
    $PMBID = sqling($_REQUEST['PMBID']);
    $pmb = GetFields('pmb', "KodeID='" . KodeID . "' and PMBID", $PMBID, '*');
    if (empty($pmb)) {
        die(ErrorMsg('Error', "Data Cama dengan nomer PMB: <b>{$PMBID}</b> tidak ditemukan.<br />\r\n      Hubungi Sysadmin untuk informasi lebih lanjut.\r\n      <hr size=1 color=silver />\r\n      <input type=button name='Kembali' value='Kembali'\r\n        onClick=\"location='{$_SESSION['mnux']}&gos='\" />"));
    }
    // Ambil BIPOT-nya
    $s = "select * \r\n    from bipot2 \r\n    where BIPOTID = '{$pmb['BIPOTID']}'\r\n      and Otomatis = 'Y'\r\n\t  and PerMataKuliah = 'N'\r\n\t  and PerSKS = 'N'\r\n\t  and PerLab = 'N'\r\n      and NA = 'N'\r\n    order by TrxID, Prioritas";
    $r = _query($s);
    while ($w = _fetch_array($r)) {
        $oke = true;
        // Apakah sesuai dengan status awalnya?
        $pos = strpos($w['StatusAwalID'], "." . $pmb['StatusAwalID'] . ".");
        $oke = $oke && !($pos === false);
        // Apakah sesuai dengan status mahasiswanya?
        $pos = strpos($w['StatusMhswID'], ".A.");
        $oke = $oke && !($pos === false);
        // Apakah grade-nya?
        if ($oke) {
            if ($w['GunakanGradeNilai'] == 'Y') {
                $pos = strpos($w['GradeNilai'], "." . $pmb['GradeNilai'] . ".");
                $oke = $oke && !($pos === false);
            }
        }
        if ($oke) {
            if ($w['GunakanGradeIPK'] == 'Y') {
                $oke = false;
            }
        }
        // Apakah dimulai pada sesi 1?
        if ($oke) {
            if ($w['MulaiSesi'] <= 1) {
                $oke = true;
            } else {
                $oke = false;
            }
        }
        // Simpan data
        if ($oke) {
            // Cek, sudah ada atau belum? Kalau sudah, ambil ID-nya
            $ada = GetaField('bipotmhsw', "KodeID='" . KodeID . "' and PMBID = '{$pmb['PMBID']}'\r\n        and TahunID='{$pmb['PMBPeriodID']}' and BIPOT2ID", $w['BIPOT2ID'], "BIPOTMhswID") + 0;
            // Cek apakah memakai script atau tidak?
            if ($w['GunakanScript'] == 'Y') {
                BipotGunakanScript($pmb, '', $w, $ada, 0);
            } else {
                // Jika tidak ada duplikasi, maka akan di-insert. Tapi jika sudah ada, maka dicuekin aja.
                if ($ada == 0) {
                    // Simpan
                    $Nama = GetaField('bipotnama', 'BIPOTNamaID', $w['BIPOTNamaID'], 'Nama');
                    // Cek Jumlah jika memiliki beasiswa
                    /*if(GetaField('bipotnama', 'BIPOTNamaID', $w['BIPOTNamaID'], 'DipotongBeasiswa') == 'Y')
                      { $Jumlah = (1 - ($pmb['Diskon']/100))*$w['Jumlah'];
                      }
                      else
                      { $Jumlah = $w['Jumlah'];
                      }*/
                    $s1 = "insert into bipotmhsw\r\n            (KodeID, COAID, PMBMhswID, PMBID, TahunID,\r\n            BIPOT2ID, BIPOTNamaID, Nama, TrxID,\r\n            Jumlah, Besar, Dibayar,\r\n            Catatan, NA,\r\n            LoginBuat, TanggalBuat)\r\n            values\r\n            ('" . KodeID . "', '{$w['COAID']}', 0, '{$pmb['PMBID']}', '{$pmb['PMBPeriodID']}',\r\n            '{$w['BIPOT2ID']}', '{$w['BIPOTNamaID']}', '{$Nama}', '{$w['TrxID']}',\r\n            1, '{$w['Jumlah']}', 0,\r\n            'Auto', 'N',\r\n            '{$_SESSION['_Login']}', now())";
                    $r1 = _query($s1);
                }
                // end $ada=0
            }
            // end if $ada
        }
        // end if $oke
    }
    // end while
    HitungUlangBIPOTPMB($PMBID);
    BerhasilSimpan("?mnux={$_SESSION['mnux']}&gos=MhswBaruEdt&PMBID={$pmb['PMBID']}", 100);
}
function ProsesBIPOT($MhswID, $TahunID)
{
    // Ambil data
    $mhsw = GetFields('mhsw', "KodeID='" . KodeID . "' and MhswID", $MhswID, "*");
    $khs = GetFields('khs', "KodeID = '" . KodeID . "' and TahunID = '{$TahunID}' and MhswID", $MhswID, "*");
    // Ambil BIPOT-nya
    $s = "select * \r\n    from bipot2 \r\n    where BIPOTID = '{$mhsw['BIPOTID']}'\r\n      and Otomatis = 'Y'\r\n      and NA = 'N'\r\n    order by TrxID, Prioritas";
    $r = _query($s);
    while ($w = _fetch_array($r)) {
        $oke = true;
        // Apakah sesuai dengan status awalnya?
        $pos = strpos($w['StatusAwalID'], "." . $mhsw['StatusAwalID'] . ".");
        $oke = $oke && !($pos === false);
        // Apakah sesuai dengan status mahasiswanya?
        $pos = strpos($w['StatusMhswID'], "." . $khs['StatusMhswID'] . ".");
        $oke = $oke && !($pos === false);
        // Apakah grade-nya?
        if ($oke) {
            if ($w['GunakanGradeNilai'] == 'Y') {
                $pos = strpos($w['GradeNilai'], "." . $mhsw['GradeNilai'] . ".");
                $oke = $oke && !($pos === false);
            }
        }
        // Apakah Jumlah SKS Tahun ini mencukupi?
        if ($oke) {
            if ($w['GunakanGradeIPK'] == 'Y') {
                if ($khs['SKS'] < GetaField('gradeipk', "IPKMin <= {$mhsw['IPK']} and {$mhsw['IPK']} <= IPKMax and KodeID", KodeID, 'SKSMin')) {
                    $oke = false;
                } else {
                    $oke = true;
                }
            }
        }
        // Apakah Grade IPK-nya OK?
        if ($oke) {
            if ($w['GunakanGradeIPK'] == 'Y') {
                $pos = strpos($w['GradeIPK'], "." . GetaField('gradeipk', "IPKMin <= {$mhsw['IPK']} and {$mhsw['IPK']} <= IPKMax and KodeID", KodeID, 'GradeIPK') . ".");
                $oke = $oke && !($pos === false);
            }
        }
        // Apakah dimulai pada sesi ini?
        if ($oke) {
            if ($w['MulaiSesi'] <= $khs['Sesi'] or $w['MulaiSesi'] == 0) {
                $oke = true;
            } else {
                $oke = false;
            }
        }
        // Simpan data
        if ($oke) {
            // Cek, sudah ada atau belum? Kalau sudah, ambil ID-nya
            $ada = GetaField('bipotmhsw', "KodeID='" . KodeID . "' and MhswID = '{$mhsw['MhswID']}'\r\n        and PMBMhswID = 1\r\n        and TahunID='{$khs['TahunID']}' and BIPOT2ID", $w['BIPOT2ID'], "BIPOTMhswID") + 0;
            // Cek apakah memakai script atau tidak?
            if ($w['GunakanScript'] == 'Y') {
                BipotGunakanScript($mhsw, $khs, $w, $ada, 1);
            } else {
                // Jika tidak ada duplikasi, maka akan di-insert. Tapi jika sudah ada, maka dicuekin aja.
                if ($ada == 0) {
                    // Simpan
                    $Nama = GetaField('bipotnama', 'BIPOTNamaID', $w['BIPOTNamaID'], 'Nama');
                    $s1 = "insert into bipotmhsw\r\n            (KodeID, COAID, PMBMhswID, MhswID, TahunID,\r\n            BIPOT2ID, BIPOTNamaID, Nama, TrxID,\r\n            Jumlah, Besar, Dibayar,\r\n            Catatan, NA,\r\n            LoginBuat, TanggalBuat)\r\n            values\r\n            ('" . KodeID . "', '{$w['COAID']}', 1, '{$mhsw['MhswID']}', '{$khs['TahunID']}',\r\n            '{$w['BIPOT2ID']}', '{$w['BIPOTNamaID']}', '{$Nama}', '{$w['TrxID']}',\r\n            1, '{$w['Jumlah']}', 0,\r\n            'Auto', 'N',\r\n            '{$_SESSION['_Login']}', now())";
                    $r1 = _query($s1);
                }
                // end $ada=0
            }
            // end if $ada
        }
        // end if $oke
    }
    // end while
    $jml = HitungUlangBIPOTMhsw($MhswID, $TahunID);
    return $jml;
}
Example #4
0
function ProsesBIPOT($MhswID, $TahunID)
{
    // Ambil data
    $mhsw = GetFields('mhsw', "KodeID='" . KodeID . "' and MhswID", $MhswID, "*");
    $khs = GetFields('khs', "KodeID = '" . KodeID . "' and TahunID = '{$TahunID}' and MhswID", $MhswID, "*");
    $khslalu = array();
    if ($khs[Sesi] > 1) {
        $sesilalu = $khs[Sesi] - 1;
        $khslalu = GetFields('khs', "KodeID = '" . KodeID . "' and Sesi = '{$sesilalu}' and MhswID", $mhsw[MhswID], "*");
        /* while(!empty($khslalu))
           {	if($khslalu['StatusMhswID'] != 'A')
           {	$sesilalu = $sesilalu-1;
           $khslalu = GetFields('khs', "KodeID = '".KodeID."' and Sesi = '$sesilalu' and MhswID", $MhswID, "*");
           }
           else
           {	break;
           }
           } */
    }
    // Ambil BIPOT-nya
    $s = "select * \r\n    from bipot2 \r\n    where BIPOTID = '{$mhsw['BIPOTID']}'\r\n      and Otomatis = 'Y'\r\n      and NA = 'N'\r\n    order by TrxID, Prioritas";
    $r = _query($s);
    while ($w = _fetch_array($r)) {
        $oke = true;
        // Apakah sesuai dengan status awalnya?
        $pos = strpos($w['StatusAwalID'], "." . $mhsw['StatusAwalID'] . ".");
        $oke = $oke && !($pos === false);
        // Apakah sesuai dengan status mahasiswanya?
        $pos = strpos($w['StatusMhswID'], "." . $khs['StatusMhswID'] . ".");
        $oke = $oke && !($pos === false);
        // Apakah grade-nya?
        if ($oke) {
            if ($w['GunakanGradeNilai'] == 'Y') {
                $pos = strpos($w['GradeNilai'], "." . $mhsw['GradeNilai'] . ".");
                $oke = $oke && !($pos === false);
            }
        }
        // Apakah Jumlah SKS Tahun ini mencukupi?
        if ($oke) {
            if ($w['GunakanGradeIPK'] == 'Y') {
                if ($khs['SKS'] < GetaField('gradeipk', "IPKMin <= {$mhsw['IPK']} and {$mhsw['IPK']} <= IPKMax and KodeID", KodeID, 'SKSMin')) {
                    $oke = false;
                } else {
                    $oke = true;
                }
            }
        }
        // Apakah Grade IPK-nya OK?
        if ($oke) {
            if ($w['GunakanGradeIPK'] == 'Y') {
                $pos = strpos($w['GradeIPK'], "." . GetaField('gradeipk', "IPKMin <= {$mhsw['IPK']} and {$mhsw['IPK']} <= IPKMax and KodeID", KodeID, 'GradeIPK') . ".");
                $oke = $oke && !($pos === false);
            }
        }
        // Apakah dimulai pada sesi ini?
        if ($oke) {
            if ($w['MulaiSesi'] <= $khs['Sesi'] or $w['MulaiSesi'] == 0) {
                $oke = true;
            } else {
                $oke = false;
            }
        }
        // Simpan data
        if ($oke) {
            // Cek, sudah ada atau belum? Kalau sudah, ambil ID-nya
            $ada = GetaField('bipotmhsw', "KodeID='" . KodeID . "' and MhswID = '{$mhsw['MhswID']}'\r\n        and PMBMhswID = 1 and NA = 'N'\r\n        and TahunID='{$khs['TahunID']}' and BIPOT2ID", $w['BIPOT2ID'], "BIPOTMhswID") + 0;
            // Cek apakah memakai script atau tidak?
            if ($w['GunakanScript'] == 'Y') {
                BipotGunakanScript($mhsw, $khs, $w, $ada, 1);
            } else {
                // Jika tidak ada duplikasi, maka akan di-insert. Tapi jika sudah ada, maka dicuekin aja.
                if ($ada == 0) {
                    // Simpan
                    $Nama = GetaField('bipotnama', 'BIPOTNamaID', $w['BIPOTNamaID'], 'Nama');
                    if ($w['PerMatakuliah'] == 'N') {
                        $s1 = "insert into bipotmhsw\r\n              (KodeID, COAID, PMBMhswID, MhswID, TahunID,\r\n              BIPOT2ID, BIPOTNamaID, Nama, TrxID,\r\n              Jumlah, Besar, Dibayar,\r\n              Catatan, NA,\r\n              LoginBuat, TanggalBuat)\r\n              values\r\n              ('" . KodeID . "', '{$w['COAID']}', 1, '{$mhsw['MhswID']}', '{$khs['TahunID']}',\r\n              '{$w['BIPOT2ID']}', '{$w['BIPOTNamaID']}', '{$Nama}', '{$w['TrxID']}',\r\n              1, '{$w['Jumlah']}', 0,\r\n              'Auto', 'N',\r\n              '{$_SESSION['_Login']}', now())";
                        $r1 = _query($s1);
                        //22 juli 2013
                        //jika insert tagihan
                        $idt = mysql_insert_id();
                        $bn = GetFields('bipotnama', 'BIPOTNamaID', $w[BIPOTNamaID], '*');
                        if ($bn[TrxID] == 1) {
                            $sx = "update bipotmhsw set TagihanID = '" . $idt . "' where BIPOTMhswID='" . $idt . "'";
                            $rx = _query($sx);
                        } else {
                            //jika insert potongan
                            $cek_tagihan = GetaField("bipotmhsw", "MhswID='{$mhsw['MhswID']}' and TahunID='{$khs['TahunID']}' and NA='N' and TrxID", 1, "TagihanID", "order by BIPOTMhswID desc");
                            $sx = "update bipotmhsw set TagihanID = '" . $cek_tagihan . "' where BIPOTMhswID='" . $idt . "'";
                            $rx = _query($sx);
                        }
                    } else {
                        // Ambil BIPOT Biaya Per Mata Kuliah
                        // mario
                        // 200813
                        $Jumlah2 = 0;
                        $COAID = '';
                        $sxx = "select k.MKKode, k.Nama, k.SKS, j.BiayaKhusus, j.Biaya, j.NamaBiaya, j.AdaResponsi\r\n                                  from krs k \r\n                                          left outer join jadwal j on k.JadwalID=j.JadwalID and j.KodeID='" . KodeID . "'\r\n                                          left outer join mk mk on mk.MKID=k.MKID and mk.KodeID='" . KodeID . "'\r\n                                  where k.MhswID='{$mhsw['MhswID']}' and k.TahunID='{$khs['TahunID']}' and mk.PraktekKerja='N' and k.KodeID='" . KodeID . "'";
                        $rxx = _query($sxx);
                        while ($wxx = _fetch_array($rxx)) {
                            $s1 = "select * from bipot2 where BIPOTID = '{$mhsw['BIPOTID']}' and Otomatis = 'Y' and (PerMataKuliah = 'Y' or PerLab = 'Y') and NA = 'N' order by TrxID, Prioritas";
                            $r1 = _query($s1);
                            while ($w1 = _fetch_array($r1)) {
                                $MsgList[] = '-----------------------------------------------------------------';
                                $MsgList[] = "Memproses {$w1['BIPOT2ID']}, Rp. {$w1['Jumlah']}";
                                $oke = true;
                                // Cek apakah mata kuliah ini dapat dikenakan biaya Lab
                                if ($w1['PerLab'] == 'Y') {
                                    if ($wxx['AdaResponsi'] == 'Y') {
                                        $oke = true;
                                    } else {
                                        $oke = false;
                                    }
                                } else {
                                    $oke = true;
                                }
                                // Apakah sesuai dengan status awalnya?
                                $pos = strpos($w1['StatusAwalID'], "." . $mhsw['StatusAwalID'] . ".");
                                $oke = $oke && !($pos === false);
                                $MsgList[] = "Sesuai dengan status awalnya ({$w1['StatusAwalID']} ~ {$mhsw['StatusAwalID']})? {$oke}";
                                // Apakah sesuai dengan status mahasiswanya?
                                $pos = strpos($w1['StatusMhswID'], "." . $khs['StatusMhswID'] . ".");
                                $oke = $oke && !($pos === false);
                                $MsgList[] = "Sesuai dengan status mahasiswanya ({$w1['StatusMhswID']} ~ {$khs['StatusMhswID']})? {$oke}";
                                // Apakah grade-nya?
                                if ($oke) {
                                    if ($w1['GunakanGradeNilai'] == 'Y') {
                                        $pos = strpos($w1['GradeNilai'], "." . $mhsw['GradeNilai'] . ".");
                                        $oke = $oke && !($pos === false);
                                        $MsgList[] = "Gunakan Grade Nilai? {$oke}";
                                    }
                                }
                                // Apakah Jumlah SKS Tahun lalu mencukupi?
                                if ($oke) {
                                    if ($w1['GunakanGradeIPK'] == 'Y') {
                                        $_SKS = GetaField('gradeipk', "IPKMin <= '{$khslalu['IPS']}' and '{$khslalu['IPS']}' <= IPKMax and KodeID", KodeID, 'SKSMin');
                                        if ($_SKS > $khslalu[SKS]) {
                                            $oke = false;
                                        } else {
                                            $oke = true;
                                        }
                                        $MsgList[] = "Jumlah SKS Tahun Mencukupi({$_SKS} ~ {$khslalu['SKS']})? {$oke}";
                                    }
                                }
                                // Apakah Grade IPK-nya OK?
                                if ($oke) {
                                    if ($w1['GunakanGradeIPK'] == 'Y') {
                                        if (!empty($khslalu)) {
                                            $_GradeIPK = GetaField('gradeipk', "IPKMin <= {$khslalu['IPS']} and {$khslalu['IPS']} <= IPKMax and KodeID", KodeID, 'GradeIPK');
                                            $pos = strpos($w1['GradeIPK'], "." . $_GradeIPK . ".");
                                            $oke = $oke && !($pos === false);
                                            $MsgList[] = "Grade IPK OK ({$_GradeIPK} ~ {$w1['GradeIPK']})? {$oke}";
                                        } else {
                                            $oke = false;
                                        }
                                    }
                                }
                                // Apakah dimulai pada sesi ini?
                                if ($oke) {
                                    if ($w1['MulaiSesi'] <= $khs['Sesi'] or $w1['MulaiSesi'] == 0) {
                                        $oke = true;
                                    } else {
                                        $oke = false;
                                    }
                                    $MsgList[] = "Mulai pada sesi ini ({$khs['Sesi']} ~ {$w1['MulaiSesi']})? {$oke}";
                                }
                                // Apakah ada setup berapa kali ambil?
                                if ($oke && $w1['KaliSesi'] > 0) {
                                    $_kali = GetaField('bipotmhsw', "MhswID='{$MhswID}' and NA='N' and PMBMhswID=1 and BIPOTNamaID='{$w1['BIPOTNamaID']}' and TambahanNama='{$wxx['MKKode']} - {$wxx['Nama']} - {$wxx['SKS']} SKS' and KodeID", KodeID, "count(BIPOTMhswID)") + 0;
                                    $oke = $_kali < $w1['KaliSesi'];
                                    $MsgList[] = "Berapa Kali Ambil - ({$_kali} ~ {$w1['KaliSesi']})? {$oke}";
                                }
                                if ($oke) {
                                    $MsgList[] = "ALL OK! GO FOR IT!";
                                }
                                // Simpan data
                                if ($oke) {
                                    $ada = GetaField('bipotmhsw', "KodeID='" . KodeID . "' and MhswID = '{$mhsw['MhswID']}' and NA = 'N' and PMBMhswID = 1 and TahunID='{$khs['TahunID']}' and BIPOTNamaID = '{$w1['BIPOTNamaID']}'\t\r\n                    and TambahanNama='{$wxx['MKKode']} - {$wxx['Nama']} - {$wxx['SKS']} SKS'\r\n                    and BIPOT2ID", $w1['BIPOT2ID'], "BIPOTMhswID") + 0;
                                    if ($ada == 0) {
                                        // Simpan
                                        //$COAID = $w1['COAID'];
                                        $Nama = GetaField('bipotnama', 'BIPOTNamaID', $w1['BIPOTNamaID'], 'Nama');
                                        if ($w1['PerSKS'] == 'Y') {
                                            $Jumlah = $wxx['SKS'];
                                        } else {
                                            $Jumlah = 1;
                                        }
                                        // mario
                                        // 200813
                                        $Besar = $w1['Jumlah'];
                                        $Jumlah2 += $Jumlah;
                                        $COAID = $w1[COAID];
                                        $BIPOT2ID = $w1[BIPOT2ID];
                                        $BIPOTNamaID = $w1[BIPOTNamaID];
                                        $TrxID = $w1[TrxID];
                                        /* $s2 = "insert into bipotmhsw (KodeID, COAID, PMBMhswID, MhswID, TahunID, BIPOT2ID, BIPOTNamaID, TambahanNama, Nama, TrxID, 
                                                                        Jumlah, Besar, Dibayar,Catatan, NA, LoginBuat, TanggalBuat)
                                                                        values ('" . KodeID . "', '$w1[COAID]', 1, '$mhsw[MhswID]', '$khs[TahunID]', '$w1[BIPOT2ID]', '$w1[BIPOTNamaID]', '" . $w['MKKode'] . " - " . $w['Nama'] . " - " . $w['SKS'] . " SKS', '$Nama', '$w1[TrxID]',
                                                                        '$Jumlah', '$Besar', 0, 'Auto', 'N', '$_SESSION[_Login]', now())";
                                                                        $r2 = _query($s2);
                                        
                                                                       */
                                    }
                                }
                                // if
                            }
                            // while
                        }
                        // while
                        // mario
                        // 200813
                        if ($Nama != '' && $Besar > 0) {
                            $s2 = "insert into bipotmhsw (KodeID, COAID, PMBMhswID, MhswID, TahunID, BIPOT2ID, BIPOTNamaID, TambahanNama, Nama, TrxID, \r\n                    Jumlah, Besar, Dibayar,Catatan, NA, LoginBuat, TanggalBuat)\r\n                  values ('" . KodeID . "', '{$COAID}', 1, '{$mhsw['MhswID']}', '{$khs['TahunID']}', '{$BIPOT2ID}', '{$BIPOTNamaID}', '', '{$Nama}', '{$TrxID}', \r\n                    '{$Jumlah2}', '{$Besar}', 0, 'Auto', 'N', '{$_SESSION['_Login']}', now())";
                            $r2 = _query($s2);
                            //22 juli 2013
                            //jika insert tagihan
                            $idt = mysql_insert_id();
                            $bn = GetFields('bipotnama', 'BIPOTNamaID', $BIPOTNamaID, '*');
                            if ($bn[TrxID] == 1) {
                                $sx = "update bipotmhsw set TagihanID = '" . $idt . "' where BIPOTMhswID='" . $idt . "'";
                                $rx = _query($sx);
                            } else {
                                //jika insert potongan
                                $cek_tagihan = GetaField("bipotmhsw", "MhswID='{$mhsw['MhswID']}' and TahunID='{$khs['TahunID']}' and NA='N' and TrxID", 1, "TagihanID", "order by BIPOTMhswID desc");
                                $sx = "update bipotmhsw set TagihanID = '" . $cek_tagihan . "' where BIPOTMhswID='" . $idt . "'";
                                $rx = _query($sx);
                            }
                        }
                    }
                    // if PerMatakuliah
                }
                // end $ada=0
            }
            // end if $ada
        }
        // end if $oke
    }
    // end while
    $jml = HitungUlangBIPOTMhsw($MhswID, $TahunID);
    return $jml;
}
Example #5
0
function ProsesBIPOT()
{
    $MhswID = sqling($_REQUEST['MhswID']);
    $TahunID = sqling($_REQUEST['TahunID']);
    // Ambil data
    $mhsw = GetFields('mhsw', "KodeID='" . KodeID . "' and MhswID", $MhswID, "*");
    $khs = GetFields('khs', "KodeID = '" . KodeID . "' and TahunID = '{$TahunID}' and MhswID", $MhswID, "*");
    $khslalu = array();
    if ($khs[Sesi] > 1) {
        $sesilalu = $khs[Sesi] - 1;
        $khslalu = GetFields('khs', "KodeID = '" . KodeID . "' and Sesi = '{$sesilalu}' and MhswID", $MhswID, "*");
        /*while(!empty($khslalu))
        	  {	if($khslalu['StatusMhswID'] != 'A')
        		{	$sesilalu = $sesilalu-1;
        			$khslalu = GetFields('khs', "KodeID = '".KodeID."' and Sesi = '$sesilalu' and MhswID", $MhswID, "*");
        		}
        		else
        		{	break;
        		}
        	  }*/
    }
    // Ambil BIPOT-nya
    $s = "select * \r\n    from bipot2 \r\n    where BIPOTID = '{$mhsw['BIPOTID']}'\r\n      and Otomatis = 'Y'\r\n      and PerMataKuliah = 'N'\r\n\t  and PerLab = 'N'\r\n\t  and Remedial = 'N'\r\n\t  and PraktekKerja = 'N'\r\n\t  and NA = 'N'\r\n    order by TrxID, Prioritas";
    $r = _query($s);
    $MsgList = array();
    while ($w = _fetch_array($r)) {
        $MsgList[] = '';
        $MsgList[] = "Memproses {$w['BIPOT2ID']}, Rp. {$w['Jumlah']}";
        $oke = true;
        // Apakah sesuai dengan status awalnya?
        $pos = strpos($w['StatusAwalID'], "." . $mhsw['StatusAwalID'] . ".");
        $oke = $oke && !($pos === false);
        $MsgList[] = "Sesuai dengan status awalnya ({$w['StatusAwalID']} ~ {$mhsw['StatusAwalID']})? {$oke}";
        // Apakah sesuai dengan status mahasiswanya?
        $pos = strpos($w['StatusMhswID'], "." . $khs['StatusMhswID'] . ".");
        $oke = $oke && !($pos === false);
        $MsgList[] = "Sesuai dengan status mahasiswanya ({$w['StatusMhswID']} ~ {$khs['StatusMhswID']})? {$oke}";
        // Apakah grade-nya?
        if ($oke) {
            if ($w['GunakanGradeNilai'] == 'Y') {
                $pos = strpos($w['GradeNilai'], "." . $mhsw['GradeNilai'] . ".");
                $oke = $oke && !($pos === false);
                $MsgList[] = "Gunakan Grade Nilai? {$oke}";
            }
        }
        // Apakah Jumlah SKS Tahun lalu mencukupi?
        if ($oke) {
            if ($w['GunakanGradeIPK'] == 'Y') {
                $_SKS = GetaField('gradeipk', "IPKMin <= '{$khslalu['IPS']}' and '{$khslalu['IPS']}' <= IPKMax and KodeID", KodeID, 'SKSMin');
                if ($_SKS > $khslalu[SKS]) {
                    $oke = false;
                } else {
                    $oke = true;
                }
                $MsgList[] = "Jumlah SKS Tahun Mencukupi({$_SKS} ~ {$khslalu['SKS']})? {$oke}";
            }
        }
        // Apakah Grade IPK-nya OK?
        if ($oke) {
            if ($w['GunakanGradeIPK'] == 'Y') {
                if (!empty($khslalu)) {
                    $_GradeIPK = GetaField('gradeipk', "IPKMin <= {$khslalu['IPS']} and {$khslalu['IPS']} <= IPKMax and KodeID", KodeID, 'GradeIPK');
                    $pos = strpos($w['GradeIPK'], "." . $_GradeIPK . ".");
                    $oke = $oke && !($pos === false);
                    $MsgList[] = "Grade IPK OK ({$_GradeIPK} ~ {$w['GradeIPK']})? {$oke}";
                } else {
                    $oke = false;
                }
            }
        }
        // Apakah dimulai pada sesi ini?
        if ($oke) {
            if ($w['MulaiSesi'] <= $khs['Sesi'] or $w['MulaiSesi'] == 0) {
                $oke = true;
            } else {
                $oke = false;
            }
            $MsgList[] = "Mulai pada sesi ini ({$khs['Sesi']} ~ {$w['MulaiSesi']})? {$oke}";
        }
        // Apakah ada setup berapa kali ambil?
        if ($oke && $w['KaliSesi'] > 0) {
            $_kali = GetaField('bipotmhsw', "MhswID='{$MhswID}' and NA='N' and PMBMhswID=1 and KodeID", KodeID, "count(BIPOTMhswID)") + 0;
            $oke = $_kali < $w['KaliSesi'];
            $MsgList[] = "Berapa Kali Ambil - ({$_kali} ~ {$w['KaliSesi']})? {$oke}";
        }
        if ($oke) {
            $MsgList[] = "ALL OK! GO FOR IT!";
        }
        // Simpan data
        if ($oke) {
            // Cek, sudah ada atau belum? Kalau sudah, ambil ID-nya
            $ada = GetaField('bipotmhsw', "KodeID='" . KodeID . "' and MhswID = '{$mhsw['MhswID']}'\r\n        and NA = 'N'\r\n        and PMBMhswID = 1\r\n        and TahunID='{$khs['TahunID']}' and BIPOT2ID", $w['BIPOT2ID'], "BIPOTMhswID") + 0;
            // Cek apakah memakai script atau tidak?
            if ($w['GunakanScript'] == 'Y') {
                BipotGunakanScript($mhsw, $khs, $w, $ada, 1);
            } else {
                // Jika tidak ada duplikasi, maka akan di-insert. Tapi jika sudah ada, maka dicuekin aja.
                if ($ada == 0) {
                    // Simpan
                    $Nama = GetaField('bipotnama', 'BIPOTNamaID', $w['BIPOTNamaID'], 'Nama');
                    $s1 = "insert into bipotmhsw\r\n            (KodeID, COAID, PMBMhswID, MhswID, TahunID,\r\n            BIPOT2ID, BIPOTNamaID, TambahanNama, Nama, TrxID,\r\n            Jumlah, Besar, Dibayar,\r\n            Catatan, NA,\r\n            LoginBuat, TanggalBuat)\r\n            values\r\n            ('" . KodeID . "', '{$w['COAID']}', 1, '{$mhsw['MhswID']}', '{$khs['TahunID']}',\r\n            '{$w['BIPOT2ID']}', '{$w['BIPOTNamaID']}', '{$w['TambahanNama']}', '{$Nama}', '{$w['TrxID']}',\r\n            1, '{$w['Jumlah']}', 0,\r\n            'Auto', 'N',\r\n            '{$_SESSION['_Login']}', now())";
                    $r1 = _query($s1);
                }
                // end $ada=0
            }
            // end if $ada
        }
        // end if $oke
    }
    // end while
    // Ambil BIPOT Biaya Per Mata Kuliah
    $s = "select k.MKKode, k.Nama, k.SKS, j.BiayaKhusus, j.Biaya, j.NamaBiaya, j.AdaResponsi\r\n\t\t\tfrom krs k \r\n\t\t\t\tleft outer join jadwal j on k.JadwalID=j.JadwalID and j.KodeID='" . KodeID . "'\r\n\t\t\t\tleft outer join mk mk on mk.MKID=k.MKID and mk.KodeID='" . KodeID . "'\r\n\t\t\twhere k.MhswID='{$MhswID}' and k.TahunID='{$_SESSION['TahunID']}' and mk.PraktekKerja='N' and k.KodeID='" . KodeID . "'";
    $r = _query($s);
    while ($w = _fetch_array($r)) {
        $s1 = "select * \r\n\t   from bipot2 \r\n\t\twhere BIPOTID = '{$mhsw['BIPOTID']}'\r\n\t\t  and Otomatis = 'Y'\r\n\t\t  and (PerMataKuliah = 'Y' or PerLab = 'Y')\r\n\t\t  and NA = 'N'\r\n\t\torder by TrxID, Prioritas";
        $r1 = _query($s1);
        while ($w1 = _fetch_array($r1)) {
            $MsgList[] = '-----------------------------------------------------------------';
            $MsgList[] = "Memproses {$w1['BIPOT2ID']}, Rp. {$w1['Jumlah']}";
            $oke = true;
            // Cek apakah mata kuliah ini dapat dikenakan biaya Lab
            if ($w1['PerLab'] == 'Y') {
                if ($w['AdaResponsi'] == 'Y') {
                    $oke = true;
                } else {
                    $oke = false;
                }
            } else {
                $oke = true;
            }
            // Apakah sesuai dengan status awalnya?
            $pos = strpos($w1['StatusAwalID'], "." . $mhsw['StatusAwalID'] . ".");
            $oke = $oke && !($pos === false);
            $MsgList[] = "Sesuai dengan status awalnya ({$w1['StatusAwalID']} ~ {$mhsw['StatusAwalID']})? {$oke}";
            // Apakah sesuai dengan status mahasiswanya?
            $pos = strpos($w1['StatusMhswID'], "." . $khs['StatusMhswID'] . ".");
            $oke = $oke && !($pos === false);
            $MsgList[] = "Sesuai dengan status mahasiswanya ({$w1['StatusMhswID']} ~ {$khs['StatusMhswID']})? {$oke}";
            // Apakah grade-nya?
            if ($oke) {
                if ($w1['GunakanGradeNilai'] == 'Y') {
                    $pos = strpos($w1['GradeNilai'], "." . $mhsw['GradeNilai'] . ".");
                    $oke = $oke && !($pos === false);
                    $MsgList[] = "Gunakan Grade Nilai? {$oke}";
                }
            }
            // Apakah Jumlah SKS Tahun lalu mencukupi?
            if ($oke) {
                if ($w1['GunakanGradeIPK'] == 'Y') {
                    $_SKS = GetaField('gradeipk', "IPKMin <= '{$khslalu['IPS']}' and '{$khslalu['IPS']}' <= IPKMax and KodeID", KodeID, 'SKSMin');
                    if ($_SKS > $khslalu[SKS]) {
                        $oke = false;
                    } else {
                        $oke = true;
                    }
                    $MsgList[] = "Jumlah SKS Tahun Mencukupi({$_SKS} ~ {$khslalu['SKS']})? {$oke}";
                }
            }
            // Apakah Grade IPK-nya OK?
            if ($oke) {
                if ($w1['GunakanGradeIPK'] == 'Y') {
                    if (!empty($khslalu)) {
                        $_GradeIPK = GetaField('gradeipk', "IPKMin <= {$khslalu['IPS']} and {$khslalu['IPS']} <= IPKMax and KodeID", KodeID, 'GradeIPK');
                        $pos = strpos($w1['GradeIPK'], "." . $_GradeIPK . ".");
                        $oke = $oke && !($pos === false);
                        $MsgList[] = "Grade IPK OK ({$_GradeIPK} ~ {$w1['GradeIPK']})? {$oke}";
                    } else {
                        $oke = false;
                    }
                }
            }
            // Apakah dimulai pada sesi ini?
            if ($oke) {
                if ($w1['MulaiSesi'] <= $khs['Sesi'] or $w1['MulaiSesi'] == 0) {
                    $oke = true;
                } else {
                    $oke = false;
                }
                $MsgList[] = "Mulai pada sesi ini ({$khs['Sesi']} ~ {$w1['MulaiSesi']})? {$oke}";
            }
            // Apakah ada setup berapa kali ambil?
            if ($oke && $w1['KaliSesi'] > 0) {
                $_kali = GetaField('bipotmhsw', "MhswID='{$MhswID}' and NA='N' and PMBMhswID=1 and BIPOTNamaID='{$w1['BIPOTNamaID']}' and TambahanNama='{$w['MKKode']} - {$w['Nama']} - {$w['SKS']} SKS' and KodeID", KodeID, "count(BIPOTMhswID)") + 0;
                $oke = $_kali < $w1['KaliSesi'];
                $MsgList[] = "Berapa Kali Ambil - ({$_kali} ~ {$w1['KaliSesi']})? {$oke}";
            }
            if ($oke) {
                $MsgList[] = "ALL OK! GO FOR IT!";
            }
            // Simpan data
            if ($oke) {
                $ada = GetaField('bipotmhsw', "KodeID='" . KodeID . "' and MhswID = '{$mhsw['MhswID']}'\r\n\t\t\t\tand NA = 'N'\r\n\t\t\t\tand PMBMhswID = 1\r\n\t\t\t\tand TahunID='{$khs['TahunID']}'\r\n\t\t\t\tand BIPOTNamaID = '{$w1['BIPOTNamaID']}'\r\n\t\t\t\tand TambahanNama='{$w['MKKode']} - {$w['Nama']} - {$w['SKS']} SKS'\r\n\t\t\t\tand BIPOT2ID", $w1['BIPOT2ID'], "BIPOTMhswID") + 0;
                if ($ada == 0) {
                    // Simpan
                    $Nama = GetaField('bipotnama', 'BIPOTNamaID', $w1['BIPOTNamaID'], 'Nama');
                    if ($w1['PerSKS'] == 'Y') {
                        $Jumlah = $w['SKS'];
                    } else {
                        $Jumlah = 1;
                    }
                    $Besar = $w1['Jumlah'];
                    $s2 = "insert into bipotmhsw\r\n\t\t\t\t(KodeID, COAID, PMBMhswID, MhswID, TahunID,\r\n\t\t\t\tBIPOT2ID, BIPOTNamaID, TambahanNama, Nama, TrxID, \r\n\t\t\t\tJumlah, Besar, Dibayar,\r\n\t\t\t\tCatatan, NA,\r\n\t\t\t\tLoginBuat, TanggalBuat)\r\n\t\t\t\tvalues\r\n\t\t\t\t('" . KodeID . "', '{$w1['COAID']}', 1, '{$mhsw['MhswID']}', '{$khs['TahunID']}',\r\n\t\t\t\t'{$w1['BIPOT2ID']}', '{$w1['BIPOTNamaID']}', '" . $w['MKKode'] . " - " . $w['Nama'] . " - " . $w['SKS'] . " SKS', '{$Nama}', '{$w1['TrxID']}', \r\n\t\t\t\t'{$Jumlah}', '{$Besar}', 0,\r\n\t\t\t\t'Auto', 'N',\r\n\t\t\t\t'{$_SESSION['_Login']}', now())";
                    $r2 = _query($s2);
                }
            }
        }
    }
    // Ambil BIPOT Biaya Praktek Kerja
    $s = "select k.MKKode, k.Nama, k.SKS, j.BiayaKhusus, j.Biaya, j.NamaBiaya, j.AdaResponsi\r\n\t\t\tfrom krs k \r\n\t\t\t\tleft outer join jadwal j on k.JadwalID=j.JadwalID and j.KodeID='" . KodeID . "'\r\n\t\t\t\tleft outer join mk mk on mk.MKID=k.MKID and mk.KodeID='" . KodeID . "'\r\n\t\t\twhere k.MhswID='{$MhswID}' and k.TahunID='{$_SESSION['TahunID']}' and mk.PraktekKerja='Y' and k.KodeID='" . KodeID . "'";
    $r = _query($s);
    while ($w = _fetch_array($r)) {
        $s1 = "select * \r\n\t   from bipot2 \r\n\t\twhere BIPOTID = '{$mhsw['BIPOTID']}'\r\n\t\t  and Otomatis = 'Y'\r\n\t\t  and (PraktekKerja = 'Y')\r\n\t\t  and NA = 'N'\r\n\t\torder by TrxID, Prioritas";
        $r1 = _query($s1);
        while ($w1 = _fetch_array($r1)) {
            $MsgList[] = '-----------------------------------------------------------------';
            $MsgList[] = "Memproses {$w1['BIPOT2ID']}, Rp. {$w1['Jumlah']}";
            $oke = true;
            // Apakah sesuai dengan status awalnya?
            $pos = strpos($w1['StatusAwalID'], "." . $mhsw['StatusAwalID'] . ".");
            $oke = $oke && !($pos === false);
            $MsgList[] = "Sesuai dengan status awalnya ({$w1['StatusAwalID']} ~ {$mhsw['StatusAwalID']})? {$oke}";
            // Apakah sesuai dengan status mahasiswanya?
            $pos = strpos($w1['StatusMhswID'], "." . $khs['StatusMhswID'] . ".");
            $oke = $oke && !($pos === false);
            $MsgList[] = "Sesuai dengan status mahasiswanya ({$w1['StatusMhswID']} ~ {$khs['StatusMhswID']})? {$oke}";
            // Apakah grade-nya?
            if ($oke) {
                if ($w1['GunakanGradeNilai'] == 'Y') {
                    $pos = strpos($w1['GradeNilai'], "." . $mhsw['GradeNilai'] . ".");
                    $oke = $oke && !($pos === false);
                    $MsgList[] = "Gunakan Grade Nilai? {$oke}";
                }
            }
            // Apakah Jumlah SKS Tahun lalu mencukupi?
            if ($oke) {
                if ($w1['GunakanGradeIPK'] == 'Y') {
                    $_SKS = GetaField('gradeipk', "IPKMin <= '{$khslalu['IPS']}' and '{$khslalu['IPS']}' <= IPKMax and KodeID", KodeID, 'SKSMin');
                    if ($_SKS > $khslalu[SKS]) {
                        $oke = false;
                    } else {
                        $oke = true;
                    }
                    $MsgList[] = "Jumlah SKS Tahun Mencukupi({$_SKS} ~ {$khslalu['SKS']})? {$oke}";
                }
            }
            // Apakah Grade IPK-nya OK?
            if ($oke) {
                if ($w1['GunakanGradeIPK'] == 'Y') {
                    if (!empty($khslalu)) {
                        $_GradeIPK = GetaField('gradeipk', "IPKMin <= {$khslalu['IPS']} and {$khslalu['IPS']} <= IPKMax and KodeID", KodeID, 'GradeIPK');
                        $pos = strpos($w1['GradeIPK'], "." . $_GradeIPK . ".");
                        $oke = $oke && !($pos === false);
                        $MsgList[] = "Grade IPK OK ({$_GradeIPK} ~ {$w1['GradeIPK']})? {$oke}";
                    } else {
                        $oke = false;
                    }
                }
            }
            // Apakah dimulai pada sesi ini?
            if ($oke) {
                if ($w1['MulaiSesi'] <= $khs['Sesi'] or $w1['MulaiSesi'] == 0) {
                    $oke = true;
                } else {
                    $oke = false;
                }
                $MsgList[] = "Mulai pada sesi ini ({$khs['Sesi']} ~ {$w1['MulaiSesi']})? {$oke}";
            }
            // Apakah ada setup berapa kali ambil?
            if ($oke && $w1['KaliSesi'] > 0) {
                $_kali = GetaField('bipotmhsw', "MhswID='{$MhswID}' and NA='N' and PMBMhswID=1 and BIPOTNamaID='{$w1['BIPOTNamaID']}' and TambahanNama='{$w['MKKode']} - {$w['Nama']} - {$w['SKS']} SKS' and KodeID", KodeID, "count(BIPOTMhswID)") + 0;
                $oke = $_kali < $w1['KaliSesi'];
                $MsgList[] = "Berapa Kali Ambil - ({$_kali} ~ {$w1['KaliSesi']})? {$oke}";
            }
            if ($oke) {
                $MsgList[] = "ALL OK! GO FOR IT!";
            }
            // Simpan data
            if ($oke) {
                $ada = GetaField('bipotmhsw', "KodeID='" . KodeID . "' and MhswID = '{$mhsw['MhswID']}'\r\n\t\t\t\tand NA = 'N'\r\n\t\t\t\tand PMBMhswID = 1\r\n\t\t\t\tand TahunID='{$khs['TahunID']}'\r\n\t\t\t\tand BIPOTNamaID = '{$w1['BIPOTNamaID']}'\r\n\t\t\t\tand TambahanNama='{$w['MKKode']} - {$w['Nama']} - {$w['SKS']} SKS'\r\n\t\t\t\tand BIPOT2ID", $w1['BIPOT2ID'], "BIPOTMhswID") + 0;
                if ($ada == 0) {
                    // Simpan
                    $Nama = GetaField('bipotnama', 'BIPOTNamaID', $w1['BIPOTNamaID'], 'Nama');
                    if ($w1['PerSKS'] == 'Y') {
                        $Jumlah = $w['SKS'];
                    } else {
                        $Jumlah = 1;
                    }
                    $Besar = $w1['Jumlah'];
                    $s2 = "insert into bipotmhsw\r\n\t\t\t\t(KodeID, COAID, PMBMhswID, MhswID, TahunID,\r\n\t\t\t\tBIPOT2ID, BIPOTNamaID, TambahanNama, Nama, TrxID, \r\n\t\t\t\tJumlah, Besar, Dibayar,\r\n\t\t\t\tCatatan, NA,\r\n\t\t\t\tLoginBuat, TanggalBuat)\r\n\t\t\t\tvalues\r\n\t\t\t\t('" . KodeID . "', '{$w1['COAID']}', 1, '{$mhsw['MhswID']}', '{$khs['TahunID']}',\r\n\t\t\t\t'{$w1['BIPOT2ID']}', '{$w1['BIPOTNamaID']}', '" . $w[MKKode] . " - " . $w['Nama'] . " - " . $w['SKS'] . " SKS', '{$Nama}', '{$w1['TrxID']}', \r\n\t\t\t\t'{$Jumlah}', '{$Besar}', 0,\r\n\t\t\t\t'Auto', 'N',\r\n\t\t\t\t'{$_SESSION['_Login']}', now())";
                    $r2 = _query($s2);
                }
            }
        }
    }
    // Masukkan Biaya Khusus dari tiap mata kuliah (termasuk biaya khusus mata kuliah praktek kerja - bila ada)
    $s = "select k.MKKode, k.Nama, k.SKS, j.BiayaKhusus, j.Biaya, j.NamaBiaya from krs k left outer join jadwal j on k.JadwalID=j.JadwalID and j.KodeID='" . KodeID . "'\r\n\t\t\twhere k.MhswID='{$MhswID}' and k.TahunID='{$_SESSION['TahunID']}' and j.BiayaKhusus='Y' and k.KodeID='" . KodeID . "'";
    $r = _query($s);
    while ($w = _fetch_array($r)) {
        $ada = GetaField('bipotmhsw', "KodeID='" . KodeID . "' and MhswID = '{$mhsw['MhswID']}'\r\n\tand NA = 'N'\r\n\tand PMBMhswID = 1\r\n\tand TahunID='{$khs['TahunID']}' \r\n\tand Nama='{$w['NamaBiaya']}'\r\n\tand TambahanNama='{$w['MKKode']} - {$w['Nama']} - {$w['SKS']} SKS'\r\n\tand BIPOT2ID", 0, "BIPOTMhswID") + 0;
        if ($ada == 0) {
            // Simpan
            $s2 = "insert into bipotmhsw\r\n\t\t(KodeID, COAID, PMBMhswID, MhswID, TahunID,\r\n\t\tBIPOT2ID, BIPOTNamaID, Nama, TambahanNama, TrxID, \r\n\t\tJumlah, Besar, Dibayar,\r\n\t\tCatatan, NA,\r\n\t\tLoginBuat, TanggalBuat)\r\n\t\tvalues\r\n\t\t('" . KodeID . "', '', 1, '{$mhsw['MhswID']}', '{$khs['TahunID']}',\r\n\t\t0, 0, '{$w['NamaBiaya']}', '{$w['MKKode']} - {$w['Nama']} - {$w['SKS']} SKS', 1, \r\n\t\t1, '{$w['Biaya']}', 0,\r\n\t\t'Biaya Khusus', 'N',\r\n\t\t'{$_SESSION['_Login']}', now())";
            $r2 = _query($s2);
        }
    }
    // Ambil BIPOT Remedial
    $s = "select k.MKKode, k.Nama, k.SKS\r\n\t\t\tfrom krsremedial k \r\n\t\t\twhere k.MhswID='{$MhswID}' and k.TahunID='{$_SESSION['TahunID']}' and k.KodeID='" . KodeID . "'";
    $r = _query($s);
    while ($w = _fetch_array($r)) {
        $MsgList[] = '-----------------------------------------------------------------';
        $MsgList[] = '---------------------------REMEDIAL---------------------------';
        $s1 = "select * \r\n\t   from bipot2 \r\n\t\twhere BIPOTID = '{$mhsw['BIPOTID']}'\r\n\t\t  and Otomatis = 'Y'\r\n\t\t  and Remedial = 'Y'\r\n\t\t  and NA = 'N'\r\n\t\torder by TrxID, Prioritas";
        $r1 = _query($s1);
        while ($w1 = _fetch_array($r1)) {
            $MsgList[] = '-----------------------------------------------------------------';
            $MsgList[] = "Memproses {$w1['BIPOT2ID']} - {$w['MKKode']} - {$w['Nama']}, Rp. {$w1['Jumlah']}";
            $oke = true;
            // Apakah sesuai dengan status awalnya?
            $pos = strpos($w1['StatusAwalID'], "." . $mhsw['StatusAwalID'] . ".");
            $oke = $oke && !($pos === false);
            $MsgList[] = "Sesuai dengan status awalnya ({$w1['StatusAwalID']} ~ {$mhsw['StatusAwalID']})? {$oke}";
            // Apakah sesuai dengan status mahasiswanya?
            $pos = strpos($w1['StatusMhswID'], "." . $khs['StatusMhswID'] . ".");
            $oke = $oke && !($pos === false);
            $MsgList[] = "Sesuai dengan status mahasiswanya ({$w1['StatusMhswID']} ~ {$khs['StatusMhswID']})? {$oke}";
            // Apakah grade-nya?
            if ($oke) {
                if ($w1['GunakanGradeNilai'] == 'Y') {
                    $pos = strpos($w1['GradeNilai'], "." . $mhsw['GradeNilai'] . ".");
                    $oke = $oke && !($pos === false);
                    $MsgList[] = "Gunakan Grade Nilai? {$oke}";
                }
            }
            // Apakah Jumlah SKS Tahun lalu mencukupi?
            if ($oke) {
                if ($w1['GunakanGradeIPK'] == 'Y') {
                    $_SKS = GetaField('gradeipk', "IPKMin <= '{$khslalu['IPS']}' and '{$khslalu['IPS']}' <= IPKMax and KodeID", KodeID, 'SKSMin');
                    if ($_SKS > $khslalu[SKS]) {
                        $oke = false;
                    } else {
                        $oke = true;
                    }
                    $MsgList[] = "Jumlah SKS Tahun Mencukupi({$_SKS} ~ {$khslalu['SKS']})? {$oke}";
                }
            }
            // Apakah Grade IPK-nya OK?
            if ($oke) {
                if ($w1['GunakanGradeIPK'] == 'Y') {
                    if (!empty($khslalu)) {
                        $_GradeIPK = GetaField('gradeipk', "IPKMin <= {$khslalu['IPS']} and {$khslalu['IPS']} <= IPKMax and KodeID", KodeID, 'GradeIPK');
                        $pos = strpos($w1['GradeIPK'], "." . $_GradeIPK . ".");
                        $oke = $oke && !($pos === false);
                        $MsgList[] = "Grade IPK OK ({$_GradeIPK} ~ {$w1['GradeIPK']})? {$oke}";
                    } else {
                        $oke = false;
                    }
                }
            }
            // Apakah dimulai pada sesi ini?
            if ($oke) {
                if ($w1['MulaiSesi'] <= $khs['Sesi'] or $w1['MulaiSesi'] == 0) {
                    $oke = true;
                } else {
                    $oke = false;
                }
                $MsgList[] = "Mulai pada sesi ini ({$khs['Sesi']} ~ {$w1['MulaiSesi']})? {$oke}";
            }
            // Apakah ada setup berapa kali ambil?
            if ($oke && $w1['KaliSesi'] > 0) {
                $_kali = GetaField('bipotmhsw', "MhswID='{$MhswID}' and NA='N' and PMBMhswID=1 and BIPOTNamaID='{$w1['BIPOTNamaID']}' and TambahanNama='{$w['MKKode']} - {$w['Nama']} - {$w['SKS']} SKS' and KodeID", KodeID, "count(BIPOTMhswID)") + 0;
                $oke = $_kali < $w1['KaliSesi'];
                $MsgList[] = "Berapa Kali Ambil - ({$_kali} ~ {$w1['KaliSesi']})? {$oke}";
            }
            if ($oke) {
                $MsgList[] = "ALL OK! GO FOR IT!";
            }
            // Simpan data
            if ($oke) {
                $ada = GetaField('bipotmhsw', "KodeID='" . KodeID . "' and MhswID = '{$mhsw['MhswID']}'\r\n\t\t\t\tand NA = 'N'\r\n\t\t\t\tand PMBMhswID = 1\r\n\t\t\t\tand TahunID='{$khs['TahunID']}'\r\n\t\t\t\tand BIPOTNamaID = '{$w1['BIPOTNamaID']}'\r\n\t\t\t\tand TambahanNama='Remedial: {$w['MKKode']} - {$w['Nama']} - {$w['SKS']} SKS'\r\n\t\t\t\tand BIPOT2ID", $w1['BIPOT2ID'], "BIPOTMhswID") + 0;
                if ($ada == 0) {
                    // Simpan
                    $Nama = GetaField('bipotnama', 'BIPOTNamaID', $w1['BIPOTNamaID'], 'Nama');
                    if ($w1['PerSKS'] == 'Y') {
                        $Jumlah = $w['SKS'];
                    } else {
                        $Jumlah = 1;
                    }
                    $Besar = $w1['Jumlah'];
                    $s2 = "insert into bipotmhsw\r\n\t\t\t\t(KodeID, COAID, PMBMhswID, MhswID, TahunID,\r\n\t\t\t\tBIPOT2ID, BIPOTNamaID, TambahanNama, Nama, TrxID, \r\n\t\t\t\tJumlah, Besar, Dibayar,\r\n\t\t\t\tCatatan, NA,\r\n\t\t\t\tLoginBuat, TanggalBuat)\r\n\t\t\t\tvalues\r\n\t\t\t\t('" . KodeID . "', '{$w1['COAID']}', 1, '{$mhsw['MhswID']}', '{$khs['TahunID']}',\r\n\t\t\t\t'{$w1['BIPOT2ID']}', '{$w1['BIPOTNamaID']}', 'Remedial: " . $w['MKKode'] . " - " . $w['Nama'] . " - " . $w['SKS'] . " SKS', '{$Nama}', '{$w1['TrxID']}', \r\n\t\t\t\t'{$Jumlah}', '{$Besar}', 0,\r\n\t\t\t\t'Auto', 'N',\r\n\t\t\t\t'{$_SESSION['_Login']}', now())";
                    $r2 = _query($s2);
                }
            }
        }
    }
    // Masukkan Biaya Khusus dari tiap mata kuliah remedial
    $s = "select k.MKKode, k.Nama, k.SKS, j.BiayaKhusus, j.Biaya, j.NamaBiaya \r\n\t\t\tfrom krsremedial k left outer join jadwalremedial j on k.JadwalRemedialID=j.JadwalRemedialID and j.KodeID='" . KodeID . "'\r\n\t\t\twhere k.MhswID='{$MhswID}' and k.TahunID='{$_SESSION['TahunID']}' and j.BiayaKhusus='Y' and k.KodeID='" . KodeID . "'";
    $r = _query($s);
    while ($w = _fetch_array($r)) {
        $ada = GetaField('bipotmhsw', "KodeID='" . KodeID . "' and MhswID = '{$mhsw['MhswID']}'\r\n\tand NA = 'N'\r\n\tand PMBMhswID = 1\r\n\tand TahunID='{$khs['TahunID']}' \r\n\tand Nama='{$w['NamaBiaya']}'\r\n\tand TambahanNama='Remedial: {$w['MKKode']} - {$w['Nama']} - {$w['SKS']} SKS'\r\n\tand BIPOT2ID", 0, "BIPOTMhswID") + 0;
        if ($ada == 0) {
            // Simpan
            $s2 = "insert into bipotmhsw\r\n\t\t(KodeID, COAID, PMBMhswID, MhswID, TahunID,\r\n\t\tBIPOT2ID, BIPOTNamaID, Nama, TambahanNama, TrxID, \r\n\t\tJumlah, Besar, Dibayar,\r\n\t\tCatatan, NA,\r\n\t\tLoginBuat, TanggalBuat)\r\n\t\tvalues\r\n\t\t('" . KodeID . "', '', 1, '{$mhsw['MhswID']}', '{$khs['TahunID']}',\r\n\t\t0, 0, '{$w['NamaBiaya']}', 'Remedial: {$w['MKKode']} - {$w['Nama']} - {$w['SKS']} SKS', 1, \r\n\t\t1, '{$w['Biaya']}', 0,\r\n\t\t'Biaya Khusus', 'N',\r\n\t\t'{$_SESSION['_Login']}', now())";
            $r2 = _query($s2);
        }
    }
    // Uncomment lines below to print debugging messages
    /*echo "COUNT: ".count($MsgList);
      if(!empty($MsgList))
    	{	foreach($MsgList as $Msg)
    		{	echo "$Msg<br>";
    		}
    	}*/
    HitungUlangBIPOTMhsw($MhswID, $TahunID);
    BerhasilSimpan("?mnux={$_SESSION['mnux']}&gos=&MhswID={$MhswID}&TahunID={$TahunID}", 10);
}