Files
sx-fc/app/models/stock_journal.rb
2017-08-30 14:19:24 +06:30

40 lines
1.2 KiB
Ruby

class StockJournal < ApplicationRecord
SALES_TRANS = "sale"
STOCK_CHECK_TRANS = "stock_check"
def self.add_to_journal(item, balance, stock_message, inventory_definition) # item => saleObj | balance => Stock journal
balance = calculate_balance(balance, item.qty)
journal = StockJournal.new
journal.item_code = item.product_code
journal.inventory_definition_id = inventory_definition.id
journal.debit = item.qty
journal.balance = balance
journal.remark = stock_message
journal.trans_ref = item.id
journal.trans_type = StockJournal::SALES_TRANS
journal.save
end
def self.calculate_balance(balance, qty)
return balance.to_i - qty.to_i
end
def self.from_stock_check(item)
definition_id = InventoryDefinition.find_by_item_code(item.item_code)
journal = StockJournal.new
journal.item_code = item.item_code
journal.inventory_definition_id = definition_id.id
journal.debit = 0
journal.credit = item.stock_count
journal.balance = item.stock_count
journal.remark = StockJournal::STOCK_CHECK_TRANS
journal.trans_ref = item.id
journal.trans_type = StockJournal::STOCK_CHECK_TRANS
journal.save
end
end