".$nofaktur; $stmt = $mysqli->prepare("INSERT INTO m_pembelian VALUES (?, now(), now(), '-', now(), ?, 'T', 0, ?, ?, 0, '1', '$ket', now(), ?, ?)"); $stmt->bind_param("sssiss", $norhp, $kd_supplier, $nik, $rpbeli, $nofaktur, $statusrvb); $stmt->execute(); if($stmt->affected_rows > 0) { $hasil = TRUE; $stmt->close(); } else { $hasil = FALSE; } } /* tutup koneksi */ $mysqli->close(); return $hasil; } function insert_d_pembelian($norhp, $kode_barang, $kode_lama, $nomor, $stok, $stokrev, $hplama, $hjlama, $hpbaru, $hjbaru, $nama, $idgabungan) { $hasil = FALSE; /* konfigurasi untuk koneksi ke database */ require_once("../db_login.inc.php"); $mysqli = new mysqli(HOST, USER, PASSWORD, DATABASE); if(!mysqli_connect_errno()) { for ($i = 0; $i < count($kode_barang); $i++) { /* insert data lama */ $hplm = decode_hp($hplama[$i]); $profitlama = ceil((($hjlama[$i] - $hplm) / $hplm) * 100); $stoklama = -1 * $stok[$i]; $faktur_asli = get_kode_faktur_asli($kode_barang[$i]); $stmt = $mysqli->prepare("INSERT INTO d_pembelian(no_faktur, kode_barang, kode_baranglama, nomor, jumlah, harga_satuan, harga_pokok, harga_jual, profit, kode_asli, jum_fisik, jenis, lokasi, hj_final, nm_brg) VALUES (?, ?, ?, ?, ?, 0, ?, ?, ?, '-', ?, 'S', '1A', ?, ?)"); $stmt->bind_param("ssssisiiiis", $norhp, $kode_barang[$i], $kode_lama[$i], $nomor[$i], $stoklama, $hplama[$i], $hjlama[$i], $profitlama, $stoklama, $hjlama[$i], $nama[$i]); $stmt->execute(); if($stmt->affected_rows > 0) { $hasil = TRUE; $stmt->close(); } else { $hasil = FALSE; } /* insert data baru */ if ($hasil) { $hpbr = decode_hp($hpbaru[$i]); $profitbaru = ceil((($hjbaru[$i] - $hpbr) / $hpbr) * 100); $stmt = $mysqli->prepare("INSERT INTO d_pembelian(no_faktur, kode_barang, kode_baranglama, nomor, jumlah, harga_satuan, harga_pokok, harga_jual, profit, kode_asli, jum_fisik, jenis, lokasi, hj_final, nm_brg) VALUES (?, ?, ?, ?, ?, 0, ?, ?, ?, '-', ?, 'S', '1A', ?, ?)"); $stmt->bind_param("ssssisiiiis", $norhp, $kode_barang[$i], $kode_lama[$i], $nomor[$i], $stokrev[$i], $hpbaru[$i], $hjbaru[$i], $profitbaru, $stokrev[$i], $hjbaru[$i], $nama[$i]); $stmt->execute(); if($stmt->affected_rows > 0) { $hasil = TRUE; $stmt->close(); } else { $hasil = FALSE; } } /* update barang*/ if ($hasil) { $update2 = update_barang($idgabungan[$i], $nama[$i]); if($update2) { $hasil = TRUE; } else { $hasil = FALSE; } } /* update no_barang*/ if ($hasil) { $update = update_no_barang($idgabungan[$i], $nomor[$i], $hpbaru[$i], $hjbaru[$i], $stokrev[$i]); if($update) { $hasil = TRUE; } else { $hasil = FALSE; } } $faktur_asli = ""; } } /* tutup koneksi */ $mysqli->close(); return $hasil; } /** * * @param $id * @param $nomor * @param $hp * @param $hj * @return unknown_type */ function update_no_barang($id, $nomor, $hp, $hj, $stokrev) { $hasil = FALSE; /* konfigurasi untuk koneksi ke database */ require_once("../db_login.inc.php"); $mysqli = new mysqli(HOST, USER, PASSWORD, DATABASE); if(!mysqli_connect_errno()) { // isi table master $stmt = $mysqli->prepare("UPDATE no_barang SET stok = ?,harga_pokok = ?, harga_jual = ? WHERE id_gabungan = ? AND nomor = ?"); $stmt->bind_param("isiss", $stokrev, $hp, $hj, $id, $nomor); $stmt->execute(); if($stmt->affected_rows >= 0) { $hasil = TRUE; $stmt->close(); } else { $hasil = FALSE; } } /* tutup koneksi */ $mysqli->close(); return $hasil; } function update_barang($id, $nama) { $hasil = FALSE; /* konfigurasi untuk koneksi ke database */ require_once("../db_login.inc.php"); $mysqli = new mysqli(HOST, USER, PASSWORD, DATABASE); if(!mysqli_connect_errno()) { // isi table master $stmt = $mysqli->prepare("UPDATE barang SET nama_barang = ? WHERE id_gabungan = ?"); $stmt->bind_param("ss", $nama, $id); $stmt->execute(); if($stmt->affected_rows >= 0) { $hasil = TRUE; $stmt->close(); } else { $hasil = FALSE; } } /* tutup koneksi */ $mysqli->close(); return $hasil; } /** * * @param $kdsupplier * @return unknown_type */ function get_no_rhp($kdsupplier) { $urutbaru = 0; /* konfigurasi untuk koneksi ke database */ require_once("../db_login.inc.php"); $mysqli = new mysqli(HOST, USER, PASSWORD, DATABASE); // cek ada atau tidak if(cek_data($kdsupplier)) { $data_faktur = $mysqli->query("SELECT MAX(RIGHT(no_faktur, 3)) FROM m_pembelian WHERE LEFT(no_faktur, 10) = 'RVB-{$kdsupplier}'"); if($data_faktur->num_rows > 0) { $urut = $data_faktur->fetch_array(); $urutbaru = (int)$urut[0] + 1; if(strlen($urutbaru) == 1) { $urutbaru = "00".$urutbaru; } if(strlen($urutbaru) == 2) { $urutbaru = "0".$urutbaru; } /* tutup hasil query */ $data_faktur->close(); } } else { $urutbaru = "000"; } $hasil[0] = "RVB-".$kdsupplier."-".$urutbaru; echo json_encode($hasil); /* tutup koneksi */ $mysqli->close(); } /** * * @param $kodesupplier * @return unknown_type */ function cek_data($kodesupplier) { /* konfigurasi untuk koneksi ke database */ require_once("../db_login.inc.php"); $mysqli = new mysqli(HOST, USER, PASSWORD, DATABASE); // cek ada atau tidak $data = $mysqli->query("SELECT COUNT(*) FROM m_pembelian WHERE LEFT(no_faktur, 10) = 'RVB-{$kodesupplier}'"); $dt = $data->fetch_array(); if($dt[0] > 0) { return true; } else { return false; } /* tutup hasil query */ $data->close(); /* tutup koneksi */ $mysqli->close(); } /** * * @param $kode * @param $nomor * @param $kd_supplier * @return unknown_type */ function ambil_barang($kode, $nomor, $nofaktur) { if($kode != "" || $nomor != "") { $harray = array(); /* konfigurasi untuk koneksi ke database */ require_once("../db_login.inc.php"); $mysqli = new mysqli(HOST, USER, PASSWORD, DATABASE); if($nomor != "") { $data = $mysqli->query("SELECT DISTINCT brg.kode_barang, brg.kode_lama, brg.nama_barang, brg.id_gabungan, nb.stok, nb.harga_pokok, nb.harga_jual, brg.kode_supplier, s.nama_supplier FROM barang brg, no_barang nb, supplier s, d_pembelian dp WHERE brg.id_gabungan = nb.id_gabungan AND brg.kode_barang = dp.kode_barang AND brg.kode_barang = '{$kode}' AND nb.nomor = '{$nomor}' AND brg.kode_supplier = s.kd_supplier AND dp.no_faktur = '{$nofaktur}' LIMIT 1"); } else if($nomor == "") { $data = $mysqli->query("SELECT DISTINCT brg.kode_barang, brg.kode_lama, brg.nama_barang, brg.id_gabungan, nb.stok, nb.harga_pokok, nb.harga_jual, brg.kode_supplier, s.nama_supplier FROM barang brg, no_barang nb, supplier s, d_pembelian dp WHERE brg.id_gabungan = nb.id_gabungan AND brg.kode_barang = dp.kode_barang AND brg.kode_barang = '{$kode}' AND brg.kode_supplier = s.kd_supplier AND dp.no_faktur = '{$nofaktur}' LIMIT 1"); } /* tampung jumlah data dalam var hasil */ $hasil = $data->num_rows; if($hasil > 0) { $idx = 0; while($a = $data->fetch_array(MYSQLI_ASSOC)) { $harray[$idx] = array('kode_barang' => $a['kode_barang'], 'kode_lama' => $a['kode_lama'], 'nama_barang' => $a['nama_barang'], 'supplier' => $a['nama_supplier'], 'id_gabungan' => $a['id_gabungan'], 'stok' => $a['stok'], 'kd_supplier' => $a['kode_supplier'], 'hp' => $a['harga_pokok'], 'hj' => $a['harga_jual'] ); $idx++; } /* tutup hasil query */ $data->close(); } /* tutup koneksi */ $mysqli->close(); } /* cetak hasil */ echo json_encode($harray); } /** * * @param $kode * @param $nomor * @param $kd_supplier * @return unknown_type */ function cek_barang($kode, $nomor, $nofaktur) { if($kode != "" || $nomor != "") { $harray = array(); /* konfigurasi untuk koneksi ke database */ require_once("../db_login.inc.php"); $mysqli = new mysqli(HOST, USER, PASSWORD, DATABASE); if($nomor != "") { $data = $mysqli->query("SELECT count(*) FROM barang brg, no_barang nb, d_pembelian dp WHERE brg.id_gabungan = nb.id_gabungan AND brg.kode_barang = dp.kode_barang AND brg.kode_barang = '{$kode}' AND nb.nomor = '{$nomor}' AND dp.no_faktur = '{$nofaktur}'"); } else if($nomor == "") { $data = $mysqli->query("SELECT count(*) FROM barang brg WHERE brg.kode_barang = '{$kode}'"); } if($data->num_rows > 0) { $jum = $data->fetch_array(); if($jum[0] > 0) { $harray[0] = "true"; } else { $harray[0] = "false"; } /* tutup hasil query */ $data->close(); } else { $harray[0] = "false"; } /* tutup koneksi */ $mysqli->close(); } /* cetak hasil */ echo json_encode($harray); } /** * * @param $kode * @param $nama * @param $kd_supplier * @return unknown_type */ function cari_barang($kode, $nama) { if($kode != "" || $nama != "") { $harray = array(); /* konfigurasi untuk koneksi ke database */ require_once("../db_login.inc.php"); $mysqli = new mysqli(HOST, USER, PASSWORD, DATABASE); if($nama != "") { $data = $mysqli->query("SELECT DISTINCT brg.kode_barang, brg.nama_barang, nb.harga_pokok, nb.harga_jual, brg.kode_supplier, s.nama_supplier FROM barang brg, no_barang nb, d_pembelian dp, supplier s WHERE brg.id_gabungan = nb.id_gabungan AND brg.kode_barang = dp.kode_barang AND brg.kode_supplier = s.kd_supplier AND brg.nama_barang LIKE '%{$nama}%'"); } else if($nama == "") { $data = $mysqli->query("SELECT DISTINCT brg.kode_barang, brg.nama_barang, nb.harga_pokok, nb.harga_jual, brg.kode_supplier, s.nama_supplier FROM barang brg, no_barang nb, d_pembelian dp, supplier s WHERE brg.id_gabungan = nb.id_gabungan AND brg.kode_barang = dp.kode_barang AND brg.kode_supplier = s.kd_supplier AND brg.kode_barang LIKE '{$kode}%'"); } /* tampung jumlah data dalam var hasil */ $hasil = $data->num_rows; if($hasil > 0) { $idx = 0; while($a = $data->fetch_array(MYSQLI_ASSOC)) { $harray[$idx] = array( 'kode_barang' => $a['kode_barang'], 'nama_barang' => $a['nama_barang'], 'supplier' => $a['nama_supplier'], 'kd_supplier' => $a['kode_supplier'], 'hp' => $a['harga_pokok'], 'hj' => $a['harga_jual'] ); $idx++; } /* tutup hasil query */ $data->close(); } /* tutup koneksi */ $mysqli->close(); } /* cetak hasil */ echo json_encode($harray); } /** * * @param $kode * @param $nama * @return unknown_type */ function get_supplier($kode, $nama) { if($kode != "" || $nama != "") { $harray = array(); /* konfigurasi untuk koneksi ke database */ require_once("../db_login.inc.php"); $mysqli = new mysqli(HOST, USER, PASSWORD, DATABASE); if($nama != "") { $data = $mysqli->query("SELECT s.kd_supplier, s.nama_supplier FROM supplier s WHERE s.kd_supplier LIKE '%{$kode}%' AND s.nama_supplier LIKE '%{$nama}%'"); } else if($nama == "") { $data = $mysqli->query("SELECT s.kd_supplier, s.nama_supplier FROM supplier s WHERE s.kd_supplier LIKE '%{$kode}%'"); } /* tampung jumlah data dalam var hasil */ $hasil = $data->num_rows; if($hasil > 0) { $idx = 0; while($a = $data->fetch_array(MYSQLI_ASSOC)) { $harray[$idx] = array('kode_supplier' => $a['kd_supplier'], 'nama_supplier' => $a['nama_supplier']); $idx++; } /* tutup hasil query */ $data->close(); } /* tutup koneksi */ $mysqli->close(); } /* cetak hasil */ echo json_encode($harray); } /** * * @param $kodebarang * @return unknown_type */ function get_kode_faktur_asli($kodebarang) { $faktur = ""; if($kodebarang != "" ) { /* konfigurasi untuk koneksi ke database */ require_once("../db_login.inc.php"); $mysqli = new mysqli(HOST, USER, PASSWORD, DATABASE); $data = $mysqli->query("SELECT d.no_faktur FROM d_pembelian d WHERE d.kode_barang = '{$kodebarang}'"); if($data->num_rows > 0) { $faktur = $data->fetch_array(MYSQLI_NUM); $faktur = $faktur[0]; /* tutup hasil query */ $data->close(); } /* tutup koneksi */ $mysqli->close(); } return $faktur; } /** * * @param $data * @return unknown_type */ function hitung_total_hp($data, $stok) { $total = 0; for ($i = 0; $i < count($data); $i++) { $total += decode_hp($data[$i]) * $stok[$i]; } return $total; } /** * * @param $hp * @return int hasil decode */ function decode_hp($hp) { $dt = ""; for($i = 0; $i < strlen($hp); $i++) { $chr = substr($hp, $i, 1); switch($chr) { case "B" : $dt .= "1";break; case "R" : $dt .= "2";break; case "A" : $dt .= "3";break; case "W" : $dt .= "4";break; case "N" : $dt .= "5";break; case "F" : $dt .= "6";break; case "O" : $dt .= "7";break; case "X" : $dt .= "8";break; case "E" : $dt .= "9";break; case "S" : $dt .= "0";break; } } return (int) $dt; } ?>