Changed raw SQL query to activerecord

This commit is contained in:
yarzar_code
2020-01-03 10:16:45 +06:30
parent 2a856c3cc1
commit 0202bc7827
10 changed files with 124 additions and 241 deletions

View File

@@ -82,20 +82,7 @@ class InventoryDefinition < ApplicationRecord
end
def self.get_by_category(filter)
# THEN (SELECT min(balance) FROM stock_journals
# least_stock = "SELECT (CASE WHEN stock_journals.remark != 'out of stock'
# THEN (SELECT balance FROM stock_journals
# WHERE item_code = inventory_definitions.item_code AND remark != 'out of stock'
# ORDER BY created_at DESC LIMIT 1) ELSE 0 END)
# FROM stock_journals
# WHERE stock_journals.item_code = inventory_definitions.item_code
# 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 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)"
least_stock = StockJournal.select(:balance).joins("JOIN inventory_definitions ON stock_journals.item_code = inventory_definitions.item_code").order(:id => :desc).limit(1).to_sql
@inventory_definitions = InventoryDefinition.select("inventory_definitions.*,
(CASE WHEN sj.credit IS NULL THEN 0 ELSE sj.credit END) as credit,