update open print service

This commit is contained in:
Aung Myo
2018-01-16 13:33:29 +06:30
parent 2472a66c12
commit 7c6fedebe9
3 changed files with 99 additions and 83 deletions

View File

@@ -16,15 +16,17 @@ class Oqs::EditController < BaseOqsController
order_item.remark = remarks
order_item.save
# print
# assigned_item = AssignedOrderItem.find_by_instance_code(order_item.item_instance_code)
# # order queue stations
# oqs = assigned_item.order_queue_station
# unique_code="OrderItemPdf"
if ENV["SERVER_MODE"] != "cloud" #no print in cloud server
# print
assigned_item = AssignedOrderItem.find_by_instance_code(order_item.item_instance_code)
# order queue stations
oqs = assigned_item.order_queue_station
unique_code="OrderItemPdf"
# 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, order_item.order_id, order_items_id, print_status=" (Updated)" )
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, order_item.order_id, order_items_id, print_status=" (Updated)" )
end
end
end

View File

@@ -1,61 +1,65 @@
class Oqs::PrintController < ApplicationController
# Print Order Item
def print
# unique_code="OrderItemPdf"
# 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 + "'");
if ENV["SERVER_MODE"] != "cloud" #no print in cloud server
unique_code="OrderItemPdf"
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()
# 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)" : ""
# 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
# 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
# unique_code="OrderSummaryPdf"
# 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 + "'");
if ENV["SERVER_MODE"] != "cloud" #no print in cloud server
unique_code="OrderSummaryPdf"
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
# order queue stations
oqs = assigned_item.order_queue_station
# # Check Printed
# print_status = assigned_item.print_status == true ? " (Re-Print)" : ""
# 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 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)
# 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
# update print status for completed same order items
assigned_items.each do |ai|
ai.print_status = true
ai.save
end
end
end
end
end

View File

@@ -14,6 +14,7 @@ class OrderQueueStation < ApplicationRecord
validates_presence_of :station_name, :printer_name
def process_order (order, table_id)
oqs_stations = OrderQueueStation.active
dining=DiningFacility.find(table_id)
# oqpbz = OrderQueueProcessByZone.find_by_zone_id(dining.zone_id)
@@ -77,14 +78,23 @@ class OrderQueueStation < ApplicationRecord
end
end
end
# if oqs.auto_print
# if oqs_order_items.length > 0
# print_slip(oqs, order, oqs_order_items)
# is_auto_printed = true
# end
# end
end
if oqs.auto_print
if oqs_order_items.length > 0
print_slip(oqs, order, oqs_order_items)
is_auto_printed = true
end
end
end
# if oqs.id == oqpbz.order_queue_station_id
# # Auto Printing
# if oqs.auto_print
# if oqs_order_items.length > 0
# print_slip(oqs, order, oqs_order_items)
# is_auto_printed = true
# end
# end
# end
end
# end
end
@@ -92,32 +102,32 @@ class OrderQueueStation < ApplicationRecord
private
#Print order_items in 1 slip
def print_slip(oqs, order, order_items)
# unique_code="OrderSummaryPdf"
# print_settings=PrintSetting.find_by_unique_code(unique_code)
# order_queue_printer= Printer::OrderQueuePrinter.new(print_settings)
# order_queue_printer.print_order_summary(print_settings, oqs,order.order_id, order_items, print_status="")
unique_code="OrderSummaryPdf"
print_settings=PrintSetting.find_by_unique_code(unique_code)
order_queue_printer= Printer::OrderQueuePrinter.new(print_settings)
order_queue_printer.print_order_summary(print_settings, oqs,order.order_id, order_items, print_status="")
# AssignedOrderItem.where("order_id = '#{ order.order_id }'").find_each do |ai|
# # update print status for order items
# ai.print_status=true
# ai.save
# end
AssignedOrderItem.where("order_id = '#{ order.order_id }'").find_each do |ai|
# update print status for order items
ai.print_status=true
ai.save
end
end
#Print order_item in 1 slip per item
def print_slip_item(oqs, assigned_item)
# unique_code="OrderItemPdf"
# order_item = OrderItem.where("order_id='#{assigned_item.order_id}' AND item_instance_code='#{assigned_item.instance_code}'").first()
# # 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,item.order_id, order_item.order_items_id, print_status="" )
unique_code="OrderItemPdf"
order_item = OrderItem.where("order_id='#{assigned_item.order_id}' AND item_instance_code='#{assigned_item.instance_code}'").first()
# 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,item.order_id, order_item.order_items_id, print_status="" )
# # update print status for completed same order items
# assigned_order_item.each do |ai|
# ai.print_status=true
# ai.save
# end
# update print status for completed same order items
assigned_order_item.each do |ai|
ai.print_status=true
ai.save
end
end
end