Example #1
0
function BayarSav1()
{
    $pmbid = $_REQUEST['pmbid'];
    $CicilanID = $_REQUEST['CicilanID'];
    $BuktiSetoran = sqling($_REQUEST['BuktiSetoran']);
    $BayarMhswID = $_REQUEST['BayarMhswID'];
    $Jumlah = $_REQUEST['Jumlah'] + 0;
    $Tanggal = "{$_REQUEST['Tanggal_y']}-{$_REQUEST['Tanggal_m']}-{$_REQUEST['Tanggal_d']}";
    $Keterangan = sqling($_REQUEST['Keterangan']);
    $RekeningID = $_REQUEST['RekeningID'];
    $md = $_REQUEST['md'] + 0;
    if ($md == 0) {
    } else {
        // false 1: tambahkan transaksi
        $BayarMhswID = GetNextBPM();
        $s = "insert into bayarmhsw\r\n      (BayarMhswID, TahunID, RekeningID, PMBID, PMBMhswID, BuktiSetoran,\r\n      TrxID, Tanggal, Jumlah, CicilanID, Keterangan,\r\n      LoginBuat, TanggalBuat)\r\n      values('{$BayarMhswID}', '0', '{$RekeningID}', '{$pmbid}', 0, '{$BuktiSetoran}',\r\n      1, '{$Tanggal}', {$Jumlah}, {$CicilanID}, '{$Keterangan}',\r\n      '{$_SESSION['_Login']}', now())";
        $r = _query($s);
        // Jika cicilan, maka data cicilan di set
        if ($CicilanID > 0) {
            $sc = "update cicilanmhsw set SudahDibayar='Y'\r\n        where CicilanID='{$CicilanID}' ";
            $rc = _query($sc);
        }
        // Distribusikan pembayaran
        $sbia = "select bm.*\r\n      from bipotmhsw bm\r\n        left outer join bipot2 b2 on bm.BIPOT2ID=b2.BIPOT2ID\r\n        left outer join bipotnama bn on b2.BiPOTNamaID=bn.BIPOTNamaID\r\n      where bm.TahunID='0'\r\n        and bm.PMBID='{$pmbid}'\r\n        and b2.TrxID=1\r\n        and bn.RekeningID='{$RekeningID}'\r\n        and (bm.Jumlah*bm.Besar > bm.Dibayar)\r\n      order by b2.Prioritas";
        $rbia = _query($sbia);
        $sisa = $Jumlah;
        while ($wbia = _fetch_array($rbia)) {
            //echo $sisa . '<br />';
            if ($sisa > 0) {
                $harus = $wbia['Jumlah'] * $wbia['Besar'] - $wbia['Dibayar'];
                $bayar = $harus > $sisa ? $sisa : $harus;
                $sisa = $sisa - $bayar;
                // Tambahkan data pembayaran
                $sbyr = "insert into bayarmhsw2\r\n          (BayarMhswID, BIPOTMhswID, Jumlah,\r\n          LoginBuat, TanggalBuat)\r\n          values\r\n          ('{$BayarMhswID}', '{$wbia['BIPOTMhswID']}', {$bayar},\r\n          '{$_SESSION['_Login']}', now())";
                $rbyr = _query($sbyr);
                // Update data BIPOT
                $sbpt = "update bipotmhsw\r\n          set Dibayar=Dibayar+{$bayar} where BIPOTMhswID='{$wbia['BIPOTMhswID']}' ";
                $rbpt = _query($sbpt);
            }
            // End IF
        }
        // End While
        // Update Total Bayar
        $TotalBayar = GetaField('bayarmhsw', "TahunID='0' and PMBMhswID=0 and PMBID", $pmbid, "sum(Jumlah)") + 0;
        $sk = "update pmb set TotalSetoranMhsw={$TotalBayar} where PMBID='{$pmbid}'";
        $rk = _query($sk);
    }
    // End INSERT
}
Example #2
0
function prc0()
{
    include_once "dwo.lib.php";
    include_once "parameter.php";
    include_once "mhswkeu.sav.php";
    $NoRek = GetaField('rekening', 'Def', 'Y', 'RekeningID');
    echo "<body bgcolor=#EEFFFF>";
    $dat = $_SESSION['AD' . $_SESSION['ADPOS']];
    $arr = explode('~', $dat);
    echo "Processing: #" . $_SESSION['ADPOS'] . " : <b>" . $arr[0] . ' (' . $arr[1] . ")</b><hr>";
    $_REQUEST['mhswid'] = $arr[0];
    $_REQUEST['khsid'] = $arr[1];
    $_REQUEST['pmbmhswid'] = 1;
    PrcBIPOTSesi();
    // Ambil data khs
    $khs = GetFields('khs', 'KHSID', $arr[1], '*');
    $balance = $khs['Biaya'] - $khs['Bayar'] - $khs['Potongan'] + $khs['Tarik'];
    // Apakah sudah ada BPM?
    $bpm = GetFields('bayarmhsw', "TahunID='{$khs['TahunID']}' and Autodebet=1 and MhswID", $arr[0], "*");
    $strbpm = '';
    if (empty($bpm)) {
        $strbpm = "<font color=blue>Dibuat</font>";
        $bpm['BayarMhswID'] = GetNextBPM();
        $s = "insert into bayarmhsw (BayarMhswID, TahunID, RekeningID,\r\n      MhswID, Autodebet, TrxID, PMBMhswID,\r\n      Tanggal, Jumlah, Keterangan,\r\n      LoginBuat, TanggalBuat)\r\n      values ('{$bpm['BayarMhswID']}', '{$khs['TahunID']}', '{$NoRek}',\r\n      '{$khs['MhswID']}', 1, 1, 1,\r\n      now(), '{$balance}', 'Autodebet',\r\n      '{$_SESSION['_Login']}', now())";
        $r = _query($s);
    } else {
        $strbpm = "<font color=gray>Diupdate</font>";
        $s = "update bayarmhsw set Jumlah='{$balance}' where BayarMhswID='{$bpm['BayarMhswID']}' ";
        $r = _query($s);
    }
    echo "1. Proses keuangan: OK<br />";
    echo "2. Buat BPM: <b>{$bpm['BayarMhswID']}</b> ~ {$strbpm}<br />";
    if ($_SESSION['ADPOS'] < $_SESSION['MaxData'] - 1) {
        echo "<script type='text/javascript'>window.onload=setTimeout('window.location.reload()', 2);</script>";
    } else {
        echo "<hr><p>Proses Keuangan <b>SELESAI</b>. Lanjutkan ke proses selanjutnya.</p>";
    }
    $_SESSION['ADPOS']++;
}
Example #3
0
function BPMLulusSav($mhsw)
{
    $bpmid = GetNextBPM();
    $RekeningID = $_REQUEST['RekeningID'];
    $MhswID = $_REQUEST['MhswID'];
    $Tanggal = "{$_REQUEST['Tanggal_y']}-{$_REQUEST['Tanggal_m']}-{$_REQUEST['Tanggal_d']}";
    $TahunBPM = $_REQUEST['TahunBPM'];
    $Jumlah = $_REQUEST['Jumlah'] + 0;
    $Keterangan = sqling($_REQUEST['Keterangan']);
    $md = $_REQUEST['md'] + 0;
    $BayarMhswID = $_REQUEST['ByrID'];
    if ($md == 0) {
        // simpan
        $s = "insert into bayarmhsw\r\n\t\t\t(BayarMhswID, TahunID, RekeningID, Tanggal, MhswID, Autodebet,\r\n\t\t\tTrxID, PMBMhswID, JumlahLain, Keterangan,\r\n\t\t\tLoginBuat, TanggalBuat)\r\n\t\t\tvalues ('{$bpmid}', '{$TahunBPM}', '{$RekeningID}', '{$Tanggal}', '{$MhswID}', 0,\r\n\t\t\t1, 1, {$Jumlah}, '{$Keterangan}',\r\n\t\t\t'{$_SESSION['_Login']}', now())";
        $r = _query($s);
        echo Konfirmasi("BPM Sudah Disimpan", "BPM sudah disimpan dengan nomer: <font size=+1>{$bpmid}</font>.<br />\r\n\t\t\tSilakan dibayar di Bank terlebih dahulu ke rekening: <b>{$RekeningID}</b>.\r\n\t\t\t<hr size=1>\r\n\t\t\tPilihan: <a href='cetak/bpmlulus.cetak.php?BPMID={$bpmid}' target=_blank>Cetak BPM</a> | <a href='?'>Kembali</a>");
    } elseif ($md == 1) {
        $s = "update bayarmhsw set JumlahLain = '{$Jumlah}' where BayarMhswID = '{$BayarMhswID}'";
        $r = _query($s);
        echo Konfirmasi("BPM Sudah Diedit", "BPM dengan nomer <font size=+1>{$BayarMhsw}</font> telah berhasil diupdate.<br />\r\n\t\t\t\t<hr size=1>\r\n\t\t\t\tPilihan : <a href='?'>Kembali</a>");
    }
}
Example #4
0
function BayarSavManual1()
{
    $mhswid = $_REQUEST['mhswid'];
    $pmbid = $_REQUEST['pmbid'];
    $pmbmhswid = $_REQUEST['pmbmhswid'];
    $khsid = $_REQUEST['khsid'];
    if ($pmbmhswid == 0) {
        $TahunID = GetaField('pmb', 'PMBID', $pmbid, "PMBPeriodID");
    } else {
        $TahunID = GetaField('khs', 'KHSID', $khsid, 'TahunID');
    }
    $CicilanID = $_REQUEST['CicilanID'];
    $RekeningID = $_REQUEST['RekeningID'];
    $BuktiSetoran = sqling($_REQUEST['BuktiSetoran']);
    $BayarMhswID = $_REQUEST['bpmid'];
    $Jumlah = $_REQUEST['Jumlah'] + 0;
    $_Jumlah = number_format($Jumlah);
    $JumlahLain = $_REQUEST['JumlahLain'] + 0;
    $_JumlahLain = number_format($JumlahLain);
    //$Tanggal = "$_REQUEST[Tanggal_y]-$_REQUEST[Tanggal_m]-$_REQUEST[Tanggal_d]";
    $Tanggal = $_REQUEST['Tanggal'];
    //echo "<font size=+1>$Tanggal</font>";
    $Keterangan = sqling($_REQUEST['Keterangan']);
    $md = $_REQUEST['md'] + 0;
    if ($md == 0) {
        $s = "update # set BuktiSetoran='{$BuktiSetoran}', Tanggal='{$Tanggal}', \r\n      Jumlah='{$Jumlah}', JumlahLain='{$JumlahLain}',\r\n      Keterangan='{$Keterangan}', Proses=1,\r\n      LoginEdit='{$_SESSION['_Login']}', TanggalEdit=now()\r\n      where BayarMhswID='{$BayarMhswID}' ";
        // update data asli
        $str = str_replace('#', 'bayarmhsw', $s);
        $r = _query($str);
        // update data cek
        $str = str_replace('#', 'bayarmhswcek', $s);
        $r = _query($str);
    } else {
        // fase 1: tambahkan transaksi
        $BayarMhswID = GetNextBPM();
        $s = "insert into #\r\n      (BayarMhswID, TahunID, PMBID, MhswID, RekeningID, BuktiSetoran,\r\n      PMBMhswID, TrxID, Tanggal, Jumlah, JumlahLain, CicilanID, Keterangan,\r\n      LoginBuat, TanggalBuat)\r\n      values('{$BayarMhswID}', '{$TahunID}', '{$pmbid}', '{$mhswid}', '{$RekeningID}', '{$BuktiSetoran}',\r\n      '{$pmbmhswid}', 1, '{$Tanggal}', {$Jumlah}, {$JumlahLain}, {$CicilanID}, '{$Keterangan}',\r\n      '{$_SESSION['_Login']}', now())";
        // Insert data asli
        $str = str_replace('#', 'bayarmhsw', $s);
        $r = _query($str);
        // Insert data cek
        $str = str_replace('#', 'bayarmhswcek', $s);
        $r = _query($str);
    }
    // Jika cicilan, maka data cicilan di set
    if ($CicilanID > 0) {
        $sc = "update cicilanmhsw set SudahDibayar='Y'\r\n      where CicilanID='{$CicilanID}' ";
        $rc = _query($sc);
    }
    // Tuliskan isinya (BayarMhsw2)
    $_BIPOTMhswID = $_REQUEST['arrBIPOTMhswID'];
    if (!empty($_BIPOTMhswID)) {
        $arrBIPOTMhswID = explode(',', $_BIPOTMhswID);
        for ($i = 0; $i < sizeof($arrBIPOTMhswID); $i++) {
            $_bmid = $arrBIPOTMhswID[$i];
            $_jml = $_REQUEST['BIPOTMhswID_' . $_bmid] + 0;
            $s1 = "insert into bayarmhsw2\r\n        (BayarMhswID, BIPOTMhswID, Jumlah,\r\n        LoginBuat, TanggalBuat)\r\n        values ('{$BayarMhswID}', '{$_bmid}', {$_jml},\r\n        '{$_SESSION['_Login']}', now())";
            $r1 = _query($s1);
            // Update data BIPOT
            $fld = $pmbmhswid == 0 ? "PMBID" : "MhswID";
            $nli = $pmbmhswid == 0 ? $pmbid : $mhswid;
            $totaldibayar = GetaField("bayarmhsw2 bm2\r\n        left outer join bayarmhsw bm on bm2.BayarMhswID=bm.BayarMhswID", "bm.TahunID='{$TahunID}' and bm2.BIPOTMhswID={$_bmid} and bm.{$fld}", $nli, "sum(bm2.Jumlah)") + 0;
            $sbpt = "update bipotmhsw\r\n        set Dibayar={$totaldibayar} where BIPOTMhswID='{$_bmid}' ";
            $rbpt = _query($sbpt);
            //echo "<pre>$sbpt</pre>";
        }
    }
    if ($pmbmhswid == 1) {
        // Update Total Bayar
        $TotalBayar = GetaField('bayarmhsw', "TahunID='{$TahunID}' and MhswID", $mhswid, "sum(Jumlah)") + 0;
        $sk = "update khs set Bayar={$TotalBayar} where KHSID={$khsid}";
        $rk = _query($sk);
    } else {
        $TotalBayar = GetaField('bayarmhsw', "PMBMhswID=0 and PMBID", $pmbid, "sum(Jumlah)") + 0;
        $sk = "update pmb set TotalSetoranMhsw={$TotalBayar} where PMBID='{$pmbid}' ";
        $rk = _query($sk);
    }
    include_once "mhswkeu.lib.php";
    HitungBiayaBayarMhsw($mhswid, $khsid);
    if (!empty($_REQUEST['gosto'])) {
        echo "<script>window.location='?gos={$_REQUEST['gosto']}';</script>";
    }
}
Example #5
0
function BPMSav()
{
    $TGL = "{$_REQUEST['Tanggal_y']}-{$_REQUEST['Tanggal_m']}-{$_REQUEST['Tanggal_d']}";
    $BuktiSetoran = sqling($_REQUEST['BuktiSetoran']);
    $KRSID = $_REQUEST['KRSID'];
    $krs = GetFields('krs', 'KRSID', $KRSID, '*');
    $Bank = sqling($_REQUEST['Bank']);
    $RekeningID = $_REQUEST['RekeningID'];
    $Jumlah = $_REQUEST['Jumlah'] + 0;
    $Keterangan = sqling($_REQUEST['Keterangan']);
    //$jdwl = GetFields('jadwal', 'JadwalID', $krs['JadwalID'], '*');
    //$Harga = $jdwl['Harga'];
    $Kurang = $krs['Harga'] - $krs['Bayar'];
    $Bayar = $Jumlah > $Kurang ? $Kurang : $Jumlah;
    $Sisa = $Jumlah - $Kurang;
    // Tambahkah BPM
    $BPM = GetNextBPM();
    $s = "insert into bayarmhsw\r\n    (BayarMhswID, BayarMhswRef, TahunID, RekeningID, \r\n    MhswID, TrxID, PMBMhswID,\r\n    Bank, BuktiSetoran, Tanggal, Jumlah,\r\n    Keterangan, LoginBuat, TanggalBuat, Proses)\r\n    values ('{$BPM}', '{$krs['KRSID']}', '{$krs['TahunID']}', '{$RekeningID}',\r\n    '{$krs['MhswID']}', 1, 1,\r\n    '{$Bank}', '{$BuktiSetoran}', '{$TGL}', {$Bayar},\r\n    '{$Keterangan}', '{$_SESSION['_Login']}', now(), 1)";
    $r = _query($s);
    // update KRS
    $s0 = "update krs set Bayar=Bayar+{$Bayar} where KRSID={$KRSID}";
    $r0 = _query($s0);
    // update bipotmhsw
    $s1 = "update bipotmhsw set Dibayar=Dibayar+{$Bayar} where BIPOTMHswRef='{$krs['KRSID']}' ";
    $r1 = _query($s1);
    //echo "<pre>$s1</pre>";
    // Jika ada sisa, maka buat deposit mhsw
    if ($Sisa > 0) {
        $s2 = "insert into depositmhsw\r\n    (Tanggal, MhswID, Jumlah,\r\n    Catatan, LoginBuat, TglBuat)\r\n    values (now(), '{$krs['MhswID']}', {$Sisa},\r\n    'Kelebihan pembayaran BPM: {$krs['MKKode']} > KRSID: {$krs['KRSID']}', '{$_SESSION['_Login']}', now())";
        $r2 = _query($s2);
    }
    //echo "<pre>$s2</pre>";
    // Hitung Ulang
    HitungBiayaBayarMhsw($MhswID, $krs['KHSID']);
    // Reload
    echo "<script>window.location = '?mnux=klinik.biyar&gos=Biyar';</script>";
}
Example #6
0
function Simpan($MhswID, $KHSID, $md, $BayarID)
{
    $RekeningID = sqling($_REQUEST['RekeningID']);
    $Bank = sqling($_REQUEST['Bank']);
    $BuktiSetoran = sqling($_REQUEST['BuktiSetoran']);
    $Keterangan = sqling($_REQUEST['Keterangan']);
    $Tanggal = "{$_REQUEST['Tanggal_y']}-{$_REQUEST['Tanggal_m']}-{$_REQUEST['Tanggal_d']}";
    $CNT = $_REQUEST['CNT'] + 0;
    $sisane = -1 * $_REQUEST['sisane'] + 0;
    $TTLBYR = $_REQUEST['TTLBYR'] + 0;
    // Cek jika tidak ada detailnya
    if ($sisane < $TTLBYR) {
        die(ErrorMsg('Error', "Penarikan tidak boleh lebih besar<br />\r\n      daripada total yang dapat ditarik<br />\r\n      Hubungi Sysadmin untuk informasi lebih lanjut.\r\n      <hr size=1 color=silver />\r\n      Opsi: <input type=button name='Tutup' value='Tutup' onClick=\"window.close()\" />"));
    }
    if ($CNT == 0) {
        die(ErrorMsg('Error', "Tidak ada detail biaya.<br />\r\n      Data tidak bisa disimpan.<br />\r\n      Hubungi Sysadmin untuk informasi lebih lanjut.\r\n      <hr size=1 color=silver />\r\n      Opsi: <input type=button name='Tutup' value='Tutup' onClick=\"window.close()\" />"));
    }
    // Cek dulu jumlah yg dibayarkan
    $jml = 0;
    for ($i = 1; $i <= $CNT; $i++) {
        $jml += $_REQUEST['BYR_' . $i] + 0;
    }
    if ($jml <= 0) {
        die(ErrorMsg('Error', "Jumlah yang Anda bayarkan: <font size=+1>{$jml}</font>.<br />\r\n      Tidak ada yang perlu dibayarkan.<br />\r\n      Hubungi Sysadmin untuk informasi lebih lanjut.\r\n      <hr size=1 color=silver />\r\n      Opsi: <input type=button name='Tutup' value='Tutup' onClick=\"window.close()\" /"));
    }
    $mhsw = GetFields('mhsw', "KodeID='" . KodeID . "' and MhswID", $MhswID, '*');
    $khs = GetFields('khs', 'KHSID', $KHSID, '*');
    // Oke, mulai simpan datanya
    // 1. Ambil nomer terakhir yang ada
    $BayarMhswID = GetNextBPM();
    // 2. Buat header bukti pembayaran
    $s = "insert into bayarmhsw\r\n    (BayarMhswID, TahunID, KodeID,\r\n    RekeningID, MhswID, TrxID, PMBMhswID,\r\n    Bank, BuktiSetoran, Tanggal,\r\n    Jumlah, Keterangan,\r\n    LoginBuat, TanggalBuat)\r\n    values\r\n    ('{$BayarMhswID}', '{$khs['TahunID']}', '" . KodeID . "',\r\n    '{$RekeningID}', '{$mhsw['MhswID']}', -1, 1,\r\n    '{$Bank}', '{$BuktiSetoran}', '{$Tanggal}',\r\n    {$jml}, '{$Keterangan}',\r\n    '{$_SESSION['_LoginBuat']}', now())";
    $r = _query($s);
    // 3. Simpan detailnya
    for ($i = 1; $i <= $CNT; $i++) {
        $_j = $_REQUEST['BYR_' . $i] + 0;
        if ($_j > 0) {
            // Simpan
            $id = $_REQUEST['BYRID_' . $i] + 0;
            $BIPOTNamaID = GetaField('bipotmhsw', "BIPOTMhswID", $id, 'BIPOTNamaID');
            // Simpan dulu detail pembayarannya
            $s = "insert into bayarmhsw2\r\n        (BayarMhswID, BIPOTMhswID, BIPOTNamaID, Jumlah,\r\n        LoginBuat, TanggalBuat)\r\n        values\r\n        ('{$BayarMhswID}', {$id}, '{$BIPOTNamaID}', " . -1 * $_j . ",\r\n        '{$_SESSION['_Login']}', now())";
            $r = _query($s);
            // Update detail biayanya
            $s = "update bipotmhsw\r\n        set Dibayar = Dibayar + " . -1 * $_j . "\r\n        where BIPOTMhswID = {$id}";
            $r = _query($s);
        }
    }
    HitungUlangBIPOTMhsw($MhswID, $khs['TahunID']);
    TutupScript($MhswID);
}
Example #7
0
$bpmblank = GetSetVar('bpmblank');
if (!empty($rekid)) {
    // Data
    if ($pmbmhswid == 0) {
        $mhsw = GetFields("pmb m\r\n      left outer join program prg on m.ProgramID=prg.ProgramID\r\n      left outer join prodi prd on m.ProdiID=prd.ProdiID", "PMBID", $pmbid, "m.*, prg.Nama as PRG, prd.Nama as PRD");
        $khs = array();
        $khs['TahunID'] = $mhsw['PMBPeriodID'];
        $nomernya = $mhsw['PMBID'];
    } else {
        $mhsw = GetFields("mhsw m\r\n      left outer join program prg on m.ProgramID=prg.ProgramID\r\n      left outer join prodi prd on m.ProdiID=prd.ProdiID", "MhswID", $mhswid, "m.*, prg.Nama as PRG, prd.Nama as PRD");
        $khs = GetFields('khs', 'KHSID', $khsid, '*');
        $nomernya = $mhsw['MhswID'];
    }
    $NamaBank = GetaField('rekening', 'RekeningID', $rekid, 'Nama');
    // Buat Nomer BPK
    $BayarMhswID = GetNextBPM();
    // Tambahkan Data
    $s = "insert into bayarmhsw (BayarMhswID, TahunID, RekeningID,\r\n    PMBID, MhswID, TrxID, PMBMhswID,\r\n    Proses, LoginBuat, TanggalBuat)\r\n    values ('{$BayarMhswID}', '{$khs['TahunID']}', '{$rekid}',\r\n    '{$mhsw['PMBID']}', '{$mhsw['MhswID']}', 1, {$pmbmhswid},\r\n    0, '{$_SESSION['_Login']}', now())";
    $r = _query($s);
    // Buat cetakannya
    $isi = $_lf . $_lf;
    // header
    $mrg = str_pad(' ', 10, ' ');
    $isi .= str_pad($BayarMhswID, 60, ' ', STR_PAD_LEFT) . $_lf . $_lf . $_lf . $_lf;
    $isi .= $mrg . $mrg . $rekid . $_lf . $_lf . $_lf . $_lf;
    $isi .= $mrg . $mrg . $khs['TahunID'] . $_lf . $_lf;
    $isi .= $mrg . $mrg . $nomernya . ' / ' . $mhsw['Nama'] . $_lf . $_lf . $_lf . $_lf;
    $isi .= $mrg . $mrg . $NamaBank . $_lf . $_lf;
    // masuk ke detail
    $isi .= $_lf . $_lf;
    $arr = array();
function Cetak()
{
    global $_HeaderPrn, $_lf;
    echo "<body bgcolor=#EEFFFF>";
    // Parameters
    $pos = $_SESSION['BPM-POS'];
    $max = $_SESSION['BPM-MAX'];
    $nmf = $_SESSION['BPM-FILE'];
    $_khsid = $_SESSION['khsid'];
    $khsid = $_khsid[$pos];
    if ($pos < $max) {
        $mhsw = GetFields("khs left outer join mhsw m on m.MhswID = khs.MhswID", "khs.KHSID", $khsid, 'khs.*,m.Nama,m.MhswID');
        $NamaBank = GetaField('rekening', 'RekeningID', $_SESSION['rekid'], 'Bank');
        $BayarMhswID = GetNextBPM();
        $isi = $_lf;
        // header
        $mrg = str_pad(' ', 8, ' ');
        $isi .= str_pad($BayarMhswID, 50, ' ', STR_PAD_LEFT) . $_lf . $_lf . $_lf . $_lf . $_lf;
        $isi .= $mrg . $mrg . $_SESSION['rekid'] . $_lf . $_lf;
        $isi .= $mrg . $mrg . $_SESSION['tahun'] . $_lf;
        $isi .= $mrg . $mrg . $mhsw['MhswID'] . ' / ' . $mhsw['Nama'] . $_lf . $_lf;
        $isi .= $mrg . $mrg . $NamaBank . $_lf . $_lf . $_lf . $_lf;
        // masuk ke detail
        $arr = array();
        $jml = 0;
        $krg = 0;
        $nmr = 0;
        $whr = "and bm.MhswID='{$mhsw['MhswID']}' ";
        $s1 = "select bm.*, \r\n    format(bm.Besar, 0) as BSR,\r\n    format(bm.Besar*bm.Jumlah, 0) as TOT,\r\n    format(bm.Besar*bm.Jumlah - bm.Dibayar, 0) as KRG,\r\n    bn.Nama, bn.Baris, bn.Detil\r\n    from bipotmhsw bm\r\n      left outer join bipotnama bn on bm.BIPOTNamaID=bn.BIPOTNamaID\r\n    where bm.PMBMhswID='1'\r\n      and bm.TahunID='{$_SESSION['tahun']}'\r\n      and bm.TrxID=1 and bn.RekeningID='{$_SESSION['rekid']}'\r\n      and (bm.Besar*bm.Jumlah - bm.Dibayar)>0\r\n      {$whr}\r\n    order by bn.Baris";
        $r1 = _query($s1);
        $baris = array();
        $detil = array();
        for ($i = 0; $i <= 10; $i++) {
            $baris[$i] = 0;
            $detil[$i] = '';
        }
        while ($w1 = _fetch_array($r1)) {
            $nmr++;
            $jml += $w1['Jumlah'] * $w1['Besar'];
            $krg = $w1['Jumlah'] * $w1['Besar'] - $w1['Dibayar'];
            $tott += $w1['Jumlah'] * $w1['Besar'] - $w1['Dibayar'];
            $i = $w1['Baris'] == 0 ? 10 : $w1['Baris'];
            $baris[$i] += $krg;
            if (empty($w1['Detil'])) {
                $detil[$i] = number_format($baris[$i]);
            } else {
                $detil[$i] = $w1['Detil'] == 'N' ? '' : $w1['Jumlah'] . 'x' . number_format($w1['Besar']);
            }
        }
        // Tampilkan detail
        $MaxRow = 10;
        for ($i = 1; $i <= $MaxRow; $i++) {
            if ($baris[$i] == 0) {
                $isi .= $_lf . $_lf;
            } else {
                $tmp = '';
                if (!empty($detil[$i])) {
                    $str = explode('x', $detil[$i]);
                    $tmp = str_pad($str[0], 7, ' ', STR_PAD_LEFT) . str_pad($str[1], 20, ' ', STR_PAD_LEFT);
                }
                $isi .= $mrg . str_pad($tmp, 30) . str_pad(number_format($baris[$i]), 15, ' ', STR_PAD_LEFT) . $_lf . $_lf;
            }
        }
        //$isi .= $mrg . str_pad('-', 78, '-').$_lf;
        $tot = number_format($tott);
        $isi .= $mrg . str_pad(' ', 30, ' ') . str_pad($tot, 15, ' ', STR_PAD_LEFT) . $_lf . $_lf . $_lf;
        //$isi_ = wordwrap(SpellNumberID($tott).'rupiah',43,"\n".$mrg);
        $isi .= $mrg . $isi_ . $_lf;
        $isi .= $_lf . $_lf . $_lf . $_lf . $_lf . $_lf;
        $tgl = date('d-m-Y');
        $isi .= $mrg . "Dicetak oleh: {$_SESSION['_Login']}, {$tgl}" . $_lf;
        $isi .= $_lf . $_lf . $_lf . $_lf . $_lf;
        // Buat Tujuan
        $nmf = HOME_FOLDER . DS . "tmp/{$_SESSION['_Login']}.dwoprn";
        $f = fopen($nmf, 'a');
        fwrite($f, chr(27) . chr(18) . chr(27) . chr(67) . chr(60));
        fwrite($f, $isi);
        fwrite($f, chr(12));
        fclose($f);
        //TampilkanFileDWOPRN($nmf);
        echo "<p>Proses BPM: <font size=+2>{$pos}/{$max}</font><br />\r\n  {$khsid} &raquo; {$mhsw['Nama']}</p>";
        echo "<script type='text/javascript'>window.onload=setTimeout('window.location.reload()', 2);</script>";
    } else {
        echo "<p>Pembuatan file BPM telah selesai.<br />\r\n\tUntuk memulai mencetak klik: <a href='{$nmf}'><img src='img/printer.gif' border=0></a></p>";
    }
    $_SESSION['BPM-POS']++;
}
Example #9
0
function Simpan($pmbid, $md, $bayar, $bipotmhsw)
{
    $RekeningID = sqling($_REQUEST['RekeningID']);
    $Tanggal = "{$_REQUEST['Tanggal_y']}-{$_REQUEST['Tanggal_m']}-{$_REQUEST['Tanggal_d']}";
    $Bank = sqling($_REQUEST['Bank']);
    $BuktiSetoran = sqling($_REQUEST['BuktiSetoran']);
    $Keterangan = sqling($_REQUEST['Keterangan']);
    $CNT = $_REQUEST['CNT'] + 0;
    // Cek jika tidak ada detailnya
    if ($CNT == 0) {
        die(ErrorMsg('Error', "Tidak ada detail biaya.<br />\r\n      Data tidak bisa disimpan.<br />\r\n      Hubungi Sysadmin untuk informasi lebih lanjut.\r\n      <hr size=1 color=silver />\r\n      Opsi: <input type=button name='Tutup' value='Tutup' onClick=\"window.close()\" />"));
    }
    // Cek dulu jumlah yg dibayarkan
    $jml = 0;
    $PembayaranValid = TRUE;
    for ($i = 1; $i <= $CNT; $i++) {
        $jml += $_REQUEST['BYR_' . $i] + 0;
        $byr = $_REQUEST['BYR_' . $i] + 0;
        $subttl = $_REQUEST['SUBTTL_' . $i] + 0;
        //if ($subttl < $byr)
        //$PembayaranValid = FALSE;
    }
    if ($jml <= 0) {
        die(ErrorMsg('Error', "Jumlah yang Anda bayarkan: <font size=+1>{$jml}</font>.<br />\r\n      Tidak ada yang perlu dibayarkan.<br />\r\n      Hubungi Sysadmin untuk informasi lebih lanjut.\r\n      <hr size=1 color=silver />\r\n      Opsi: <input type=button name='Tutup' value='Tutup' onClick=\"window.close()\" /"));
    }
    if ($PembayaranValid == FALSE) {
        die(ErrorMsg('Error', "Pembayaran: <font size=+1>TIDAK VALID</font>.<br />\r\n      Pembayaran tidak boleh melebihi Sub Total.<br />\r\n      Hubungi Sysadmin untuk informasi lebih lanjut.\r\n      <hr size=1 color=silver />\r\n      Opsi: <input type=button name='Tutup' value='Tutup' onClick=\"window.close()\" /"));
    }
    $pmb = GetFields('pmb', "KodeID='" . KodeID . "' and PMBID", $pmbid, '*');
    // Oke, mulai simpan datanya
    // 1. Ambil nomer terakhir yang ada
    $BayarMhswID = GetNextBPM();
    // 2. Buat header bukti pembayaran
    $s = "insert into bayarmhsw\r\n    (BayarMhswID, TahunID, KodeID,\r\n    RekeningID, PMBID, TrxID, PMBMhswID,\r\n    Bank, BuktiSetoran, Tanggal,\r\n    Jumlah, Keterangan,\r\n    LoginBuat, TanggalBuat)\r\n    values\r\n    ('{$BayarMhswID}', '{$pmb['PMBPeriodID']}', '" . KodeID . "',\r\n    '{$RekeningID}', '{$pmb['PMBID']}', 1, 0,\r\n    '{$Bank}', '{$BuktiSetoran}', '{$Tanggal}',\r\n    {$jml}, '{$Keterangan}',\r\n    '{$_SESSION['_LoginBuat']}', now())";
    $r = _query($s);
    // 3. Simpan detailnya
    for ($i = 1; $i <= $CNT; $i++) {
        $_j = $_REQUEST['BYR_' . $i] + 0;
        if ($_j > 0) {
            // Simpan
            $id = $_REQUEST['BYRID_' . $i] + 0;
            $byrmhsw = GetFields('bipotmhsw', "BIPOTMhswID", $id, '*');
            // Simpan dulu detail pembayarannya
            $s = "insert into bayarmhsw2\r\n        (BayarMhswID, BIPOTMhswID, BIPOTNamaID, Jumlah,\r\n        LoginBuat, TanggalBuat)\r\n        values\r\n        ('{$BayarMhswID}', {$id}, '{$byrmhsw['BIPOTNamaID']}', {$_j},\r\n        '{$_SESSION['_Login']}', now())";
            $r = _query($s);
            // Update detail biayanya
            $s = "update bipotmhsw\r\n        set Dibayar = Dibayar + {$_j}\r\n        where BIPOTMhswID = {$id}";
            $r = _query($s);
        }
    }
    HitungUlangBIPOTPMB($pmbid);
    TutupScript($pmbid);
}
Example #10
0
function TrxAmbilSav($mhsw)
{
    $mhswid = $_REQUEST['mhswid'];
    $khsid = $_REQUEST['khsid'];
    $Rep = $_REQUEST['rep'] + 0;
    $w = GetFields("khs", "KHSID", $khsid, "*");
    $bal = -$w['Biaya'] - $w['Tarik'] + $w['Potongan'] + $w['Bayar'];
    $_bal = number_format($bal);
    $Tanggal = "{$_REQUEST['Tanggal_y']}-{$_REQUEST['Tanggal_m']}-{$_REQUEST['Tanggal_d']}";
    $Keterangan = sqling($_REQUEST['Keterangan']);
    $BPMID = GetNextBPM();
    $s = "insert into bayarmhsw (BayarMhswID, TahunID, MhswID, PMBMhswID, TrxID,\r\n    Tanggal, Jumlah, Keterangan, LoginBuat, TanggalBuat)\r\n    values ('{$BPMID}', '{$w['TahunID']}', '{$mhsw['MhswID']}', 1, -1,\r\n    '{$Tanggal}', {$bal}, '{$Keterangan}', '{$_SESSION['_Login']}', now())";
    $r = _query($s);
    // update balance
    //$s2 = "Update khs set Tarik = $bal where KHSID = $khsid";
    //$r2 = _query($s2);
    // Lakukan pencetakan
    CetakTrxAmbil($BPMID, $bal, $Keterangan, $Rep);
    // Kembali
    Ambilkan($mhsw);
}