32 lines
1018 B
Ruby
32 lines
1018 B
Ruby
class SaleItem < ApplicationRecord
|
|
#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=?",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.sale_id = sale_items.sale_id")
|
|
.where("sale_items.sale_id=?",sale_order.sale)
|
|
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
|