You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

66 lines
2.1 KiB
PHP

<?php
session_start();
if($_SESSION['validUser'] !== TRUE)
{
header("location: ./index.php");
exit();
}
if(isset($_POST['tgltransfer']) && isset($_POST['idtransfer']))
{
$harray = array();
require_once("../db_login.inc.php");
$tgl_transfer = substr($_POST['tgltransfer'],6,4)."-".substr($_POST['tgltransfer'],3,2)."-".substr($_POST['tgltransfer'],0,2);
$faktur_oper = $_POST['fakturoper'];
$id_transfer = $_POST['idtransfer'];
$hasil = 0;
$mysqli = new mysqli(HOST, USER, PASSWORD, DATABASE);
if(!mysqli_connect_errno())
{
// isi table transfer
$stmt = $mysqli->prepare("UPDATE m_transfer_kembali SET validasi = '1' WHERE faktur_oper = ?");
$stmt->bind_param("s", $faktur_oper);
$stmt->execute();
if($stmt->affected_rows > 0)
$hasil = 1;
else
$hasil = 0;
$stmt->close();
// ambil barang yang akan diupdate stok nya.
$barang = array();
$dataBarang = $mysqli->query("SELECT dt.jumlah, dt.nomor, br.id_gabungan
FROM d_transfer_kembali dt, m_transfer_kembali mt, barang br, no_barang n
WHERE dt.id_transfer = mt.id_transfer
AND br.id_gabungan = n.id_gabungan
AND (dt.kode_barang_nota = br.kode_barang AND dt.nomor = n.nomor)
AND mt.id_transfer = $id_transfer
AND mt.validasi = '1'
");
$jumBarang = $dataBarang->num_rows;
if($jumBarang > 0)
{
$idx = 0;
while($db = $dataBarang->fetch_array(MYSQLI_ASSOC))
{
$barang[$idx] = array('id_gabungan' => $db['id_gabungan'], 'jumlah' => $db['jumlah'], 'nomor' => $db['nomor']);
$idx++;
}
/* tutup hasil query */
$dataBarang->close();
}
// update stok
for($i=0; $i<$jumBarang; $i++)
{
// update stok barang
$stmt = $mysqli->prepare("UPDATE no_barang SET stok = stok+? WHERE id_gabungan = ? AND nomor = ?");
$stmt->bind_param("iss",$barang[$i]['jumlah'], $barang[$i]['id_gabungan'], $barang[$i]['nomor']);
$stmt->execute();
$stmt->close();
}
}
$harray = array('hasil' => $hasil);
echo json_encode($harray);
}