change all sale item
This commit is contained in:
@@ -153,7 +153,7 @@ class Promotion < ApplicationRecord
|
||||
update_existing_item(promotion_qty, item, sale_id, "promotion", item.price)
|
||||
end
|
||||
|
||||
def self.update_existing_item(foc_qty, item, sale_id, type, item_price)
|
||||
def self.update_existing_item(qty, item, sale_id, type, item_price)
|
||||
|
||||
sale_item = SaleItem.new
|
||||
sale_item.product_code = item.item_code
|
||||
@@ -161,13 +161,13 @@ class Promotion < ApplicationRecord
|
||||
sale_item.product_alt_name = item.alt_name
|
||||
sale_item.account_id = item.account_id
|
||||
sale_item.remark = type
|
||||
sale_item.qty = foc_qty * (-1)
|
||||
sale_item.qty = qty * (-1)
|
||||
|
||||
sale_item.unit_price = item_price # * (-1)
|
||||
sale_item.taxable_price = item_price # * (-1)
|
||||
sale_item.price = foc_qty * item_price * (-1)
|
||||
sale_item.taxable_price = qty * item_price # * (-1)
|
||||
sale_item.price = qty * item_price * (-1)
|
||||
|
||||
sale_item.is_taxable = false
|
||||
sale_item.is_taxable = 1
|
||||
sale_item.sale_id = sale_id
|
||||
sale_item.save
|
||||
sale = Sale.find(sale_id)
|
||||
|
||||
@@ -166,7 +166,7 @@ class Sale < ApplicationRecord
|
||||
|
||||
sale_item.qty = item.qty
|
||||
sale_item.unit_price = item.price
|
||||
sale_item.taxable_price = item.price
|
||||
sale_item.taxable_price = sale_item.qty * sale_item.unit_price
|
||||
sale_item.is_taxable = item.taxable
|
||||
|
||||
sale_item.price = sale_item.qty * sale_item.unit_price
|
||||
@@ -182,7 +182,7 @@ class Sale < ApplicationRecord
|
||||
sale_item.product_alt_name = "-"
|
||||
sale_item.qty = block_count
|
||||
sale_item.unit_price = chargeObj.unit_price
|
||||
sale_item.taxable_price = chargeObj.unit_price
|
||||
sale_item.taxable_price = sale_item.qty * sale_item.unit_price
|
||||
sale_item.is_taxable = chargeObj.taxable
|
||||
sale_item.sale_id = self.id
|
||||
sale_item.price = diningprice
|
||||
@@ -225,7 +225,8 @@ class Sale < ApplicationRecord
|
||||
puts "item.sales_item_id ddd"
|
||||
puts item.sale_item_id
|
||||
subtotal_price = subtotal_price + item.price
|
||||
total_taxable = total_taxable + (item.taxable_price * item.qty)
|
||||
total_taxable = total_taxable + item.taxable_price
|
||||
# total_taxable = total_taxable + (item.taxable_price * item.qty)
|
||||
end
|
||||
|
||||
apply_tax (total_taxable)
|
||||
@@ -253,7 +254,11 @@ class Sale < ApplicationRecord
|
||||
sales_items.each do |item|
|
||||
#compute each item and added to total
|
||||
subtotal_price = subtotal_price + item.price
|
||||
total_taxable = total_taxable + (item.taxable_price * item.qty)
|
||||
|
||||
# check for item is taxable and calculate
|
||||
if item.is_taxable
|
||||
total_taxable = total_taxable + item.taxable_price
|
||||
end
|
||||
end
|
||||
|
||||
compute_tax(sale, total_taxable, total_discount)
|
||||
@@ -269,6 +274,7 @@ class Sale < ApplicationRecord
|
||||
|
||||
end
|
||||
|
||||
# No Use too many wrong
|
||||
def compute_without_void
|
||||
sales_items = self.sale_items
|
||||
|
||||
@@ -467,9 +473,7 @@ class Sale < ApplicationRecord
|
||||
else
|
||||
sale = Sale.all.joins("JOIN sale_payments sp on sp.sale_id = sales.sale_id")
|
||||
.where("sp.payment_method ='creditnote' #{keyword} #{custo}")
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
def self.get_rounding_adjustment(num)
|
||||
|
||||
@@ -14,19 +14,42 @@ class SaleItem < ApplicationRecord
|
||||
# Add Sale Items
|
||||
def self.add_sale_items(sale_items)
|
||||
sale_items.each do|saleitemObj|
|
||||
saleitemObj.remark = 'foc'
|
||||
saleitemObj.save
|
||||
@newsaleitem = SaleItem.new
|
||||
@newsaleitem = saleitemObj.dup
|
||||
@newsaleitem.save
|
||||
@newsaleitem.qty = saleitemObj.qty * -1
|
||||
@newsaleitem.price = saleitemObj.price * -1
|
||||
@newsaleitem.is_taxable = 1
|
||||
@newsaleitem.qty = saleitemObj.qty * -1
|
||||
@newsaleitem.unit_price = saleitemObj.unit_price * -1
|
||||
@newsaleitem.taxable_price = (saleitemObj.unit_price * saleitemObj.qty) * -1
|
||||
@newsaleitem.price = (saleitemObj.unit_price * saleitemObj.qty) * -1
|
||||
@newsaleitem.product_name = saleitemObj.product_name + ' (FOC)'
|
||||
@newsaleitem.save
|
||||
end
|
||||
end
|
||||
|
||||
def self.update_existing_item(qty, item, sale_id, type, item_price)
|
||||
sale_item = SaleItem.new
|
||||
sale_item.product_code = item.item_code
|
||||
sale_item.product_name = item.item_name + "(#{type})"
|
||||
sale_item.product_alt_name = item.alt_name
|
||||
sale_item.account_id = item.account_id
|
||||
sale_item.remark = type
|
||||
if type == "foc" || type == "promotion" || type == "void"
|
||||
sale_item.qty = qty * (-1)
|
||||
else
|
||||
sale_item.qty = qty
|
||||
end
|
||||
|
||||
sale_item.unit_price = item_price # * (-1)
|
||||
sale_item.taxable_price = (qty * item_price) * (-1)
|
||||
sale_item.price = (qty * item_price) * (-1)
|
||||
|
||||
sale_item.is_taxable = 1
|
||||
sale_item.sale_id = sale_id
|
||||
sale_item.save
|
||||
sale = Sale.find(sale_id)
|
||||
sale.compute_by_sale_items(sale.id, sale.sale_items, sale.total_discount)
|
||||
end
|
||||
|
||||
def self.get_order_items_details(sale_id)
|
||||
order_details = SaleItem.select("sales.total_tax as tax_amount, sales.grand_total as grand_total_amount , sales.total_discount as discount_amount,sales.receipt_date as receipt_date,
|
||||
sales.cashier_name,sales.receipt_no,sale_items.product_name as item_name,sale_items.qty,sale_items.price,sale_items.unit_price as total_price")
|
||||
|
||||
@@ -172,7 +172,9 @@ class SalePayment < ApplicationRecord
|
||||
|
||||
# add to sale item with foc
|
||||
sale_items = SaleItem.find_by_sale_id(self.sale)
|
||||
SaleItem.add_sale_items(sale_items)
|
||||
sale_items.each do|item|
|
||||
SaleItem.update_existing_item(item.qty, item, self.sale, "foc", item.unit_price)
|
||||
end
|
||||
|
||||
self.payment_method = "foc"
|
||||
self.payment_amount = self.received_amount
|
||||
|
||||
Reference in New Issue
Block a user