calculate commission in sale_edit, void, foc

This commit is contained in:
Zin Lin Phyo
2017-09-04 12:09:04 +06:30
parent c2d86cb17c
commit 2330a1a33e
3 changed files with 110 additions and 95 deletions

View File

@@ -5,7 +5,32 @@ class ProductCommission < ApplicationRecord
belongs_to :sale_item, foreign_key: 'sale_item_id'
belongs_to :sale, foreign_key: 'sale_id'
def self.create_product_commission(saleItemObj)
def self.create_product_commission(newSaleItem, oldSaleItem)
old_product_commission = ProductCommission.find_by_sale_item_id(oldSaleItem.id)
return if old_product_commission.nil?
menu_item = MenuItem.find_by_item_code(newSaleItem.product_code)
return if menu_item.nil?
product_commission = ProductCommission.new
commission = Commission.where('product_code = ? AND is_active = ?', menu_item.id, true).take
product_commission.product_code = menu_item.id
product_commission.product_type = 'menu_item' # use for dummy data ToDo::need to change product type
unless commission.nil?
product_commission.commission_id = commission.id
if commission.commission_type == 'Percentage'
product_commission.price = newSaleItem.unit_price * (commission.amount / 100.0)
product_commission.amount = product_commission.price * newSaleItem.qty
elsif commission.commission_type == 'Net Amount'
product_commission.price = commission.amount
product_commission.amount = product_commission.price * newSaleItem.qty
end
end
unless old_product_commission.nil?
product_commission.commissioner_id = old_product_commission.commissioner_id
end
product_commission.qty = newSaleItem.qty
product_commission.sale_id = newSaleItem.sale_id
product_commission.sale_item_id = newSaleItem.sale_item_id
product_commission.save
end
def self.edit_product_commission(saleItemObj)