oqs updated

This commit is contained in:
Yan
2017-06-20 15:58:50 +06:30
parent dd2a2e54a4
commit 6528845d82
3 changed files with 83 additions and 23 deletions

View File

@@ -4,22 +4,29 @@ class Printer::OrderQueuePrinter < Printer::PrinterWorker
#Use CUPS service
#Generate PDF
#Print
order_item = print_query('order_item', item_code) #OrderItem.find_by_item_code(item_code)
order_item = print_query('order_item', item_code) #OrderItem.find_by_item_code(item_code)
filename = "tmp/order_item_#{order_item[0].item_name}" + ".pdf"
pdf = OrderItemPdf.new(order_item[0], print_status)
pdf.render_file "tmp/order_item.pdf"
pdf.render_file filename
if oqs.print_copy
self.print("tmp/order_item.pdf", oqs.printer_name)
self.print("tmp/order_item.pdf", oqs.printer_name)
self.print(filename, oqs.printer_name)
#For print copy
pdf.render_file filename.gsub(".","-copy.")
self.print(filename.gsub(".","-copy."), oqs.printer_name)
else
self.print("tmp/order_item.pdf", oqs.printer_name)
self.print(filename, oqs.printer_name)
end
end
def print_order_summary(oqs,booking, print_status)
# Query for per order
def print_order_summary(oqs, order_id, print_status)
#Use CUPS service
#Generate PDF
#Print
order=print_query('order_summary',booking.booking_id)
#Print
order=print_query('order_summary', order_id)
# For Print Per Item
if oqs.cut_per_item
order.each do|odi|
@@ -36,11 +43,51 @@ class Printer::OrderQueuePrinter < Printer::PrinterWorker
end
# For Print Order Summary
else
filename = "tmp/order_summary_#{booking.booking_id}" + ".pdf"
filename = "tmp/order_summary_#{ order_id }" + ".pdf"
pdf = OrderSummaryPdf.new(order, print_status)
pdf.render_file filename
if oqs.print_copy
self.print(filename, oqs.printer_name)
#For print copy
pdf.render_file filename.gsub(".","-copy.")
self.print(filename.gsub(".","-copy."), oqs.printer_name)
else
self.print(filename, oqs.printer_name)
end
end
end
# Print for orders in booking
def print_booking_summary(oqs, booking_id, print_status)
order=print_query('booking_summary', booking_id)
# For Print Per Item
if oqs.cut_per_item
order.each do|odi|
filename = "tmp/order_item_#{odi.item_name}" + ".pdf"
pdf = OrderItemPdf.new(odi, print_status)
pdf.render_file filename
if oqs.print_copy
self.print(filename, oqs.printer_name)
#For print copy
pdf.render_file filename.gsub(".","-copy.")
self.print(filename.gsub(".","-copy."), oqs.printer_name)
else
self.print(filename, oqs.printer_name)
end
end
# For Print Order Summary
else
filename = "tmp/booking_summary_#{ booking_id }" + ".pdf"
pdf = OrderSummaryPdf.new(order, print_status)
pdf.render_file filename
if oqs.print_copy
self.print(filename, oqs.printer_name)
#For print copy
pdf.render_file filename.gsub(".","-copy.")
self.print(filename.gsub(".","-copy."), oqs.printer_name)
else
self.print(filename, oqs.printer_name)
@@ -49,25 +96,33 @@ class Printer::OrderQueuePrinter < Printer::PrinterWorker
end
# Query for OQS with status
def print_query(type, code)
if type == 'order_item'
def print_query(type, id)
if type == "order_item"
OrderItem.select("order_items.item_code, order_items.item_name, order_items.qty, order_items.price, order_items.item_order_by as order_by, order_items.created_at as order_at, cus.name as customer, df.name as dining")
.joins("left join orders ON orders.order_id = order_items.order_id
left join booking_orders AS bo ON bo.order_id=order_items.order_id
left join bookings AS b ON b.booking_id = bo.booking_id
left join dining_facilities AS df ON df.id = b.dining_facility_id
left join customers as cus ON cus.customer_id = orders.customer_id")
.where("order_items.item_code='" + code + "'")
.where("order_items.item_code = '#{ id }'")
.group("order_items.item_code")
else
elsif type == "order_summary"
OrderItem.select("order_items.item_code, order_items.item_name, order_items.qty, order_items.price, order_items.item_order_by as order_by, order_items.created_at as order_at, cus.name as customer, df.name as dining")
.joins("left join orders ON orders.order_id = order_items.order_id
left join booking_orders AS bo ON bo.order_id=order_items.order_id
left join bookings AS b ON b.booking_id = bo.booking_id
left join dining_facilities AS df ON df.id = b.dining_facility_id
left join customers as cus ON cus.customer_id = orders.customer_id")
.where("b.booking_id='" + code + "'")
# .group("order_items.item_code")
.where("orders.order_id = '#{ id }'")
else
# order summary for booking
OrderItem.select("order_items.item_code, order_items.item_name, order_items.qty, order_items.price, order_items.item_order_by as order_by, order_items.created_at as order_at, cus.name as customer, df.name as dining")
.joins("left join orders ON orders.order_id = order_items.order_id
left join booking_orders AS bo ON bo.order_id=order_items.order_id
left join bookings AS b ON b.booking_id = bo.booking_id
left join dining_facilities AS df ON df.id = b.dining_facility_id
left join customers as cus ON cus.customer_id = orders.customer_id")
.where("b.booking_id = '#{ id }'")
end
end