From c131a4eff2a2ae8d8f8c41dd155d05544bd3d1de Mon Sep 17 00:00:00 2001 From: Yan Date: Mon, 11 Sep 2017 15:47:32 +0630 Subject: [PATCH] fix dining charge calc --- app/models/sale.rb | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/app/models/sale.rb b/app/models/sale.rb index 9d5a67c5..78596b42 100644 --- a/app/models/sale.rb +++ b/app/models/sale.rb @@ -187,7 +187,10 @@ class Sale < ApplicationRecord sale_item.sale_id = self.id sale_item.price = diningprice sale_item.save - self.compute_by_sale_items(self.id, self.sale_items, self.total_discount) + + # Re-calc + sale = Sale.find(self.id) + self.compute_by_sale_items(self.id, sale.sale_items, self.total_discount) end def update_item (item) @@ -224,7 +227,9 @@ class Sale < ApplicationRecord subtotal_price = subtotal_price + item.price total_taxable = total_taxable + (item.taxable_price * item.qty) end + apply_tax (total_taxable) + self.total_amount = subtotal_price self.total_discount = total_discount self.grand_total = (self.total_amount - self.total_discount) + self.total_tax @@ -339,6 +344,8 @@ class Sale < ApplicationRecord # Tax Calculate def apply_tax(total_taxable) + shop = Shop.first(); + #if tax is not apply create new record SaleTax.where("sale_id='#{self.sale_id}'").find_each do |existing_tax| #delete existing and create new