fixed inventory
This commit is contained in:
@@ -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)"
|
||||
|
||||
Reference in New Issue
Block a user