shoutmix

11 November 2011

How to Stock

Mas, numpang tanya, mungkin bs dibantu problem saya.

Jadi saat order di approve oleh admin, maka data pada stok barang akan dikurangi dengan kuantitas pemesanan.
Ada 3 table.
tbl_barang
id | Nama_barang | Stok 1 | Barang A | 10 2 | Barang B | 10 3 | Barang C | 10 4 | Barang D | 10
tbl_order
id | kode_order 1 | ABCDE
tbl_order_detail
id | id_order |id_barang | qty 1 | 1 | 2 | 5 2 | 1 | 3 | 5 3 | 1 | 4 | 5
Jadi dalam 1 form, ada submit, saat ditekan, maka akan mengurangi semua stok sesuai tbl_order_detail.
Kira2 gimana model formnya sama proses saat di submitnya ya mas.
Pake
if($_POST['submit']}{
//proses
}
echo "<form action='' method='post'">;
$sql=mysql_query("SELECT * FROM blablabla inner join blablabala dst ");
while($sql=mysql_fetch_array($sql)){
echo "Anda memesan $data[nama_barang] sebanyak $data[qty]";
}
echo "<input type='submit' name='submit' value='Submit'/>";
echo "</form>";

Jawaban:
pikiran saya sebenarnya dimulai dari table dahulu . Didalam pemikiran saya adalah table transaksi. format (field) table transaksi adalah sebagai berikut:
trans_date Berisi tanggal dan waktu pengisian
trans_stat Berisi status dari transaksi. 
trans_by id user yang melakukan transaksi
sebenarnya transaksi yang kupikiran bukan terbatas pada jualan saja, tetapi pada pembelian dan juga pada pemesanan. kode-kode yang terpikirkan oleh saya adalah
  • pembelian (kode 1)
  • pemesanan (kode 2)
  • penjualan (kode 3)
  • pembatalan (kode 4)
  • pemrosesan (kode 0)
nantinya di transaksi akan banyak proses sesuai tulisan di atas. Tetapi perhatikan 2 tipe kode di atas, ada 2 tipe kode yang harus diperhatikan yaitu kode 1 dan 3. dimana kode 1 akan menambah jumlah barang dan kode 3 akan mengurangi jumlah barang.
Selain urusan kode, sebenarnya table transaksi tidak berdiri sendiri, dia membutuhkan table trans_item yang berisi
nama field keterangan
ti_item berisi id yang dapat dilihat di table item
ti_jumlah berisi berapa jumlah yang di proses
ti_trans berisi id transaksi
untuk menghitung jumlah barang, dilakukan dengan menghitung semua transaksi item(ti_item) yang memiliki status pembelian (kode 1) lalu dikurangi dengan yang memiliki status penjualan (kode 3). atau mudahnya dalam bentuk sql
sql="select * from trans_item, trans where ti_trans=trans_id and trans_stat=1 and ti_item=4"; //dimana item yg kita ambil memiliki id 4
//menghitung berapa jumlah item berdasarkan format disini dan kita dapat N0
sql="select * from trans_item, trans where ti_trans=trans_id and trans_stat=3 and ti_item=4"; //dimana item yg kita ambil memiliki id 4
//menghitung berapa jumlah item berdasarkan format disini dan kita dapat N1
echo "jumlah item=".(N0-N1)
yang anda harus lakukan adalah memastikan bahwa trans_stat berada pada posisi tepat. kalau dibuat flownya.. maka akan ada flow
  • pembelian. maka trans_stat = 1
  • ada user masuk dan melakukan pemesanan, tetapi dia masih milih-milih jadi trans_stat=0
  • sudah melakukan check_list dan OK.. maka trans tadi di ubah jadi trans_stat=2
  • setelah kita baca.. dan di approve maka trans_stat=5.. LHO KOK 5?!? ini sebenarnya barang belum tentu yakin keluar, jadi kita bikin barangnya Approve dahulu tp belum terkirim
  • saat sudah di approve dan dikirim barulah di ubah jadi trans_stat=3 yang berarti barang / item akan berkurang
biasanya kode 5 tidak terpakai, tetapi bila nanti kedepannya programnya eh wilayahnya sudah luas dan memakai multi user! dimana yg approve dan yang memastikan barang keluar orangnya berbeda, barulah ini digunakan.

0 komentar:

Posting Komentar

Powered By Blogger