update promo karena duplikat record
This commit is contained in:
+26
-27
@@ -162,7 +162,7 @@ function Promo_Hapus($no_nota="", $tgl_nota="") {
|
|||||||
|
|
||||||
$fdb->Query("SELECT * FROM inv_detail WHERE No_Ref='".$no_nota."' AND Promo IN (1,2,3)");
|
$fdb->Query("SELECT * FROM inv_detail WHERE No_Ref='".$no_nota."' AND Promo IN (1,2,3)");
|
||||||
while ($fdb->Next()) {
|
while ($fdb->Next()) {
|
||||||
$tdb->Query("UPDATE inv_promo SET Jumlah_Proses=Jumlah_Proses-'".abs($fdb->Row("Qty"))."' WHERE Promo_InvID='".$fdb->Row("InvID")."' AND Promo_SatuanID='".$fdb->Row("SatuanID")."' AND CabID IN (0,'".$_SESSION['__APP_INV']['CABANGID']."') AND Tipe_Promo='".$fdb->Row("Promo")."' AND Tgl_Mulai<='".$tgl_nota."' AND Tgl_Akhir>='".$tgl_nota."'");
|
$tdb->Query("UPDATE inv_promo SET Jumlah_Proses=Jumlah_Proses-'".abs($fdb->Row("Qty"))."' WHERE Promo_InvID='".$fdb->Row("InvID")."' AND Promo_SatuanID='".$fdb->Row("SatuanID")."' AND CabID IN (0,'".$_SESSION['__APP_INV']['CABANGID']."') AND Tipe_Promo='".$fdb->Row("Promo")."' AND Tgl_Mulai<='".$tgl_nota."' AND Tgl_Akhir>='".$tgl_nota."' ORDER BY PromoID DESC LIMIT 1");
|
||||||
}
|
}
|
||||||
unset($tdb);
|
unset($tdb);
|
||||||
}
|
}
|
||||||
@@ -176,30 +176,33 @@ function Promo_Barang($no_nota="", $tgl_nota="") {
|
|||||||
$apromo = [];
|
$apromo = [];
|
||||||
$fdb->Query("SELECT * FROM tmp_inv_detail WHERE No_Ref='".$no_nota."' AND Unix='".user_unix()."' AND Promo IN (1,2)");
|
$fdb->Query("SELECT * FROM tmp_inv_detail WHERE No_Ref='".$no_nota."' AND Unix='".user_unix()."' AND Promo IN (1,2)");
|
||||||
while ($fdb->Next()) {
|
while ($fdb->Next()) {
|
||||||
$tdb->Query("UPDATE inv_promo SET Jumlah_Proses=Jumlah_Proses-'".abs($fdb->Row("Qty"))."' WHERE Promo_InvID='".$fdb->Row("InvID")."' AND Promo_SatuanID='".$fdb->Row("SatuanID")."' AND CabID IN (0,'".$_SESSION['__APP_INV']['CABANGID']."') AND Tipe_Promo='".$fdb->Row("Promo")."' AND Tgl_Mulai<='".$tgl_nota."' AND Tgl_Akhir>='".$tgl_nota."'");
|
$tdb->Query("UPDATE inv_promo SET Jumlah_Proses=Jumlah_Proses-'".abs($fdb->Row("Qty"))."' WHERE Promo_InvID='".$fdb->Row("InvID")."' AND Promo_SatuanID='".$fdb->Row("SatuanID")."' AND CabID IN (0,'".$_SESSION['__APP_INV']['CABANGID']."') AND Tipe_Promo='".$fdb->Row("Promo")."' AND Tgl_Mulai<='".$tgl_nota."' AND Tgl_Akhir>='".$tgl_nota."' ORDER BY PromoID DESC LIMIT 1");
|
||||||
if ($fdb->Row("Promo")==1) $tdb->Query("UPDATE tmp_inv_detail SET Disk_Rupiah=0,Total_Diskon=0,Promo=0 WHERE No_Ref='".$no_nota."' AND Unix='".user_unix()."' AND ID='".$fdb->Row("ID")."'");
|
if ($fdb->Row("Promo")==1) $tdb->Query("UPDATE tmp_inv_detail SET Disk_Rupiah=0,Total_Diskon=0,Promo=0 WHERE No_Ref='".$no_nota."' AND Unix='".user_unix()."' AND ID='".$fdb->Row("ID")."'");
|
||||||
if ($fdb->Row("Promo")==2) $tdb->Query("DELETE FROM tmp_inv_detail WHERE No_Ref='".$no_nota."' AND Unix='".user_unix()."' AND ID='".$fdb->Row("ID")."'");
|
if ($fdb->Row("Promo")==2) $tdb->Query("DELETE FROM tmp_inv_detail WHERE No_Ref='".$no_nota."' AND Unix='".user_unix()."' AND ID='".$fdb->Row("ID")."'");
|
||||||
}
|
}
|
||||||
|
|
||||||
$fdb->Query("SELECT *,(Jumlah_Promo-Jumlah_Proses) Jumlah_Sisa FROM inv_promo WHERE Aktif=1 AND CabID IN (0,'".$_SESSION['__APP_INV']['CABANGID']."') AND Tipe_Promo IN (1,2) AND (Jumlah_Promo-Jumlah_Proses)>0 AND Tgl_Mulai<='".$tgl_nota."' AND Tgl_Akhir>='".$tgl_nota."' AND CONCAT(InvID,':',SatuanID) IN (SELECT CONCAT(InvID,':',SatuanID) FROM tmp_inv_detail WHERE No_Ref='".$no_nota."' AND Unix='".user_unix()."')");
|
$fdb->Query("SELECT *,(Jumlah_Promo-Jumlah_Proses) Jumlah_Sisa FROM inv_promo WHERE Aktif=1 AND CabID IN (0,'".$_SESSION['__APP_INV']['CABANGID']."') AND Tipe_Promo IN (1,2) AND (Jumlah_Promo-Jumlah_Proses)>0 AND Tgl_Mulai<='".$tgl_nota."' AND Tgl_Akhir>='".$tgl_nota."' AND CONCAT(InvID,':',SatuanID) IN (SELECT CONCAT(InvID,':',SatuanID) FROM tmp_inv_detail WHERE No_Ref='".$no_nota."' AND Unix='".user_unix()."') ORDER BY PromoID DESC");
|
||||||
if ($fdb->RecordCount()==0) return false;
|
if ($fdb->RecordCount()==0) return false;
|
||||||
while ($fdb->Next()) $apromo[] = $fdb->AllRow();
|
while ($fdb->Next()) $apromo[] = $fdb->AllRow();
|
||||||
|
|
||||||
|
$aitem_promo = [];
|
||||||
foreach($apromo as $_key => $val) {
|
foreach($apromo as $_key => $val) {
|
||||||
if ($val['Tipe_Promo']==1) {//1 potongan diskon
|
if (in_array($val['InvID'].":".$val['SatuanID'], $aitem_promo)) continue;
|
||||||
|
|
||||||
$adetail = []; $aitem = [];
|
$adetail = []; $aitem = [];
|
||||||
$fdb->Query("SELECT COUNT(*) Item,SUM(-Qty) Qty,ID FROM tmp_inv_detail WHERE No_Ref='".$no_nota."' AND Unix='".user_unix()."' AND InvID='".$val['InvID']."' AND SatuanID='".$val['SatuanID']."' ORDER BY ID");
|
$fdb->Query("SELECT COUNT(*) Item,SUM(-Qty) Qty,ID FROM tmp_inv_detail WHERE No_Ref='".$no_nota."' AND Unix='".user_unix()."' AND InvID='".$val['InvID']."' AND SatuanID='".$val['SatuanID']."' ORDER BY ID");
|
||||||
if ($fdb->Next()) $adetail = $fdb->AllRow();
|
if ($fdb->Next()) $adetail = $fdb->AllRow();
|
||||||
$fdb->Query("SELECT * FROM tmp_inv_detail WHERE No_Ref='".$no_nota."' AND Unix='".user_unix()."' AND InvID='".$val['InvID']."' AND SatuanID='".$val['SatuanID']."' AND ID='".$adetail['ID']."'");
|
$fdb->Query("SELECT * FROM tmp_inv_detail WHERE No_Ref='".$no_nota."' AND Unix='".user_unix()."' AND InvID='".$val['InvID']."' AND SatuanID='".$val['SatuanID']."' AND ID='".$adetail['ID']."'");
|
||||||
if ($fdb->Next()) $aitem = $fdb->AllRow();
|
if ($fdb->Next()) $aitem = $fdb->AllRow();
|
||||||
|
|
||||||
|
if ($val['Tipe_Promo']==1) {//1 potongan diskon
|
||||||
$bpromo = false;
|
$bpromo = false;
|
||||||
if ($val['Pilih_Qty']==1 && $val['Qty_Min']<=$adetail['Qty']) {//minimum & masuk limit
|
if ($val['Pilih_Qty']==1 && $val['Qty_Min']<=$adetail['Qty']) {//minimum & masuk limit
|
||||||
$bpromo = true;
|
$bpromo = true;
|
||||||
$qty_promo = ($adetail['Qty']<=$val['Jumlah_Sisa']) ? $adetail['Qty'] : $val['Jumlah_Sisa'];
|
$qty_promo = ($adetail['Qty']<=$val['Jumlah_Sisa']) ? $adetail['Qty'] : $val['Jumlah_Sisa'];
|
||||||
} else if ($val['Pilih_Qty']==2 && $val['Qty_Kali']<=$adetail['Qty']) {//kelipatan
|
} else if ($val['Pilih_Qty']==2 && $val['Qty_Kali']<=$adetail['Qty']) {//kelipatan
|
||||||
$bpromo = true;
|
$bpromo = true;
|
||||||
$qty_promo = floor($adetail['Qty']/$val['Qty_Kali']) * $val['Qty_Kali'];
|
$qty_promo = floor($adetail['Qty']/$val['Qty_Kali']);
|
||||||
$qty_promo = ($qty_promo<=$val['Jumlah_Sisa']) ? $qty_promo : $val['Jumlah_Sisa'];
|
$qty_promo = ($qty_promo<=$val['Jumlah_Sisa']) ? $qty_promo : $val['Jumlah_Sisa'];
|
||||||
}
|
}
|
||||||
if ($bpromo == true) {
|
if ($bpromo == true) {
|
||||||
@@ -231,12 +234,6 @@ function Promo_Barang($no_nota="", $tgl_nota="") {
|
|||||||
$tdb->Query("UPDATE inv_promo SET Jumlah_Proses=Jumlah_Proses+".$qty_promo." WHERE PromoID='".$val['PromoID']."'");
|
$tdb->Query("UPDATE inv_promo SET Jumlah_Proses=Jumlah_Proses+".$qty_promo." WHERE PromoID='".$val['PromoID']."'");
|
||||||
}
|
}
|
||||||
} else {//2 promo barang
|
} else {//2 promo barang
|
||||||
$adetail = []; $adisc = [];
|
|
||||||
$fdb->Query("SELECT COUNT(*) Item,SUM(-Qty) Qty,ID FROM tmp_inv_detail WHERE No_Ref='".$no_nota."' AND Unix='".user_unix()."' AND InvID='".$val['InvID']."' AND SatuanID='".$val['SatuanID']."' ORDER BY ID");
|
|
||||||
if ($fdb->Next()) $adetail = $fdb->AllRow();
|
|
||||||
$fdb->Query("SELECT * FROM tmp_inv_detail WHERE No_Ref='".$no_nota."' AND Unix='".user_unix()."' AND InvID='".$val['InvID']."' AND SatuanID='".$val['SatuanID']."' AND ID='".$adetail['ID']."'");
|
|
||||||
if ($fdb->Next()) $adisc = $fdb->AllRow();
|
|
||||||
|
|
||||||
$bpromo = false;
|
$bpromo = false;
|
||||||
if ($val['Pilih_Qty']==1 && $val['Qty_Min']<=$adetail['Qty']) {//minimum & masuk limit
|
if ($val['Pilih_Qty']==1 && $val['Qty_Min']<=$adetail['Qty']) {//minimum & masuk limit
|
||||||
$bpromo = true;
|
$bpromo = true;
|
||||||
@@ -249,21 +246,22 @@ function Promo_Barang($no_nota="", $tgl_nota="") {
|
|||||||
if ($bpromo == true && $qty_promo>0) {
|
if ($bpromo == true && $qty_promo>0) {
|
||||||
$fdb->Query("SELECT P.InvID,P.SatuanID,P.Qty,P.Harga_Pokok,P.Harga_Jual FROM vi_inv_produk P WHERE P.InvID='".$val['Promo_InvID']."' AND P.SatuanID='".$val['Promo_SatuanID']."' LIMIT 1");
|
$fdb->Query("SELECT P.InvID,P.SatuanID,P.Qty,P.Harga_Pokok,P.Harga_Jual FROM vi_inv_produk P WHERE P.InvID='".$val['Promo_InvID']."' AND P.SatuanID='".$val['Promo_SatuanID']."' LIMIT 1");
|
||||||
if ($fdb->Next()) {
|
if ($fdb->Next()) {
|
||||||
$adisc['InvID'] = $val['Promo_InvID'];
|
$aitem['InvID'] = $val['Promo_InvID'];
|
||||||
$adisc['SatuanID'] = $val['Promo_SatuanID'];
|
$aitem['SatuanID'] = $val['Promo_SatuanID'];
|
||||||
$adisc['Qty'] = $qty_promo * -1;
|
$aitem['Qty'] = $qty_promo * -1;
|
||||||
$adisc['Stok'] = $qty_promo * $fdb->Row("Qty", 1) * -1;
|
$aitem['Stok'] = $qty_promo * $fdb->Row("Qty", 1) * -1;
|
||||||
$adisc['Harga_Beli'] = $fdb->Row("Harga_Pokok", 0);
|
$aitem['Harga_Beli'] = $fdb->Row("Harga_Pokok", 0);
|
||||||
$adisc['Harga_Jual'] = $fdb->Row("Harga_Jual", 0);
|
$aitem['Harga_Jual'] = $fdb->Row("Harga_Jual", 0);
|
||||||
$adisc['Disk_Rupiah'] = $adisc['Harga_Jual'];
|
$aitem['Disk_Rupiah'] = $aitem['Harga_Jual'];
|
||||||
$adisc['Total_Diskon'] = $qty_promo * $adisc['Harga_Jual'];
|
$aitem['Total_Diskon'] = $qty_promo * $aitem['Harga_Jual'];
|
||||||
$adisc['Promo'] = 2;
|
$aitem['Promo'] = 2;
|
||||||
unset($adisc['ID']);
|
unset($aitem['ID']);
|
||||||
fastInsert("tmp_inv_detail", $adisc);
|
fastInsert("tmp_inv_detail", $aitem);
|
||||||
}
|
}
|
||||||
$tdb->Query("UPDATE inv_promo SET Jumlah_Proses=Jumlah_Proses+".$qty_promo." WHERE PromoID='".$val['PromoID']."'");
|
$tdb->Query("UPDATE inv_promo SET Jumlah_Proses=Jumlah_Proses+".$qty_promo." WHERE PromoID='".$val['PromoID']."'");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
$aitem_promo[] = $val['InvID'].":".$val['SatuanID'];
|
||||||
}
|
}
|
||||||
unset($tdb);
|
unset($tdb);
|
||||||
}
|
}
|
||||||
@@ -337,12 +335,13 @@ function Promo_Hitung($no_nota="", $tgl_nota="") {
|
|||||||
if ($fdb->RecordCount()>0) {
|
if ($fdb->RecordCount()>0) {
|
||||||
while ($fdb->Next()) $apromo[] = $fdb->AllRow();
|
while ($fdb->Next()) $apromo[] = $fdb->AllRow();
|
||||||
|
|
||||||
|
$aitem_promo = [];
|
||||||
foreach($apromo as $_key => $val) {
|
foreach($apromo as $_key => $val) {
|
||||||
$adetail = $aitem = array();
|
if (in_array($val['InvID'].":".$val['SatuanID'], $aitem_promo)) continue;
|
||||||
|
|
||||||
|
$adetail = [];
|
||||||
$fdb->Query("SELECT COUNT(*) Item,SUM(-Qty) Qty,ID FROM tmp_inv_detail WHERE No_Ref='".$no_nota."' AND Unix='".user_unix()."' AND InvID='".$val['InvID']."' AND SatuanID='".$val['SatuanID']."' ORDER BY ID");
|
$fdb->Query("SELECT COUNT(*) Item,SUM(-Qty) Qty,ID FROM tmp_inv_detail WHERE No_Ref='".$no_nota."' AND Unix='".user_unix()."' AND InvID='".$val['InvID']."' AND SatuanID='".$val['SatuanID']."' ORDER BY ID");
|
||||||
if ($fdb->Next()) $adetail = $fdb->AllRow();
|
if ($fdb->Next()) $adetail = $fdb->AllRow();
|
||||||
$fdb->Query("SELECT * FROM tmp_inv_detail WHERE No_Ref='".$no_nota."' AND Unix='".user_unix()."' AND InvID='".$val['InvID']."' AND SatuanID='".$val['SatuanID']."' AND ID='".$adetail['ID']."'");
|
|
||||||
if ($fdb->Next()) $aitem = $fdb->AllRow();
|
|
||||||
|
|
||||||
$bpromo = false;
|
$bpromo = false;
|
||||||
if ($val['Pilih_Qty']==1 && $val['Qty_Min']<=$adetail['Qty']) {//minimum & masuk limit
|
if ($val['Pilih_Qty']==1 && $val['Qty_Min']<=$adetail['Qty']) {//minimum & masuk limit
|
||||||
@@ -350,10 +349,11 @@ function Promo_Hitung($no_nota="", $tgl_nota="") {
|
|||||||
$qty_promo = ($adetail['Qty']<=$val['Jumlah_Sisa']) ? $adetail['Qty'] : $val['Jumlah_Sisa'];
|
$qty_promo = ($adetail['Qty']<=$val['Jumlah_Sisa']) ? $adetail['Qty'] : $val['Jumlah_Sisa'];
|
||||||
} else if ($val['Pilih_Qty']==2 && $val['Qty_Kali']<=$adetail['Qty']) {//kelipatan
|
} else if ($val['Pilih_Qty']==2 && $val['Qty_Kali']<=$adetail['Qty']) {//kelipatan
|
||||||
$bpromo = true;
|
$bpromo = true;
|
||||||
$qty_promo = floor($adetail['Qty']/$val['Qty_Kali']) * $val['Qty_Kali'];
|
$qty_promo = floor($adetail['Qty']/$val['Qty_Kali']);
|
||||||
$qty_promo = ($qty_promo<=$val['Jumlah_Sisa']) ? $qty_promo : $val['Jumlah_Sisa'];
|
$qty_promo = ($qty_promo<=$val['Jumlah_Sisa']) ? $qty_promo : $val['Jumlah_Sisa'];
|
||||||
}
|
}
|
||||||
$tot_promo += ($bpromo == true) ? ($qty_promo * $val['Promo_Disc']) : 0;
|
$tot_promo += ($bpromo == true) ? ($qty_promo * $val['Promo_Disc']) : 0;
|
||||||
|
$aitem_promo[] = $val['InvID'].":".$val['SatuanID'];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -362,7 +362,6 @@ function Promo_Hitung($no_nota="", $tgl_nota="") {
|
|||||||
if ($fdb->RecordCount()>0) {
|
if ($fdb->RecordCount()>0) {
|
||||||
while ($fdb->Next()) $apromo[] = $fdb->AllRow();
|
while ($fdb->Next()) $apromo[] = $fdb->AllRow();
|
||||||
|
|
||||||
$tot_potong = 0;
|
|
||||||
foreach($apromo as $_key => $val) {
|
foreach($apromo as $_key => $val) {
|
||||||
$tot_jual = 0;
|
$tot_jual = 0;
|
||||||
$tdb->Query("SELECT SUM((-D.Qty*D.Harga_Jual)+D.Total_Diskon) Total FROM tmp_inv_detail D LEFT JOIN (SELECT P.InvID,P.Grup_InvID FROM inv_produk P WHERE P.Grup_InvID IN (".$val['Jual_Grup'].")) P ON (P.InvID=D.InvID) WHERE D.No_Ref='".$no_nota."' AND D.Unix='".user_unix()."' AND P.Grup_InvID IN (".$val['Jual_Grup'].")");
|
$tdb->Query("SELECT SUM((-D.Qty*D.Harga_Jual)+D.Total_Diskon) Total FROM tmp_inv_detail D LEFT JOIN (SELECT P.InvID,P.Grup_InvID FROM inv_produk P WHERE P.Grup_InvID IN (".$val['Jual_Grup'].")) P ON (P.InvID=D.InvID) WHERE D.No_Ref='".$no_nota."' AND D.Unix='".user_unix()."' AND P.Grup_InvID IN (".$val['Jual_Grup'].")");
|
||||||
|
|||||||
Reference in New Issue
Block a user