promotion

This commit is contained in:
Myat Zin Wai Maw
2019-07-22 16:01:03 +06:30
parent d566c1edb0
commit 4a640263e4

View File

@@ -160,8 +160,10 @@ class Promotion < ApplicationRecord
price =0 price =0
source ='' source =''
sale_order.each do|order| sale_order.each do|order|
item = OrderItem.where("item_instance_code = ? and order_id = ?",orderitem[:item_instance_code],order.order_id).first
source = Order.find(order.order_id).source source = Order.find(order.order_id).source
end
item = OrderItem.where("item_instance_code = ?",orderitem[:item_instance_code]).order("order_items_id DESC").first
item ={ item ={
item_code:item.item_code, item_code:item.item_code,
item_instance_code:item.item_instance_code, item_instance_code:item.item_instance_code,
@@ -170,12 +172,12 @@ class Promotion < ApplicationRecord
account_id:item.account_id, account_id:item.account_id,
price:item.price price:item.price
} }
end
if promo_product.downcase != item[:item_instance_code] if promo_product.downcase != item[:item_instance_code]
sale_order.each do|order| sale_order.each do|order|
item = OrderItem.where("item_code = ? and order_id = ?",promo_product,order.order_id).first
source = Order.find(order.order_id).source source = Order.find(order.order_id).source
end
item = OrderItem.where("item_code = ?",promo_product).order("order_items_id DESC").first
item ={ item ={
item_code:item.item_code, item_code:item.item_code,
item_instance_code:item.item_instance_code, item_instance_code:item.item_instance_code,
@@ -185,7 +187,6 @@ class Promotion < ApplicationRecord
price:item.price price:item.price
} }
end end
end
if !item.nil? if !item.nil?
update_existing_item(foc_qty, item, sale_id, "promotion", item[:price],source) update_existing_item(foc_qty, item, sale_id, "promotion", item[:price],source)
end end
@@ -204,9 +205,9 @@ class Promotion < ApplicationRecord
sale_order =SaleOrder.where("sale_id=?",sale_id) sale_order =SaleOrder.where("sale_id=?",sale_id)
price =0 price =0
sale_order.each do|order| sale_order.each do|order|
item = OrderItem.where("item_instance_code = ? and order_id = ?",orderitem[:item_instance_code],order.order_id).first
price +=item.price
source = Order.find(order.order_id).source source = Order.find(order.order_id).source
end
item = OrderItem.where("item_instance_code = ?",orderitem[:item_instance_code]).order("order_items_id DESC").first
item ={ item ={
item_code:item.item_code, item_code:item.item_code,
item_instance_code:item.item_instance_code, item_instance_code:item.item_instance_code,
@@ -215,11 +216,10 @@ class Promotion < ApplicationRecord
account_id:item.account_id, account_id:item.account_id,
price:item.price price:item.price
} }
end
# item = OrderItem.where("item_instance_code = '#{promo_product}' and order_id = '#{orderitem[0][1]}'").first # item = OrderItem.where("item_instance_code = '#{promo_product}' and order_id = '#{orderitem[0][1]}'").first
if !item.nil? if !item.nil?
# source = Order.find(item.order_id).source # source = Order.find(item.order_id).source
update_existing_item(promotion_qty, item, sale_id, "promotion", item.price,source) update_existing_item(promotion_qty, item, sale_id, "promotion", item[:price],source)
end end
end end
@@ -264,9 +264,9 @@ class Promotion < ApplicationRecord
price =0 price =0
sale_order.each do|order| sale_order.each do|order|
item = OrderItem.where("item_instance_code = ? and order_id = ?",orderitem[:item_instance_code],order.order_id).first
price +=item.price
source = Order.find(order.order_id).source source = Order.find(order.order_id).source
end
item = OrderItem.where("item_instance_code = ?",orderitem[:item_instance_code]).order("order_items_id DESC").first
item ={ item ={
item_code:item.item_code, item_code:item.item_code,
item_instance_code:item.item_instance_code, item_instance_code:item.item_instance_code,
@@ -275,7 +275,6 @@ class Promotion < ApplicationRecord
account_id:item.account_id, account_id:item.account_id,
price:item.price price:item.price
} }
end
# item = OrderItem.where("item_instance_code = '#{orderitem[0][0]}' and order_id = '#{orderitem[0][1]}'").first # item = OrderItem.where("item_instance_code = '#{orderitem[0][0]}' and order_id = '#{orderitem[0][1]}'").first
if !item.nil? if !item.nil?
# source = Order.find(item.order_id).source # source = Order.find(item.order_id).source
@@ -288,8 +287,9 @@ class Promotion < ApplicationRecord
# item = OrderItem.find_by_item_instance_code(promo_product.item_code) # item = OrderItem.find_by_item_instance_code(promo_product.item_code)
# item = OrderItem.where("item_instance_code = '#{promo_product.item_code}' and order_id = '#{orderitem[0][1]}'").first # item = OrderItem.where("item_instance_code = '#{promo_product.item_code}' and order_id = '#{orderitem[0][1]}'").first
sale_order.each do|order| sale_order.each do|order|
item = OrderItem.where("item_instance_code = ? and order_id = ?",promo_product.item_code,order.order_id).first
source = Order.find(order.order_id).source source = Order.find(order.order_id).source
end
item = OrderItem.where("item_instance_code = ?",promo_product.item_code).order("order_items_id DESC").first
item ={ item ={
item_code:item.item_code, item_code:item.item_code,
item_instance_code:item.item_instance_code, item_instance_code:item.item_instance_code,
@@ -298,7 +298,6 @@ class Promotion < ApplicationRecord
account_id:item.account_id, account_id:item.account_id,
price:item.price price:item.price
} }
end
if !item.nil? if !item.nil?
# source = Order.find(item.order_id).source # source = Order.find(item.order_id).source
update_existing_item(foc_qty, item, sale_id, "promotion nett off", promo_product.net_off,source) update_existing_item(foc_qty, item, sale_id, "promotion nett off", promo_product.net_off,source)
@@ -312,15 +311,14 @@ class Promotion < ApplicationRecord
sale_order =SaleOrder.where("sale_id=?",sale_id) sale_order =SaleOrder.where("sale_id=?",sale_id)
source ='' source =''
item ='' item =''
price =0
if same if same
foc_qty = orderitem[1].to_i / foc_min_qty foc_qty = orderitem[:qty].to_i / foc_min_qty
# item = OrderItem.find_by_item_instance_code(orderitem[0][0]) # need to specify with menu item instance # item = OrderItem.find_by_item_instance_code(orderitem[0][0]) # need to specify with menu item instance
# item = OrderItem.where("item_instance_code = '#{orderitem[0][0]}' and order_id = '#{orderitem[0][1]}'").first # item = OrderItem.where("item_instance_code = '#{orderitem[0][0]}' and order_id = '#{orderitem[0][1]}'").first
sale_order.each do|order| sale_order.each do|order|
item = OrderItem.where("item_instance_code = ? and order_id = ?",orderitem[:item_instance_code],order.order_id).first
source = Order.find(order.order_id).source source = Order.find(order.order_id).source
price +=item.price end
item = OrderItem.where("item_instance_code = ?",orderitem[:item_instance_code]).order("order_items_id DESC").first
item ={ item ={
item_code:item.item_code, item_code:item.item_code,
item_instance_code:item.item_instance_code, item_instance_code:item.item_instance_code,
@@ -329,7 +327,6 @@ class Promotion < ApplicationRecord
account_id:item.account_id, account_id:item.account_id,
price:item.price price:item.price
} }
end
if !item.nil? if !item.nil?
price = item[:price].to_i - promo_product.net_price.to_i price = item[:price].to_i - promo_product.net_price.to_i
# source = Order.find(item.order_id).source # source = Order.find(item.order_id).source
@@ -346,9 +343,9 @@ class Promotion < ApplicationRecord
# item = OrderItem.find_by_item_instance_code(promo_product.item_code) # item = OrderItem.find_by_item_instance_code(promo_product.item_code)
# item = OrderItem.where("item_instance_code = '#{promo_product.item_code}' and order_id = '#{orderitem[0][1]}'").first # item = OrderItem.where("item_instance_code = '#{promo_product.item_code}' and order_id = '#{orderitem[0][1]}'").first
sale_order.each do|order| sale_order.each do|order|
item = OrderItem.where("item_instance_code = ? and order_id = ?",promo_product.item_code,order.order_id).first
source = Order.find(order.order_id).source source = Order.find(order.order_id).source
price +=item.price end
item = OrderItem.where("item_instance_code",promo_product.item_code).order("order_items_id DESC").first
item ={ item ={
item_code:item.item_code, item_code:item.item_code,
item_instance_code:item.item_instance_code, item_instance_code:item.item_instance_code,
@@ -357,7 +354,7 @@ class Promotion < ApplicationRecord
account_id:item.account_id, account_id:item.account_id,
price:item.price price:item.price
} }
end
if !item.nil? if !item.nil?
price = item[:price].to_i - promo_product.net_price.to_i price = item[:price].to_i - promo_product.net_price.to_i
# source = Order.find(item.order_id).source # source = Order.find(item.order_id).source
@@ -372,15 +369,14 @@ class Promotion < ApplicationRecord
sale_order =SaleOrder.where("sale_id=?",sale_id) sale_order =SaleOrder.where("sale_id=?",sale_id)
source ='' source =''
item ='' item =''
price =0
if same if same
foc_qty = orderitem[:qty].to_i / foc_min_qty foc_qty = orderitem[:qty].to_i / foc_min_qty
# item = OrderItem.find_by_item_instance_code(orderitem[0][0]) # item = OrderItem.find_by_item_instance_code(orderitem[0][0])
# item = OrderItem.where("item_instance_code = '#{orderitem[0][0]}' and order_id = '#{orderitem[0][1]}'").first # item = OrderItem.where("item_instance_code = '#{orderitem[0][0]}' and order_id = '#{orderitem[0][1]}'").first
sale_order.each do|order| sale_order.each do|order|
item = OrderItem.where("item_instance_code = ? and order_id = ?",orderitem[:item_instance_code],order.order_id).first
source = Order.find(order.order_id).source source = Order.find(order.order_id).source
price +=item.price end
item = OrderItem.where("item_instance_code = ?",orderitem[:item_instance_code]).order("order_items_id DESC").first
item ={ item ={
item_code:item.item_code, item_code:item.item_code,
item_instance_code:item.item_instance_code, item_instance_code:item.item_instance_code,
@@ -389,7 +385,6 @@ class Promotion < ApplicationRecord
account_id:item.account_id, account_id:item.account_id,
price:item.price price:item.price
} }
end
# total = orderitem[1].to_i * item.price # total = orderitem[1].to_i * item.price
if !item.nil? if !item.nil?
total = item[:price] total = item[:price]
@@ -400,7 +395,7 @@ class Promotion < ApplicationRecord
else else
order_qty = find_second_item_qty(sale_id, promo_product.item_code) #need to check order_qty = find_second_item_qty(sale_id, promo_product.item_code) #need to check
foc_qty = orderitem[1].to_i / foc_min_qty foc_qty = orderitem[:qty].to_i / foc_min_qty
# give total qty is 1 # give total qty is 1
#foc_qty = (foc_qty - foc_qty) + 1 #foc_qty = (foc_qty - foc_qty) + 1
if foc_qty > order_qty if foc_qty > order_qty
@@ -409,8 +404,9 @@ class Promotion < ApplicationRecord
# item = OrderItem.find_by_item_instance_code(promo_product.item_code) # item = OrderItem.find_by_item_instance_code(promo_product.item_code)
# item = OrderItem.where("item_instance_code = '#{promo_product.item_code}' and order_id = '#{orderitem[0][1]}'").first # item = OrderItem.where("item_instance_code = '#{promo_product.item_code}' and order_id = '#{orderitem[0][1]}'").first
sale_order.each do|order| sale_order.each do|order|
item = OrderItem.where("item_instance_code = ? and order_id = ?",promo_product.item_code,order.order_id).first
source = Order.find(order.order_id).source source = Order.find(order.order_id).source
end
item = OrderItem.where("item_instance_code = ?",promo_product.item_code).order("order_items_id DESC").first
item ={ item ={
item_code:item.item_code, item_code:item.item_code,
item_instance_code:item.item_instance_code, item_instance_code:item.item_instance_code,
@@ -419,7 +415,6 @@ class Promotion < ApplicationRecord
account_id:item.account_id, account_id:item.account_id,
price:item.price price:item.price
} }
end
# total = item.price * foc_qty # total = item.price * foc_qty
if !item.nil? if !item.nil?
total = item[:price] total = item[:price]