inventory development

This commit is contained in:
Nweni
2017-08-28 09:37:36 +06:30
parent 6aaea69f0a
commit 83ec17a3df
16 changed files with 200 additions and 46 deletions

View File

@@ -1,2 +1,39 @@
class InventoryDefinition < ApplicationRecord
scope :active, -> {where(:is_active => true)}
def calculate_product_count(saleObj)
saleObj.sale_items.each do |item|
found, inventory_definition = find_product_in_inventory(item)
if found
check_balance(item,inventory_definition)
end
end
end
def self.find_product_in_inventory(item)
product = InventoryDefinition.find_by_item_code(item.product_code)
if product.nil?
return false, nil
else
return true, product
end
end
def self.check_balance(item,inventory_definition)
stock = StockJournal.where('item_code=?', item.item_code).order('created_at desc').take
unless stock.nil?
modify_balance(item, stock.balance, inventory_definition)
end
end
def self.modify_balance(item, stock_balance, inventory_definition)
if stock.balance.to_i >= item.qty
puts ">> stock is greater than orde qty"
add_to_journal(item, balance, "ok", inventory_definition)
else
puts " << stock is less than order qty"
add_to_journal(item, balance, "out of stock", inventory_definition)
end
end
end