update origamitable,room query
This commit is contained in:
@@ -1,4 +1,7 @@
|
||||
class Customer < ApplicationRecord
|
||||
|
||||
#self.primary_key = :customer_id
|
||||
|
||||
before_create :generate_custom_id
|
||||
has_many :orders
|
||||
has_many :sales
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
class MenuItem < ApplicationRecord
|
||||
belongs_to :account
|
||||
#belongs_to :account
|
||||
belongs_to :menu_category, :optional => true
|
||||
has_many :menu_item_instances
|
||||
belongs_to :parent, :class_name => "MenuItem", foreign_key: "menu_item_id", :optional => true
|
||||
|
||||
@@ -209,54 +209,63 @@ class Order < ApplicationRecord
|
||||
#Origami: Cashier : to view order type Table
|
||||
|
||||
def self.get_booking_order_table
|
||||
booking_orders = Booking.select("sales.receipt_no,orders.status as order_status,bookings.id,sales.id as sale_id,dining_facilities.name as table_name")
|
||||
.joins("left join booking_orders on booking_orders.booking_id = bookings.id")
|
||||
booking_orders = Booking.select("sales.receipt_no,
|
||||
orders.status as order_status,
|
||||
bookings.booking_id,
|
||||
sales.sale_id as sale_id,
|
||||
dining_facilities.name as table_name")
|
||||
.joins("left join booking_orders on booking_orders.booking = bookings.booking_id")
|
||||
.joins("left join dining_facilities on dining_facilities.id = bookings.dining_facility_id")
|
||||
.joins("left join orders on orders.id = booking_orders.order_id")
|
||||
.joins("left join sale_orders on sale_orders.order_id = orders.id")
|
||||
.joins("left join sales on sales.id = sale_orders.sale_id")
|
||||
.where("booking_orders.order_id IS NOT NULL and dining_facilities.type=? and dining_facilities.is_active=?",DiningFacility::TABLE_TYPE,true)
|
||||
.group("bookings.id")
|
||||
.joins("left join orders on orders.order_id = booking_orders.order")
|
||||
.joins("left join sale_orders on sale_orders.order = orders.order_id")
|
||||
.joins("left join sales on sales.sale_id = sale_orders.sale")
|
||||
.where("booking_orders.order IS NOT NULL and dining_facilities.type=? and dining_facilities.is_active=?",DiningFacility::TABLE_TYPE,true)
|
||||
.group("bookings.booking_id")
|
||||
|
||||
end
|
||||
#Origami: Cashier : to view order type Room
|
||||
def self.get_booking_order_rooms
|
||||
booking_rooms = Booking.select("sales.receipt_no,orders.status as order_status,bookings.id,sales.id as sale_id,dining_facilities.name as room_name")
|
||||
.joins("left join booking_orders on booking_orders.booking_id = bookings.id")
|
||||
booking_rooms = Booking.select("sales.receipt_no,
|
||||
orders.status as order_status,bookings.booking_id,
|
||||
sales.sale_id as sale_id,
|
||||
dining_facilities.name as room_name")
|
||||
.joins("left join booking_orders on booking_orders.booking = bookings.booking_id")
|
||||
.joins("left join dining_facilities on dining_facilities.id = bookings.dining_facility_id")
|
||||
.joins("left join orders on orders.id = booking_orders.order_id")
|
||||
.joins("left join sale_orders on sale_orders.order_id = orders.id")
|
||||
.joins("left join sales on sales.id = sale_orders.sale_id")
|
||||
.where("booking_orders.order_id IS NOT NULL and dining_facilities.type=? and dining_facilities.is_active=?",DiningFacility::ROOM_TYPE,true)
|
||||
.group("bookings.id")
|
||||
|
||||
.joins("left join orders on orders.order_id = booking_orders.order")
|
||||
.joins("left join sale_orders on sale_orders.order = orders.order_id")
|
||||
.joins("left join sales on sales.sale_id = sale_orders.sale")
|
||||
.where("booking_orders.order IS NOT NULL and dining_facilities.type=? and dining_facilities.is_active=?",DiningFacility::ROOM_TYPE,true)
|
||||
.group("bookings.booking_id")
|
||||
end
|
||||
#Origami: Cashier : to view order type Room
|
||||
def self.get_order_rooms
|
||||
order_rooms = Order.select("orders.id as order_id,sum(order_items.qty*order_items.price) as total_price,
|
||||
order_items.id as order_items_id,dining_facilities.name as room_name")
|
||||
.joins("left join booking_orders on booking_orders.order_id = orders.id
|
||||
left join bookings on bookings.id = booking_orders.id
|
||||
order_rooms = Order.select("orders.order_id as order_id,
|
||||
sum(order_items.qty*order_items.price) as total_price,
|
||||
order_items.order_items_id as order_items_id,dining_facilities.name as room_name")
|
||||
.joins("left join booking_orders on booking_orders.order = orders.order_id
|
||||
left join bookings on bookings.booking_id = booking_orders.booking_order_id
|
||||
left join dining_facilities on dining_facilities.id = bookings.dining_facility_id
|
||||
left join order_items on order_items.order_id = orders.id")
|
||||
left join order_items on order_items.order_id = orders.order_id")
|
||||
.where("dining_facilities.type=? and orders.order_type=? and dining_facilities.is_active=?",DiningFacility::ROOM_TYPE,"dine_in",true)
|
||||
.group("orders.id,order_items.id,dining_facilities.name")
|
||||
.group("orders.order_id,order_items.order_items_id,dining_facilities.name")
|
||||
|
||||
end
|
||||
#Origami: Cashier : to view orders
|
||||
def self.get_orders
|
||||
from = Time.now.beginning_of_day.utc
|
||||
to = Time.now.end_of_day.utc
|
||||
orders = Order.select("orders.id as order_id,sales.receipt_no,orders.status as order_status,bookings.id,sales.id as sale_id,dining_facilities.name as table_name")
|
||||
.joins("left join booking_orders on booking_orders.order_id = orders.id
|
||||
left join bookings on bookings.id = booking_orders.id
|
||||
orders = Order.select("orders.order_id as order_id,
|
||||
sales.receipt_no,orders.status as order_status,bookings.booking_id,
|
||||
sales.sale_id as sale_id,dining_facilities.name as table_name")
|
||||
.joins("left join booking_orders on booking_orders.order = orders.order_id
|
||||
left join bookings on bookings.booking_id = booking_orders.booking_order_id
|
||||
left join dining_facilities on dining_facilities.id = bookings.dining_facility_id
|
||||
|
||||
left join order_items on order_items.order_id = orders.id
|
||||
left join sale_orders on sale_orders.order_id = orders.id
|
||||
left join sales on sales.id = sale_orders.sale_id")
|
||||
|
||||
left join order_items on order_items.order_id = orders.order_id
|
||||
left join sale_orders on sale_orders.order = orders.order_id
|
||||
left join sales on sales.sale_id = sale_orders.sale")
|
||||
.where("dining_facilities.is_active=? and orders.date between ? and ?",true,from,to)
|
||||
.group("orders.id")
|
||||
.group("orders.order_id")
|
||||
|
||||
# Booking.select("sales.receipt_no,orders.status as order_status,bookings.id,sales.id as sale_id,dining_facilities.name as table_name")
|
||||
# .joins("left join booking_orders on booking_orders.booking_id = bookings.id")
|
||||
|
||||
@@ -39,18 +39,21 @@ class OrderItem < ApplicationRecord
|
||||
#Origami : Cashier : to show order items details
|
||||
|
||||
def self.get_order_items_details(booking_id)
|
||||
booking_orders = BookingOrder.where("booking_id=?",booking_id)
|
||||
booking_orders = BookingOrder.where("booking=?",booking_id)
|
||||
puts booking_orders.to_json
|
||||
if booking_orders
|
||||
booking_orders.each do |book_order|
|
||||
puts "booooooooo"
|
||||
puts book_order.booking_order_id
|
||||
order_details = OrderItem.select("order_items.item_name,order_items.qty,order_items.price,(order_items.qty*order_items.price) as total_price")
|
||||
.joins("left join orders on orders.id = order_items.order_id")
|
||||
.where("order_items.order_id=?",book_order.order_id)
|
||||
.joins("left join orders on orders.order_id = order_items.order_id")
|
||||
.where("order_items.order_id=?",book_order.order)
|
||||
return order_details
|
||||
end
|
||||
else
|
||||
return false
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
private
|
||||
def generate_custom_id
|
||||
|
||||
@@ -10,18 +10,19 @@ class SaleItem < ApplicationRecord
|
||||
|
||||
|
||||
def self.get_order_items_details(sale_id)
|
||||
sale_orders = SaleOrder.where("sale_id=?",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.id = sale_items.sale_id")
|
||||
.where("sale_items.sale_id=?",sale_order.sale_id)
|
||||
.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")
|
||||
|
||||
@@ -14,9 +14,9 @@ class SeedGenerator < ApplicationRecord
|
||||
seed.current = current_no
|
||||
seed.save
|
||||
end
|
||||
padding_len = 16 - prefix.len
|
||||
padding_len = 12 - prefix.length
|
||||
|
||||
return prefix +"-"+ seed.current.to_s.to_s.rjust((16-prefix.length)+1,'0')
|
||||
return prefix +"-"+ seed.current.to_s.to_s.rjust((12-prefix.length)+1,'0')
|
||||
end
|
||||
|
||||
def self.new_receipt_no
|
||||
|
||||
Reference in New Issue
Block a user