Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/local/bin/php
- <?php
- $MYSQL=false;
- // mandatory utk php 4.5 and above
- date_default_timezone_set('Asia/Jakarta');
- // utk manipulasi & validasi tanggal
- define('JANUARI',1);
- define('DESEMBER',12);
- $pastday = 7; // cek mutasi dari $pastday hari lalu sampai hari ini
- // userid & PIN BCA
- define('USERID','blablaba0123');
- define('PASSWD','345678');
- if($MYSQL) {
- // config mysql
- define('DB_HOSTNAME', 'localhost');
- define('DB_USERNAME', 'userdbnya');
- define('DB_PASSWORD', 'passwdnya');
- define('DB_DATABASE', 'dbnamenya');
- $mysqlId = mysql_connect(DB_HOSTNAME,DB_USERNAME,DB_PASSWORD);
- mysql_select_db(DB_DATABASE,$mysqlId);
- // baca dulu last_id di table
- $result = mysql_query("select max(id) from `mbank_bca`",$mysqlId);
- list($last_id) = mysql_fetch_row($result);
- mysql_free_result($result);
- // kalo last_id positif => table udah ada isinya
- // baca dulu saldo terakhir
- $isFirst = true;
- $last_saldo = 0;
- if($last_id) {
- $result = mysql_query("select tanggal,saldo from `mbank_bca` where id='$last_id'",$mysqlId);
- list($last_tanggal,$last_saldo) = mysql_fetch_row($result);
- mysql_free_result($result);
- $last_saldo = (int)$last_saldo; // integer aja dech
- $isFirst = false;
- }
- }
- // penetapan tanggal from-to mutasi
- if($isFirst) { // kalo table msh kosong, ambil dr tanggal 1
- $from_date = date("Y-m-01");
- } else {
- $from_date = date("Y-m-d",strtotime("-$pastday day"));
- }
- $to_date = date("Y-m-d");
- // ###### ATO BATAS MUTASI DITETAPKAN SECARA MANUAL
- // $from_date = "2014-04-10";
- // $to_date = "2014-04-20";
- // load Class
- include('bca.class.php');
- $bca = new bankBCA;
- $bca->userid = USERID;
- $bca->password = PASSWD;
- $insert = 0;
- $isbank = true;
- // ################ START ACTION ################# \\
- if($bca->login()){
- $mutasi = $bca->mutasi($from_date,$to_date);
- $bca->logout();
- if($MYSQL) {
- $nrow = count($mutasi);
- if(!$nrow) { // gk dpt hasil mutasi
- mysql_query("INSERT INTO mbank_log SET id=NULL, tanggal=NOW(), keterangan = 'Hasil Check Mutasi Zero'",$mysqlId);
- $isbank = false;
- }
- if($isbank) {
- $new_saldo = (int)$mutasi[$nrow-1]['saldo'];
- if($new_saldo == $last_saldo) { // saldo gk berubah
- mysql_query("INSERT INTO mbank_log SET id=NULL, tanggal=NOW(), keterangan = 'Tidak Ada Perubahan Saldo'",$mysqlId);
- $isbank = false;
- }
- }
- if($isbank) {
- // Lets Go Bussiness
- for($i=0;$i<count($mutasi);$i++) {
- $tanggal = $mutasi[$i]['tanggal'];
- $keterangan = $mutasi[$i]['keterangan'];
- // $cabang = $mutasi[$i]['cabang'];
- $jumlah = (float)$mutasi[$i]['jumlah'];
- $jenis = $mutasi[$i]['jenis'];
- $saldo = (float)$mutasi[$i]['saldo'];
- if($jenis=='DB') {
- $debet = $jumlah; $credit = 0;
- $lmutasi = true;
- } else {
- $debet = 0; $credit = $jumlah;
- $lmutasi = false;
- }
- // cek & manipulasi tanggal
- if($tanggal=="PEND") { // pending
- $pending = true;
- $tanggal = "0000-00-00";
- } else {
- $pending = false;
- $bln_ini = date("n");
- $thn_ini = $thn = date("Y");
- list($tgl,$bln) = explode("/",$tanggal);
- $tgl = $tgl*1;
- $bln = $bln*1;
- // bila cek mutasi xx/Desember/TahunA s/d yy/Januari/TahunB
- // maka TahunA = TahunB - 1
- if($bln_ini==JANUARI && $bln==DESEMBER) {
- $thn--;
- }
- $tanggal = date("Y-m-d",mktime(0,0,0,$bln,$tgl,$thn));
- }
- if($isFirst) { // kalo table kosong gk usah check
- InsertDATA($tanggal,$keterangan,$debet,$credit,$saldo,$mysqlId);
- $insert++;
- } else {
- // cek dulu, agar gk ada data ganda
- $query="select id,tanggal from `mbank_bca` WHERE (tanggal>='$from_date' OR tanggal='0000-00-00') AND saldo='$saldo' ";
- if($lmutasi) {
- $query .= "AND debet='$debet'";
- } else {
- $query .= "AND credit='$credit'";
- }
- $result = mysql_query($query,$mysqlId);
- if($result) {
- if(mysql_num_rows($result)) { // udah ada
- list($id,$tgl) = mysql_fetch_row($result);
- mysql_free_result($result);
- if($tgl="0000-00-00" && !$pending) { // data pending & new data !pending, update sesuai tgl mutasi
- mysql_query("UPDATE mbank_bca SET tanggal='$tanggal' WHERE id='$id'",$mysqlId);
- $insert++;
- }
- } else {
- InsertDATA($tanggal,$keterangan,$debet,$credit,$saldo,$mysqlId);
- $insert++;
- }
- } else {
- InsertDATA($tanggal,$keterangan,$debet,$credit,$saldo,$mysqlId);
- $insert++;
- }
- }
- }
- mysql_query("INSERT INTO mbank_log SET id=NULL,tanggal=NOW(),keterangan='Sukses dengan $insert INSERT &/ UPDATE'",$mysqlId);
- }
- mysql_close($mysqlId);
- } else {
- print_r($mutasi);
- }
- } else { // ERROR LOGIN
- if($MYSQL) {
- mysql_query("INSERT INTO mbank_log SET id=NULL, tanggal=NOW(), keterangan = 'Error Login Internet Banking / Wait 10mnt'",$mysqlId);
- mysql_close($mysqlId);
- } else {
- echo "Error Login Internet Banking / Wait 10mnt\n";
- }
- }
- function InsertDATA($tgl,$ket,$dbt,$cdt,$sal,$mysqlId) {
- $query="INSERT INTO mbank_bca SET tanggal='$tgl',keterangan='$ket',debet='$dbt',credit='$cdt',saldo='$sal'";
- mysql_query($query,$mysqlId);
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement