class SaleItem < ApplicationRecord self.primary_key = "sale_item_id" #primary key - need to be unique generated for multiple shops before_create :generate_custom_id belongs_to :sale #compute items - discount, tax, price_change def compute_item end def self.get_order_items_details(sale_id) sale_orders = SaleOrder.where("sale_id=?",sale_id) if sale_orders sale_orders.each do |sale_order| order_details = SaleItem.select("sales.total_discount as discount_amount,DATE_FORMAT(sales.receipt_date,'%Y-%m-%d %h:%m') as receipt_date,sales.cashier_name,sales.receipt_no,sale_items.product_name as item_name,sale_items.qty,sale_items.price,sale_items.unit_price as total_price") .joins("left join sales on sales.id = sale_items.sale_id") .where("sale_items.sale_id=?",sale_order.sale_id) return order_details end else return false end end private def generate_custom_id self.sale_item_id = SeedGenerator.generate_id(self.class.name, "SLI") end end