diff --git a/README.md b/README.md
index 15495ce6..d3f2199f 100755
--- a/README.md
+++ b/README.md
@@ -84,9 +84,9 @@ For ReceiptBillAltName options
For Using Star Printer
*** Need to change these print settings
- 1) settings/print_settings => OrderItemStarPdf
- 2) settings/print_settings => ReceiptBillStarPdf
- 3) settings/print_settings => SaleItemsStarPdf
+ 1) settings/print_settings/unique_code => OrderItemStarPdf
+ 2) settings/print_settings/unique_code => ReceiptBillStarPdf
+ 3) settings/print_settings/unique_code => SaleItemsStarPdf
*** Other print settings aren't need to change.
For Show Sale Items Summary at CloseCashierPrint
diff --git a/app/controllers/oqs/edit_controller.rb b/app/controllers/oqs/edit_controller.rb
index acdef9f8..ee400fb8 100644
--- a/app/controllers/oqs/edit_controller.rb
+++ b/app/controllers/oqs/edit_controller.rb
@@ -38,22 +38,22 @@ class Oqs::EditController < BaseOqsController
if ENV["SERVER_MODE"] != "cloud" #&& order.source == 'cashier' #no print in cloud server
# print
- assigned_item = AssignedOrderItem.find_by_instance_code_and_order_id(order_item.item_instance_code, order_item.order_id)
+ assigned_item = AssignedOrderItem.find_by_instance_code_and_order_id(order_item.item_instance_code, order_item.order_id)
assigned_items = nil
if !assigned_item.nil?
assigned_items = AssignedOrderItem.where("item_code='" + assigned_item.item_code + "' AND " + "order_id='" + assigned_item.order_id + "'")
- end
+ end
if !assigned_items.nil?
assigned_items.each do |assign_item|
# order queue stations
oqs = assign_item.order_queue_station
- printer = PrintSetting.all
+ printer = PrintSetting.all
unique_code="OrderItemPdf"
if !printer.empty?
printer.each do |printer_setting|
- if printer_setting.unique_code == 'OrderItemPdf'
+ if printer_setting.unique_code == 'OrderItemPdf'
unique_code="OrderItemPdf"
elsif printer_setting.unique_code == 'OrderItemSlimPdf'
unique_code="OrderItemSlimPdf"
@@ -62,12 +62,14 @@ class Oqs::EditController < BaseOqsController
elsif printer_setting.unique_code == 'OrderItemCustomisePdf'
unique_code="OrderItemCustomisePdf"
elsif printer_setting.unique_code == 'OrderSetItemCustomisePdf'
- unique_code="OrderSetItemCustomisePdf"
+ unique_code="OrderSetItemCustomisePdf"
elsif printer_setting.unique_code == 'OrderItemSlimCustomisePdf'
unique_code="OrderItemSlimCustomisePdf"
- end
+ elsif printer_setting.unique_code == 'OrderItemStarPdf'
+ unique_code="OrderItemStarPdf"
+ end
end
- end
+ end
print_settings=PrintSetting.find_by_unique_code(unique_code)
order_queue_printer= Printer::OrderQueuePrinter.new(print_settings)
diff --git a/app/controllers/origami/void_controller.rb b/app/controllers/origami/void_controller.rb
index e2c3250e..75bb7074 100755
--- a/app/controllers/origami/void_controller.rb
+++ b/app/controllers/origami/void_controller.rb
@@ -28,7 +28,7 @@ class Origami::VoidController < BaseOrigamiController
shift.save
end
end
-
+
sale.rounding_adjustment = 0.0
sale.payment_status = 'void'
sale.sale_status = 'void'
@@ -71,16 +71,16 @@ class Origami::VoidController < BaseOrigamiController
table = nil
end
- # FOr Sale Audit
+ # FOr Sale Audit
action_by = current_user.name
if access_code != "null" && current_user.role == "cashier"
action_by = Employee.find_by_emp_id(access_code).name
end
-
+
# remark = "Void Sale ID #{sale_id} | Receipt No #{sale.receipt_no} | Receipt No #{sale.receipt_no} | Table ->#{table.name}"
sale_audit = SaleAudit.record_audit_for_edit(sale_id,current_user.name, action_by,remark,"SALEVOID" )
- # For Print
+ # For Print
member_info = nil
rebate_amount = nil
@@ -88,7 +88,7 @@ class Origami::VoidController < BaseOrigamiController
# For Cashier by Zone
bookings = Booking.where("sale_id='#{sale_id}'")
- if bookings.count > 1
+ if bookings.count > 1
# for Multiple Booking
if bookings[0].dining_facility_id.to_i>0
table = DiningFacility.find(bookings[0].dining_facility_id)
@@ -102,12 +102,20 @@ class Origami::VoidController < BaseOrigamiController
shift = ShiftSale.find(sale.shift_sale_id)
cashier_terminal = CashierTerminal.find(shift.cashier_terminal_id)
end
-
+
# if ENV["SERVER_MODE"] != "cloud" #no print in cloud server
- unique_code = "ReceiptBillPdf"
+ # get printer info
+ # print_settings = PrintSetting.find_by_unique_code('ReceiptBillPdf') # SaleItemsPdf
+ #
+ # if !print_settings.nil?
+ # unique_code = 'ReceiptBillPdf'
+ # elsif
+ # unique_code = 'ReceiptBillStarPdf'
+ # end
+
customer= Customer.find(sale.customer_id)
-
+
#shop detail
shop_details = current_shop
# get member information
@@ -119,34 +127,48 @@ class Origami::VoidController < BaseOrigamiController
current_balance = 0
end
+ printer = PrintSetting.all
+
+ unique_code="ReceiptBillPdf"
+ if !printer.empty?
+ printer.each do |printer_setting|
+ if printer_setting.unique_code == 'ReceiptBillPdf'
+ unique_code="ReceiptBillPdf"
+ elsif printer_setting.unique_code == 'ReceiptBillA5Pdf'
+ unique_code="ReceiptBillA5Pdf"
+ elsif printer_setting.unique_code == 'ReceiptBillStarPdf'
+ unique_code="ReceiptBillStarPdf"
+ end
+ end
+ end
# get printer info
print_settings=PrintSetting.find_by_unique_code(unique_code)
# Calculate Food and Beverage Total
item_price_by_accounts = SaleItem.calculate_price_by_accounts(sale.sale_items)
discount_price_by_accounts = SaleItem.get_discount_price_by_accounts(sale.sale_items)
other_amount = SaleItem.calculate_other_charges(sale.sale_items)
- printer = Printer::ReceiptPrinter.new(print_settings)
- filename, sale_receipt_no, printer_name = printer.print_receipt_bill(print_settings,cashier_terminal,sale.sale_items,sale,customer.name, item_price_by_accounts, discount_price_by_accounts, member_info,rebate_amount,shop_details, "VOID",current_balance,nil,other_amount,nil,nil,nil)
- result = {
- :filepath => filename,
- :printer_model => print_settings.brand_name,
- :printer_url => print_settings.api_settings
+ printer = Printer::ReceiptPrinter.new(print_settings)
+ filename, sale_receipt_no, printer_name = printer.print_receipt_bill(print_settings,cashier_terminal,sale.sale_items,sale,customer.name, item_price_by_accounts, discount_price_by_accounts, member_info,rebate_amount,shop_details, "VOID",current_balance,nil,other_amount,nil,nil,nil)
+ result = {
+ :filepath => filename,
+ :printer_model => print_settings.brand_name,
+ :printer_url => print_settings.api_settings
}
# Mobile Print
render :json => result.to_json
# end
-
+
#end print
# update complete order items in oqs
- SaleOrder.where("sale_id = '#{ sale_id }'").find_each do |sodr|
+ SaleOrder.where("sale_id = '#{ sale_id }'").find_each do |sodr|
AssignedOrderItem.where("order_id = '#{ sodr.order_id }'").find_each do |aoi|
aoi.delivery_status = 1
aoi.save
end
end
end
- end
-
-end
\ No newline at end of file
+ end
+
+end
diff --git a/app/controllers/origami/waste_spoile_controller.rb b/app/controllers/origami/waste_spoile_controller.rb
index 82c62a7e..92720467 100755
--- a/app/controllers/origami/waste_spoile_controller.rb
+++ b/app/controllers/origami/waste_spoile_controller.rb
@@ -18,7 +18,7 @@ class Origami::WasteSpoileController < BaseOrigamiController
# sale.compute_by_sale_items(sale_id, sale.sale_items,0,order_source)
# add to sale item with foc
# sale_items = SaleItem.where("sale_id='#{ sale_id }' and status is null")
-
+
sale.sale_items.each do|item|
# SaleItem.update_existing_item(item.qty, item, sale_id, remark, item.unit_price, item.price)
item.status = remark
@@ -53,7 +53,7 @@ class Origami::WasteSpoileController < BaseOrigamiController
table = nil
end
- # FOr Sale Audit
+ # FOr Sale Audit
action_by = current_user.name
if access_code != "null" && current_user.role == "cashier"
action_by = Employee.find_by_emp_id(access_code).name
@@ -61,7 +61,7 @@ class Origami::WasteSpoileController < BaseOrigamiController
# remark = "Void Sale ID #{sale_id} | Receipt No #{sale.receipt_no} | Receipt No #{sale.receipt_no} | Table ->#{table.name}"
sale_audit = SaleAudit.record_audit_for_edit(sale_id,current_user.name, action_by,remark,remark )
- # For Print
+ # For Print
member_info = nil
rebate_amount = nil
@@ -69,7 +69,7 @@ class Origami::WasteSpoileController < BaseOrigamiController
# For Cashier by Zone
bookings = Booking.where("sale_id='#{sale_id}'")
- if bookings.count > 1
+ if bookings.count > 1
# for Multiple Booking
if bookings[0].dining_facility_id.to_i>0
table = DiningFacility.find(bookings[0].dining_facility_id)
@@ -83,12 +83,12 @@ class Origami::WasteSpoileController < BaseOrigamiController
shift = ShiftSale.find(sale.shift_sale_id)
cashier_terminal = CashierTerminal.find(shift.cashier_terminal_id)
end
-
+
# if ENV["SERVER_MODE"] != "cloud" #no print in cloud server
- unique_code = "ReceiptBillPdf"
+ # unique_code = "ReceiptBillPdf"
customer= Customer.find(sale.customer_id)
-
+
#shop detail
shop_details = current_shop
# get member information
@@ -100,34 +100,49 @@ class Origami::WasteSpoileController < BaseOrigamiController
current_balance = 0
end
+ printer = PrintSetting.all
+
+ unique_code="ReceiptBillPdf"
+ if !printer.empty?
+ printer.each do |printer_setting|
+ if printer_setting.unique_code == 'ReceiptBillPdf'
+ unique_code="ReceiptBillPdf"
+ elsif printer_setting.unique_code == 'ReceiptBillA5Pdf'
+ unique_code="ReceiptBillA5Pdf"
+ elsif printer_setting.unique_code == 'ReceiptBillStarPdf'
+ unique_code="ReceiptBillStarPdf"
+ end
+ end
+ end
+
# get printer info
print_settings=PrintSetting.find_by_unique_code(unique_code)
# Calculate Food and Beverage Total
item_price_by_accounts = SaleItem.calculate_price_by_accounts(sale.sale_items)
discount_price_by_accounts = SaleItem.get_discount_price_by_accounts(sale.sale_items)
other_amount = SaleItem.calculate_other_charges(sale.sale_items)
- printer = Printer::ReceiptPrinter.new(print_settings)
- filename, sale_receipt_no, printer_name = printer.print_receipt_bill(print_settings,cashier_terminal,sale.sale_items,sale,customer.name, item_price_by_accounts, discount_price_by_accounts, member_info,rebate_amount,shop_details, remark,current_balance,nil,other_amount,nil,nil,nil)
- result = {
- :filepath => filename,
- :printer_model => print_settings.brand_name,
- :printer_url => print_settings.api_settings
+ printer = Printer::ReceiptPrinter.new(print_settings)
+ filename, sale_receipt_no, printer_name = printer.print_receipt_bill(print_settings,cashier_terminal,sale.sale_items,sale,customer.name, item_price_by_accounts, discount_price_by_accounts, member_info,rebate_amount,shop_details, remark,current_balance,nil,other_amount,nil,nil,nil)
+ result = {
+ :filepath => filename,
+ :printer_model => print_settings.brand_name,
+ :printer_url => print_settings.api_settings
}
# Mobile Print
render :json => result.to_json
# end
-
+
#end print
# update complete order items in oqs
- SaleOrder.where("sale_id = '#{ sale_id }'").find_each do |sodr|
+ SaleOrder.where("sale_id = '#{ sale_id }'").find_each do |sodr|
AssignedOrderItem.where("order_id = '#{ sodr.order_id }'").find_each do |aoi|
aoi.delivery_status = 1
aoi.save
end
end
end
- end
-
-end
\ No newline at end of file
+ end
+
+end
diff --git a/app/models/printer/receipt_printer.rb b/app/models/printer/receipt_printer.rb
index 83a8e6c6..04951a12 100755
--- a/app/models/printer/receipt_printer.rb
+++ b/app/models/printer/receipt_printer.rb
@@ -9,7 +9,7 @@ class Printer::ReceiptPrinter < Printer::PrinterWorker
if !printer.empty?
printer.each do |printer_setting|
- if printer_setting.unique_code == 'OrderItemPdf'
+ if printer_setting.unique_code == 'OrderItemPdf'
pdf = OrderItemPdf.new
elsif printer_setting.unique_code == 'OrderItemSlimPdf'
pdf = OrderItemSlimPdf.new
@@ -18,12 +18,12 @@ class Printer::ReceiptPrinter < Printer::PrinterWorker
elsif printer_setting.unique_code == 'OrderItemCustomisePdf'
pdf = OrderItemCustomisePdf.new
elsif printer_setting.unique_code == 'OrderSetItemCustomisePdf'
- pdf = OrderSetItemCustomisePdf.new
+ pdf = OrderSetItemCustomisePdf.new
elsif printer_setting.unique_code == 'OrderItemSlimCustomisePdf'
pdf = OrderItemSlimCustomisePdf.new
- end
+ end
end
- end
+ end
pdf.render_file "tmp/order_item_queue_#{order_id}_#{order_item_id}" + ".pdf"
#no print in cloud server
if ENV["SERVER_MODE"] != "cloud"
@@ -41,7 +41,7 @@ class Printer::ReceiptPrinter < Printer::PrinterWorker
if !printer.empty?
printer.each do |printer_setting|
- if printer_setting.unique_code == 'OrderSummaryPdf'
+ if printer_setting.unique_code == 'OrderSummaryPdf'
pdf = OrderSummaryPdf.new
elsif printer_setting.unique_code == 'OrderSummarySlimPdf'
pdf = OrderSummarySlimPdf.new
@@ -50,12 +50,12 @@ class Printer::ReceiptPrinter < Printer::PrinterWorker
elsif printer_setting.unique_code == 'OrderSummaryCustomisePdf'
pdf = OrderSummaryCustomisePdf.new
elsif printer_setting.unique_code == 'OrderSummarySetCustomisePdf'
- pdf = OrderSummarySetCustomisePdf.new
+ pdf = OrderSummarySetCustomisePdf.new
elsif printer_setting.unique_code == 'OrderSummarySlimCustomisePdf'
pdf = OrderSummarySlimCustomisePdf.new
- end
+ end
end
- end
+ end
pdf.render_file filename
#no print in cloud server
if ENV["SERVER_MODE"] != "cloud"
@@ -72,7 +72,7 @@ class Printer::ReceiptPrinter < Printer::PrinterWorker
pdf = OrderSummaryPdf.new
if !printer.empty?
printer.each do |printer_setting|
- if printer_setting.unique_code == 'OrderSummaryPdf'
+ if printer_setting.unique_code == 'OrderSummaryPdf'
pdf = OrderSummaryPdf.new
elsif printer_setting.unique_code == 'OrderSummarySlimPdf'
pdf = OrderSummarySlimPdf.new
@@ -81,12 +81,12 @@ class Printer::ReceiptPrinter < Printer::PrinterWorker
elsif printer_setting.unique_code == 'OrderSummaryCustomisePdf'
pdf = OrderSummaryCustomisePdf.new
elsif printer_setting.unique_code == 'OrderSummarySetCustomisePdf'
- pdf = OrderSummarySetCustomisePdf.new
+ pdf = OrderSummarySetCustomisePdf.new
elsif printer_setting.unique_code == 'OrderSummarySlimCustomisePdf'
pdf = OrderSummarySlimCustomisePdf.new
- end
+ end
end
- end
+ end
pdf.render_file filename
#no print in cloud server
if ENV["SERVER_MODE"] != "cloud"
@@ -103,7 +103,7 @@ class Printer::ReceiptPrinter < Printer::PrinterWorker
pdf = OrderSummaryPdf.new
if !printer.empty?
printer.each do |printer_setting|
- if printer_setting.unique_code == 'OrderSummaryPdf'
+ if printer_setting.unique_code == 'OrderSummaryPdf'
pdf = OrderSummaryPdf.new
elsif printer_setting.unique_code == 'OrderSummarySlimPdf'
pdf = OrderSummarySlimPdf.new
@@ -112,12 +112,12 @@ class Printer::ReceiptPrinter < Printer::PrinterWorker
elsif printer_setting.unique_code == 'OrderSummaryCustomisePdf'
pdf = OrderSummaryCustomisePdf.new
elsif printer_setting.unique_code == 'OrderSummarySetCustomisePdf'
- pdf = OrderSummarySetCustomisePdf.new
+ pdf = OrderSummarySetCustomisePdf.new
elsif printer_setting.unique_code == 'OrderSummarySlimCustomisePdf'
pdf = OrderSummarySlimCustomisePdf.new
- end
+ end
end
- end
+ end
pdf.render_file filename
#no print in cloud server
if ENV["SERVER_MODE"] != "cloud"
@@ -134,7 +134,7 @@ class Printer::ReceiptPrinter < Printer::PrinterWorker
pdf = OrderSummaryPdf.new
if !printer.empty?
printer.each do |printer_setting|
- if printer_setting.unique_code == 'OrderSummaryPdf'
+ if printer_setting.unique_code == 'OrderSummaryPdf'
pdf = OrderSummaryPdf.new
elsif printer_setting.unique_code == 'OrderSummarySlimPdf'
pdf = OrderSummarySlimPdf.new
@@ -143,12 +143,12 @@ class Printer::ReceiptPrinter < Printer::PrinterWorker
elsif printer_setting.unique_code == 'OrderSummaryCustomisePdf'
pdf = OrderSummaryCustomisePdf.new
elsif printer_setting.unique_code == 'OrderSummarySetCustomisePdf'
- pdf = OrderSummarySetCustomisePdf.new
+ pdf = OrderSummarySetCustomisePdf.new
elsif printer_setting.unique_code == 'OrderSummarySlimCustomisePdf'
pdf = OrderSummarySlimCustomisePdf.new
- end
+ end
end
- end
+ end
pdf.render_file filename
#no print in cloud server
if ENV["SERVER_MODE"] != "cloud"
@@ -165,7 +165,7 @@ class Printer::ReceiptPrinter < Printer::PrinterWorker
pdf = OrderSummaryPdf.new
if !printer.empty?
printer.each do |printer_setting|
- if printer_setting.unique_code == 'OrderSummaryPdf'
+ if printer_setting.unique_code == 'OrderSummaryPdf'
pdf = OrderSummaryPdf.new
elsif printer_setting.unique_code == 'OrderSummarySlimPdf'
pdf = OrderSummarySlimPdf.new
@@ -174,12 +174,12 @@ class Printer::ReceiptPrinter < Printer::PrinterWorker
elsif printer_setting.unique_code == 'OrderSummaryCustomisePdf'
pdf = OrderSummaryCustomisePdf.new
elsif printer_setting.unique_code == 'OrderSummarySetCustomisePdf'
- pdf = OrderSummarySetCustomisePdf.new
+ pdf = OrderSummarySetCustomisePdf.new
elsif printer_setting.unique_code == 'OrderSummarySlimCustomisePdf'
pdf = OrderSummarySlimCustomisePdf.new
- end
+ end
end
- end
+ end
pdf.render_file filename
#no print in cloud server
if ENV["SERVER_MODE"] != "cloud"
@@ -191,7 +191,7 @@ class Printer::ReceiptPrinter < Printer::PrinterWorker
def print_receipt_bill(printer_settings,cashier_terminal,sale_items,sale_data, customer_name, item_price_by_accounts, discount_price_by_accounts, member_info = nil,rebate_amount=nil,shop_details, printed_status,balance,card_data,other_amount,latest_order_no,card_balance_amount,order_reservation)
#Use CUPS service
#Generate PDF
- #Print
+ #Print
if !printer_settings.nil?
if !printer_settings.unique_code.strip.downcase.include? ("receiptbillorder")
pdf = ReceiptBillPdf.new(printer_settings, sale_items, sale_data, customer_name, item_price_by_accounts, discount_price_by_accounts, member_info,rebate_amount,shop_details,printed_status,balance,card_data,other_amount,latest_order_no,card_balance_amount)
@@ -205,11 +205,11 @@ class Printer::ReceiptPrinter < Printer::PrinterWorker
end
end
end
-
+
receipt_bill_a5_pdf = Lookup.collection_of("print_settings") #print_settings with name:ReceiptBillA5Pdf
if !receipt_bill_a5_pdf.empty?
receipt_bill_a5_pdf.each do |receipt_bilA5|
- if receipt_bilA5[0] == 'ReceiptBillA5Pdf'
+ if receipt_bilA5[0] == 'ReceiptBillA5Pdf'
if receipt_bilA5[1] == '1'
pdf = ReceiptBillA5Pdf.new(printer_settings, sale_items, sale_data, customer_name, item_price_by_accounts, discount_price_by_accounts, member_info,rebate_amount,shop_details,printed_status,balance,card_data,other_amount,latest_order_no,card_balance_amount)
# else
@@ -222,7 +222,7 @@ class Printer::ReceiptPrinter < Printer::PrinterWorker
#doemal online order pdf template
pdf = ReceiptBillOrderPdf.new(printer_settings, sale_items, sale_data, customer_name, item_price_by_accounts, discount_price_by_accounts, member_info,rebate_amount,shop_details,printed_status,balance,card_data,other_amount,latest_order_no,card_balance_amount,order_reservation)
end
-
+
# print as print copies in printer setting
count = printer_settings.print_copies
diff --git a/app/views/origami/addorders/detail.html.erb b/app/views/origami/addorders/detail.html.erb
index fe860a25..be8b824f 100644
--- a/app/views/origami/addorders/detail.html.erb
+++ b/app/views/origami/addorders/detail.html.erb
@@ -285,7 +285,7 @@
<%end%>
<%else%>
- <% if @quick_service_only %>
+ <% if !@quick_service_only %>
<%end%>
<%end%>