update promo karena duplikat record
This commit is contained in:
+32
-33
@@ -210,7 +210,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)");
|
||||
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);
|
||||
}
|
||||
@@ -224,30 +224,33 @@ function Promo_Barang($no_nota="", $tgl_nota="") {
|
||||
$apromo = [];
|
||||
$fdb->Query("SELECT * FROM tmp_inv_detail WHERE No_Ref='".$no_nota."' AND Unix='".user_unix()."' AND Promo IN (1,2)");
|
||||
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")==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;
|
||||
while ($fdb->Next()) $apromo[] = $fdb->AllRow();
|
||||
|
||||
$aitem_promo = [];
|
||||
foreach($apromo as $_key => $val) {
|
||||
if ($val['Tipe_Promo']==1) {//1 potongan diskon
|
||||
$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");
|
||||
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();
|
||||
if (in_array($val['InvID'].":".$val['SatuanID'], $aitem_promo)) continue;
|
||||
|
||||
$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");
|
||||
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();
|
||||
|
||||
if ($val['Tipe_Promo']==1) {//1 potongan diskon
|
||||
$bpromo = false;
|
||||
if ($val['Pilih_Qty']==1 && $val['Qty_Min']<=$adetail['Qty']) {//minimum & masuk limit
|
||||
$bpromo = true;
|
||||
$qty_promo = ($adetail['Qty']<=$val['Jumlah_Sisa']) ? $adetail['Qty'] : $val['Jumlah_Sisa'];
|
||||
} else if ($val['Pilih_Qty']==2 && $val['Qty_Kali']<=$adetail['Qty']) {//kelipatan
|
||||
$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'];
|
||||
}
|
||||
if ($bpromo == true) {
|
||||
@@ -279,12 +282,6 @@ function Promo_Barang($no_nota="", $tgl_nota="") {
|
||||
$tdb->Query("UPDATE inv_promo SET Jumlah_Proses=Jumlah_Proses+".$qty_promo." WHERE PromoID='".$val['PromoID']."'");
|
||||
}
|
||||
} 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;
|
||||
if ($val['Pilih_Qty']==1 && $val['Qty_Min']<=$adetail['Qty']) {//minimum & masuk limit
|
||||
$bpromo = true;
|
||||
@@ -297,21 +294,22 @@ function Promo_Barang($no_nota="", $tgl_nota="") {
|
||||
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");
|
||||
if ($fdb->Next()) {
|
||||
$adisc['InvID'] = $val['Promo_InvID'];
|
||||
$adisc['SatuanID'] = $val['Promo_SatuanID'];
|
||||
$adisc['Qty'] = $qty_promo * -1;
|
||||
$adisc['Stok'] = $qty_promo * $fdb->Row("Qty", 1) * -1;
|
||||
$adisc['Harga_Beli'] = $fdb->Row("Harga_Pokok", 0);
|
||||
$adisc['Harga_Jual'] = $fdb->Row("Harga_Jual", 0);
|
||||
$adisc['Disk_Rupiah'] = $adisc['Harga_Jual'];
|
||||
$adisc['Total_Diskon'] = $qty_promo * $adisc['Harga_Jual'];
|
||||
$adisc['Promo'] = 2;
|
||||
unset($adisc['ID']);
|
||||
fastInsert("tmp_inv_detail", $adisc);
|
||||
$aitem['InvID'] = $val['Promo_InvID'];
|
||||
$aitem['SatuanID'] = $val['Promo_SatuanID'];
|
||||
$aitem['Qty'] = $qty_promo * -1;
|
||||
$aitem['Stok'] = $qty_promo * $fdb->Row("Qty", 1) * -1;
|
||||
$aitem['Harga_Beli'] = $fdb->Row("Harga_Pokok", 0);
|
||||
$aitem['Harga_Jual'] = $fdb->Row("Harga_Jual", 0);
|
||||
$aitem['Disk_Rupiah'] = $aitem['Harga_Jual'];
|
||||
$aitem['Total_Diskon'] = $qty_promo * $aitem['Harga_Jual'];
|
||||
$aitem['Promo'] = 2;
|
||||
unset($aitem['ID']);
|
||||
fastInsert("tmp_inv_detail", $aitem);
|
||||
}
|
||||
$tdb->Query("UPDATE inv_promo SET Jumlah_Proses=Jumlah_Proses+".$qty_promo." WHERE PromoID='".$val['PromoID']."'");
|
||||
}
|
||||
}
|
||||
$aitem_promo[] = $val['InvID'].":".$val['SatuanID'];
|
||||
}
|
||||
unset($tdb);
|
||||
}
|
||||
@@ -381,16 +379,17 @@ function Promo_Hitung($no_nota="", $tgl_nota="") {
|
||||
$tot_promo = 0;
|
||||
|
||||
$apromo = [];
|
||||
$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=1 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()."' AND Promo NOT IN (2,3))");
|
||||
$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=1 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()."' AND Promo NOT IN (2,3)) ORDER BY PromoID DESC");
|
||||
if ($fdb->RecordCount()>0) {
|
||||
while ($fdb->Next()) $apromo[] = $fdb->AllRow();
|
||||
|
||||
$aitem_promo = [];
|
||||
foreach($apromo as $_key => $val) {
|
||||
$adetail = []; $aitem = [];
|
||||
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");
|
||||
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;
|
||||
if ($val['Pilih_Qty']==1 && $val['Qty_Min']<=$adetail['Qty']) {//minimum & masuk limit
|
||||
@@ -398,10 +397,11 @@ function Promo_Hitung($no_nota="", $tgl_nota="") {
|
||||
$qty_promo = ($adetail['Qty']<=$val['Jumlah_Sisa']) ? $adetail['Qty'] : $val['Jumlah_Sisa'];
|
||||
} else if ($val['Pilih_Qty']==2 && $val['Qty_Kali']<=$adetail['Qty']) {//kelipatan
|
||||
$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'];
|
||||
}
|
||||
$tot_promo += ($bpromo == true) ? ($qty_promo * $val['Promo_Disc']) : 0;
|
||||
$aitem_promo[] = $val['InvID'].":".$val['SatuanID'];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -410,7 +410,6 @@ function Promo_Hitung($no_nota="", $tgl_nota="") {
|
||||
if ($fdb->RecordCount()>0) {
|
||||
while ($fdb->Next()) $apromo[] = $fdb->AllRow();
|
||||
|
||||
$tot_potong = 0;
|
||||
foreach($apromo as $_key => $val) {
|
||||
$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'].")");
|
||||
|
||||
Reference in New Issue
Block a user