/** * Tambah barang self checkout, qty selalu 1, karena tidak ada input qty di user interface :) * @param mysqli $link myqli link * @param string $clientIP ip address v4 dari client ybs * @param string $barcode barcode barang */ function tambahBarang($link, $clientIP, $barcode) { if ($barcode != '') { $qty = 1; /** * Cek apa barang sudah ada */ $resultBarang = mysqli_query($link, "SELECT sum(qty) qty from self_checkout_temp " . "WHERE ipv4 = '{$clientIP}' " . "AND barcode = '{$barcode}'") or die('Gagal ambil data barang ' . $barcode); /** * Jika barang sudah ada tambahkan qty nya, hapus yang sudah ada */ if ($resultBarang) { $barang = mysqli_fetch_array($resultBarang); $qty += $barang['qty']; mysqli_query($link, "DELETE FROM self_checkout_temp WHERE ipv4 = '{$clientIP}' AND barcode = '{$barcode}'") or die('Gagal hapus data barang ' . $barcode); } /** * Simpan barcode dan qty nya */ mysqli_query($link, "insert into self_checkout_temp (barcode, qty, harga_jual, ipv4)\n select barcode, {$qty} as qty, hargaJual, '{$clientIP}' as ipv4\n from barang\n where barcode = '{$barcode}'") or die('Gagal tambah barang ' . $barcode); $id = mysqli_insert_id($link); /** * cek diskon jika ada */ cekDiskon($link, $clientIP, $id, $barcode, $qty); } $return = array('sukses' => true); echo json_encode($return); }
function cekDiskonAdmin($uid, $barcode, $jumlah) { // Periksa apakah ada perubahan dari hargaJual asli // Jika ada berarti ada diskon manual dari admin $sql2 = "select b.hargaJual, tdj.hargaJual as hargaJualTdj, b.hargaJual-tdj.hargaJual as selisih " . "from barang b " . "join tmp_detail_jual tdj on tdj.barcode=b.barcode " . "where tdj.uid={$uid}"; $hasil = mysql_query($sql2) or die(mysql_error()); $selisih = mysql_fetch_array($hasil); if ($selisih['selisih'] != 0) { // PENTING!! Update diskon_detail_uids dengan uid dan value nya; mysql_query("update tmp_detail_jual set hargaJual= {$selisih['hargaJualTdj']}, diskon_detail_uids='{\"1\":{$selisih['selisih']}}', diskon_rupiah={$selisih['selisih']}, diskon_persen=0 where uid={$uid}") or die(mysql_error()); // mysql_query("update tmp_detail_jual set diskon_detail_uid=1 where uid=$uid") or die(mysql_error()); return true; } else { // Jika tidak ada selisih / tidak ada update dari hak Admin // Maka cekDiskon lagi mysql_query("update tmp_detail_jual set diskon_detail_uids=0, diskon_rupiah=0 where uid={$uid}") or die(mysql_error()); cekDiskon($uid, $barcode, $jumlah); return false; } }