receipt update

This commit is contained in:
Min Zeya Phyo
2017-04-22 00:09:07 +06:30
parent f860954a7f
commit 62e8615f12
7 changed files with 202 additions and 0 deletions

View File

@@ -0,0 +1,25 @@
class Printer::CashierStationPrinter < Printer::PrinterWorker
def print_open_cashier(receipt_no)
time = DateTime.now
#Use CUPS service
#Generate PDF
#Print
pdf = CashierStationOpening.new
pdf.render_file "tmp/cashier_station_#{order_id}_closing_#{time}.pdf"
self.print("tmp/cashier_station_#{order_id}_closing_#{time}.pdf")
end
def print_close_cashier(receipt_no)
#Use CUPS service
#Generate PDF
time = DateTime.now
#Print
pdf = CashierStationClosing.new
pdf.render_file "tmp/cashier_station_#{order_id}_closing_#{time}.pdf"
self.print("tmp/receipt.pdf")
end
end

View File

@@ -0,0 +1,22 @@
class Printer::OrderQueuePrinter < Printer::PrinterWorker
def print_order_item(order_queue_id)
#Use CUPS service
#Generate PDF
#Print
pdf = OrderItemPdf.new
pdf.render_file "tmp/order_item_queue_#{order_id}_#{order_item_id}" + ".pdf"
self.print("tmp/receipt.pdf")
end
def print_order_summary(booking_id)
#Use CUPS service
#Generate PDF
#Print
filename = "tmp/order_summary_#{booking_id}" + ".pdf"
pdf = OrderSummaryPdf.new
pdf.render_file filename
self.print(filename)
end
end

View File

@@ -0,0 +1,50 @@
require 'net/http'
require 'cups'
class Printer::PrinterWorker
attr_accessor :print_settings
def initialize(print_settings)
self.print_settings = print_settings
end
def printer_destination()
if self.print_settings
self.print_settings.printer_name
else
return nil
end
end
def print_copies()
if self.print_settings
self.print_settings.print_copies.to_i
else
return 1
end
end
def printers()
Cups.show_destinations
end
def default_printer()
Cups.default_printer
end
def print(file_path,printer_destination = nil )
if printer_destination.nil?
printer_destination = self.printer_destination
end
copy = self.print_copies
#Print only when printer information is not null
if !self.printer_destination.nil?
(1..copy).each do
page = Cups::PrintJob.new(file_path, printer_destination)
page.print
end
end
end
end

View File

@@ -0,0 +1,66 @@
class Printer::ReceiptPrinter < Printer::PrinterWorker
def print_receipt(receipt_no)
#Use CUPS service
#Generate PDF
#Print
pdf = OrderItemPdf.new
pdf.render_file "tmp/order_item_queue_#{order_id}_#{order_item_id}" + ".pdf"
self.print("tmp/receipt.pdf")
end
def print_receipt_payment_by_card(booking_id)
#Use CUPS service
#Generate PDF
#Print
filename = "tmp/order_summary_#{booking_id}" + ".pdf"
pdf = OrderSummaryPdf.new
pdf.render_file filename
self.print(filename)
end
def print_receipt_payment_by_account(sale_id)
#Use CUPS service
#Generate PDF
#Print
filename = "tmp/order_summary_#{booking_id}" + ".pdf"
pdf = OrderSummaryPdf.new
pdf.render_file filename
self.print(filename)
end
def print_receipt_payment_by_vochure(sale_id)
#Use CUPS service
#Generate PDF
#Print
filename = "tmp/order_summary_#{booking_id}" + ".pdf"
pdf = OrderSummaryPdf.new
pdf.render_file filename
self.print(filename)
end
def print_receipt_payment_by_giftcard(sale_id)
#Use CUPS service
#Generate PDF
#Print
filename = "tmp/order_summary_#{booking_id}" + ".pdf"
pdf = OrderSummaryPdf.new
pdf.render_file filename
self.print(filename)
end
def print_receipt_payment_by_foc(sale_id)
#Use CUPS service
#Generate PDF
#Print
filename = "tmp/order_summary_#{booking_id}" + ".pdf"
pdf = OrderSummaryPdf.new
pdf.render_file filename
self.print(filename)
end
end