fixed inventory

This commit is contained in:
NyanLinHtut
2019-09-12 14:50:14 +06:30
parent 719d5637c2
commit e0b54728f7
7 changed files with 111 additions and 40 deletions

View File

@@ -44,27 +44,69 @@ class InventoryDefinition < ApplicationRecord
end
def self.modify_balance(item, stock, inventory_definition) #saleitemObj
void_qty = 0
if item.product_name.downcase.include?("void")
void_qty = item.qty.abs.to_i
end
check_item = StockCheckItem.where('item_code=?', item.item_instance_code).order("id DESC").first
if stock.balance.to_i >= item.qty
puts ">> stock is greater than order qty"
StockJournal.add_to_journal(item, stock.balance, "ok", inventory_definition)
check_item.different = check_item.different - item.qty
check_item.save
if item.qty.to_i > 0
StockJournal.add_to_journal(item, stock.balance, "ok", inventory_definition)
if !void_qty.nil? | void_qty != 0
check_item.different = check_item.different - item.qty
check_item.save
end
else
if item.product_name.downcase.include?("void")
StockJournal.add_to_journal(item, stock.balance, "void", inventory_definition)
check_item.different = check_item.different + void_qty
check_item.save
end
end
else
puts " << stock is less than order qty"
data = item
extra_qty = item.qty.to_i - stock.balance.to_i
if stock.balance.to_i > 0
item.qty = stock.balance.to_i
StockJournal.add_to_journal(item, stock.balance, "ok", inventory_definition)
data.qty = extra_qty
StockJournal.add_to_journal(data, 0, "out of stock", inventory_definition)
check_item.different = check_item.different - item.qty
check_item.save
if item.qty.to_i > 0
StockJournal.add_to_journal(item, stock.balance, "ok", inventory_definition)
check_item.different = check_item.different - item.qty
check_item.save
data.qty = extra_qty
StockJournal.add_to_journal(data, 0, "out of stock", inventory_definition)
if !void_qty.nil? | void_qty != 0
check_item.different = check_item.different - item.qty
check_item.save
else
check_item.different = check_item.different + void_qty
check_item.save
end
else
if item.product_name.downcase.include?("void")
StockJournal.add_to_journal(item, stock.balance, "void", inventory_definition)
check_item.different = check_item.different + void_qty
check_item.save
end
end
else
StockJournal.add_to_journal(item, stock.balance, "out of stock", inventory_definition)
check_item.different = check_item.different - item.qty
check_item.save
if item.qty.to_i > 0
StockJournal.add_to_journal(item, stock.balance, "out of stock", inventory_definition)
if !void_qty.nil? | void_qty != 0
check_item.different = check_item.different - item.qty
check_item.save
else
check_item.different = check_item.different + void_qty
check_item.save
end
else
if item.product_name.downcase.include?("void")
StockJournal.add_to_journal(item, stock.balance, "void", inventory_definition)
check_item.different = check_item.different + void_qty
check_item.save
end
end
end
end
end
@@ -93,7 +135,7 @@ class InventoryDefinition < ApplicationRecord
# ORDER BY stock_journals.created_at DESC LIMIT 1"
least_stock = "(SELECT
(SELECT balance FROM stock_journals WHERE item_code = inventory_definitions.item_code
ORDER BY created_at DESC LIMIT 1)
ORDER BY id DESC LIMIT 1)
FROM stock_journals
WHERE stock_journals.item_code = inventory_definitions.item_code
ORDER BY stock_journals.created_at DESC LIMIT 1)"