39 lines
1.6 KiB
Ruby
39 lines
1.6 KiB
Ruby
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)
|
|
order_details = SaleItem.select("sales.total_tax as tax_amount, sales.grand_total as grand_total_amount , 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_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
|