class Oqs::PrintController < ApplicationController # Print Order Item def print if ENV["SERVER_MODE"] != "cloud" #no print in cloud server order_slim_pdf = Lookup.collection_of("print_settings") #print_settings with name:OrderSlimPdf unique_code="OrderItemPdf" if !order_slim_pdf.empty? order_slim_pdf.each do |order_item_slim| if order_item_slim[0] == 'OrderSlimPdf' if order_item_slim[1] == '1' unique_code="OrderItemSlimPdf" else unique_code="OrderItemPdf" end elsif order_item_slim[0] == 'OrderSetPdf' if order_item_slim[1] == '1' unique_code="OrderSetItemPdf" else unique_code="OrderItemPdf" end end end end assigned_item_id = params[:id] options = params[:options] assigned_item = AssignedOrderItem.find(assigned_item_id) assigned_items = AssignedOrderItem.where("item_code='" + assigned_item.item_code + "' AND " + "order_id='" + assigned_item.order_id + "'"); # order queue stations oqs = assigned_item.order_queue_station order_item = OrderItem.where("order_id='#{assigned_item.order_id}' AND item_instance_code='#{assigned_item.instance_code}'").first() # Check Printed print_status = assigned_item.print_status == true ? " (Re-Print)" : "" # print when complete click print_settings = PrintSetting.find_by_unique_code(unique_code) order_queue_printer = Printer::OrderQueuePrinter.new(print_settings) order_queue_printer.print_order_item(print_settings,oqs, assigned_item.order_id, order_item.order_items_id, print_status, "", options ) # update print status for completed same order items assigned_items.each do |ai| ai.print_status=true ai.save end end end # Print Order Details with booking id def print_order_summary if ENV["SERVER_MODE"] != "cloud" #no print in cloud server order_slim_pdf = Lookup.collection_of("print_settings") #print_settings with name:OrderSlimPdf unique_code="OrderSummaryPdf" if !order_slim_pdf.empty? order_slim_pdf.each do |order_summary_slim| if order_summary_slim[0] == 'OrderSlimPdf' if order_summary_slim[1] == '1' unique_code="OrderSummarySlimPdf" else unique_code="OrderSummaryPdf" end elsif order_summary_slim[0] == 'OrderSetPdf' if order_summary_slim[1] == '1' unique_code="OrderSummarySetPdf" else unique_code="OrderSummaryPdf" end end end end assigned_item_id = params[:id] table_name = params[:table_name] assigned_item = AssignedOrderItem.find(assigned_item_id) assigned_items = AssignedOrderItem.where("item_code='" + assigned_item.item_code + "' AND " + "order_id='" + assigned_item.order_id + "'"); # order queue stations oqs = assigned_item.order_queue_station # Check Printed print_status = assigned_item.print_status == true ? " (Re-Print)" : "" # get dining # dining = DiningFacility.find_by_name(table_name); # booking = Booking.find_by_dining_facility_id(dining.id) # Get Booking ID booking_id = BookingOrder.where("order_id='#{assigned_item.order_id}'").pluck(:booking_id)[0] # print when complete click print_settings = PrintSetting.find_by_unique_code(unique_code) order_queue_printer = Printer::OrderQueuePrinter.new(print_settings) order_queue_printer.print_booking_summary(print_settings,oqs, booking_id, print_status) # update print status for completed same order items assigned_items.each do |ai| ai.print_status = true ai.save end end end end