add settings for order item, order summary slim and receiptbillA5, receiptbillShowAltName

This commit is contained in:
phyusin
2018-01-17 12:08:14 +06:30
parent 21a39dc390
commit 06686b06bb
8 changed files with 221 additions and 61 deletions

View File

@@ -44,8 +44,8 @@ For Extra Time
For Order Item & Order Summary Slim
*** change OrderItemPdf to OrderItemSlimPdf and OrderSummaryPdf to OrderSummarySlimPdf
1) settings/print_settings
2) settings/lookups => { type:order_slim_pdf, name:OrderSlimPdf, value:1 }
* no need to change these page
2) settings/lookups => { type:print_settings, name:OrderSlimPdf, value:1 }
* no need to change these files
{ app/controllers/oqs/edit_controller.rb
app/controllers/oqs/print_controller.rb
app/models/order_queue_station.rb
@@ -53,6 +53,14 @@ For Order Item & Order Summary Slim
app/models/printer/receipt_printer.rb
}
For ReceiptBillA5Pdf
*** change ReceiptBillPdf to ReceiptBillA5Pdf
1) settings/print_settings , width:680, height:1450
2) settings/lookups => { type:print_settings, name:ReceiptBillA5Pdf, value:1 }
For ReceiptBillAltName options
1) settings/lookups => { type:print_settings, name:ReceiptBillAltName, value:1 }
For Bank Integration setting
1) rake db:migrate for card_sale_trans, card_settle_trans
2) settings/lookups => { type:bank_integration, name: Bank Integration, value:1 }

View File

@@ -22,12 +22,18 @@ class Oqs::EditController < BaseOqsController
# order queue stations
oqs = assigned_item.order_queue_station
order_slim_pdf = Lookup.collection_of("order_slim_pdf") #order_slim_pdf
order_slim_pdf = Lookup.collection_of("print_settings") #print_settings with name:OrderSlimPdf
unique_code="OrderItemPdf"
if !order_slim_pdf.empty?
if order_slim_pdf[0][1] == '1'
unique_code="OrderItemSlimPdf"
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
end
end
end

View File

@@ -2,12 +2,18 @@ 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("order_slim_pdf") #order_slim_pdf
order_slim_pdf = Lookup.collection_of("print_settings") #print_settings with name:OrderSlimPdf
unique_code="OrderItemPdf"
if !order_slim_pdf.empty?
if order_slim_pdf[0][1] == '1'
unique_code="OrderItemSlimPdf"
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
end
end
end
@@ -39,11 +45,17 @@ class Oqs::PrintController < ApplicationController
# 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("order_slim_pdf") #order_slim_pdf
order_slim_pdf = Lookup.collection_of("print_settings") #print_settings with name:OrderSlimPdf
unique_code="OrderSummaryPdf"
if !order_slim_pdf.empty?
if order_slim_pdf[0][1] == '1'
unique_code="OrderSummarySlimPdf"
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
end
end
end

View File

@@ -102,11 +102,17 @@ class OrderQueueStation < ApplicationRecord
private
#Print order_items in 1 slip
def print_slip(oqs, order, order_items)
order_slim_pdf = Lookup.collection_of("order_slim_pdf") #order_slim_pdf
order_slim_pdf = Lookup.collection_of("print_settings") #print_settings with name:OrderSlimPdf
unique_code="OrderSummaryPdf"
if !order_slim_pdf.empty?
if order_slim_pdf[0][1] == '1'
unique_code="OrderSummarySlimPdf"
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
end
end
end
@@ -124,11 +130,17 @@ class OrderQueueStation < ApplicationRecord
#Print order_item in 1 slip per item
def print_slip_item(oqs, assigned_item)
order_slim_pdf = Lookup.collection_of("order_slim_pdf") #order_slim_pdf
order_slim_pdf = Lookup.collection_of("print_settings") #print_settings with name:OrderSlimPdf
unique_code="OrderItemPdf"
if !order_slim_pdf.empty?
if order_slim_pdf[0][1] == '1'
unique_code="OrderItemSlimPdf"
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
end
end
end

View File

@@ -14,15 +14,19 @@ class Printer::OrderQueuePrinter < Printer::PrinterWorker
filename = "tmp/order_item_#{order_id}_#{order_item_id}" + ".pdf"
order_slim_pdf = Lookup.collection_of("order_slim_pdf") #order_slim_pdf
order_slim_pdf = Lookup.collection_of("print_settings") #print_settings with name:OrderSlimPdf
# check for item not to show
# if order_item[0].price != 0
if !order_slim_pdf.empty?
if order_slim_pdf[0][1] == '1'
pdf = OrderItemSlimPdf.new(print_settings,order_item[0], print_status, options, oqs.use_alternate_name)
else
pdf = OrderItemPdf.new(print_settings,order_item[0], print_status, options, oqs.use_alternate_name)
order_slim_pdf.each do |order_item_slim|
if order_item_slim[0] == 'OrderSlimPdf'
if order_item_slim[1] == '1'
pdf = OrderItemSlimPdf.new(print_settings,order_item[0], print_status, options, oqs.use_alternate_name)
else
pdf = OrderItemPdf.new(print_settings,order_item[0], print_status, options, oqs.use_alternate_name)
end
end
end
else
pdf = OrderItemPdf.new(print_settings,order_item[0], print_status, options, oqs.use_alternate_name)
@@ -53,7 +57,7 @@ class Printer::OrderQueuePrinter < Printer::PrinterWorker
print_settings.save!
end
order_slim_pdf = Lookup.collection_of("order_slim_pdf") #order_slim_pdf
order_slim_pdf = Lookup.collection_of("print_settings") #print_settings with name:OrderSlimPdf
order=print_query('order_summary', order_id)
# For Print Per Item
@@ -68,10 +72,14 @@ class Printer::OrderQueuePrinter < Printer::PrinterWorker
# check for item not to show
#if odi.price != 0
if !order_slim_pdf.empty?
if order_slim_pdf[0][1] == '1'
pdf = OrderItemSlimPdf.new(print_settings,odi_item[0], print_status, options, oqs.use_alternate_name)
else
pdf = OrderItemPdf.new(print_settings,odi_item[0], print_status, options, oqs.use_alternate_name)
order_slim_pdf.each do |order_item_slim|
if order_item_slim[0] == 'OrderSlimPdf'
if order_item_slim[1] == '1'
pdf = OrderItemSlimPdf.new(print_settings,odi_item[0], print_status, options, oqs.use_alternate_name)
else
pdf = OrderItemPdf.new(print_settings,odi_item[0], print_status, options, oqs.use_alternate_name)
end
end
end
else
pdf = OrderItemPdf.new(print_settings,odi_item[0], print_status, options, oqs.use_alternate_name)
@@ -92,10 +100,14 @@ class Printer::OrderQueuePrinter < Printer::PrinterWorker
else
filename = "tmp/order_summary_#{order_id}" + ".pdf"
if !order_slim_pdf.empty?
if order_slim_pdf[0][1] == '1'
pdf = OrderSummarySlimPdf.new(print_settings,order, print_status, order_items, oqs.use_alternate_name)
else
pdf = OrderSummaryPdf.new(print_settings,order, print_status, order_items, oqs.use_alternate_name)
order_slim_pdf.each do |order_summary_slim|
if order_summary_slim[0] == 'OrderSlimPdf'
if order_summary_slim[1] == '1'
pdf = OrderSummarySlimPdf.new(print_settings,order, print_status, order_items, oqs.use_alternate_name)
else
pdf = OrderSummaryPdf.new(print_settings,order, print_status, order_items, oqs.use_alternate_name)
end
end
end
else
pdf = OrderSummaryPdf.new(print_settings,order, print_status, order_items, oqs.use_alternate_name)
@@ -122,7 +134,7 @@ class Printer::OrderQueuePrinter < Printer::PrinterWorker
print_settings.save!
end
order_slim_pdf = Lookup.collection_of("order_slim_pdf") #order_slim_pdf
order_slim_pdf = Lookup.collection_of("print_settings") #print_settings with name:OrderSlimPdf
order=print_query('booking_summary', booking_id)
# For Print Per Item
@@ -135,10 +147,14 @@ class Printer::OrderQueuePrinter < Printer::PrinterWorker
# check for item not to show
#if odi.price != 0
if !order_slim_pdf.empty?
if order_slim_pdf[0][1] == '1'
pdf = OrderItemSlimPdf.new(print_settings,odi, print_status, options,oqs.use_alternate_name)
else
pdf = OrderItemPdf.new(print_settings,odi, print_status, options,oqs.use_alternate_name)
order_slim_pdf.each do |order_item_slim|
if order_item_slim[0] == 'OrderSlimPdf'
if order_item_slim[1] == '1'
pdf = OrderItemSlimPdf.new(print_settings,odi, print_status, options,oqs.use_alternate_name)
else
pdf = OrderItemPdf.new(print_settings,odi, print_status, options,oqs.use_alternate_name)
end
end
end
else
pdf = OrderItemPdf.new(print_settings,odi, print_status, options,oqs.use_alternate_name)
@@ -162,10 +178,14 @@ class Printer::OrderQueuePrinter < Printer::PrinterWorker
else
filename = "tmp/booking_summary_#{booking_id}" + ".pdf"
if !order_slim_pdf.empty?
if order_slim_pdf[0][1] == '1'
pdf = OrderSummarySlimPdf.new(print_settings,order, print_status,oqs.use_alternate_name)
else
pdf = OrderSummaryPdf.new(print_settings,order, print_status,oqs.use_alternate_name)
order_slim_pdf.each do |order_summary_slim|
if order_summary_slim[0] == 'OrderSlimPdf'
if order_summary_slim[1] == '1'
pdf = OrderSummarySlimPdf.new(print_settings,order, print_status,oqs.use_alternate_name)
else
pdf = OrderSummaryPdf.new(print_settings,order, print_status,oqs.use_alternate_name)
end
end
end
else
pdf = OrderSummaryPdf.new(print_settings,order, print_status,oqs.use_alternate_name)

View File

@@ -4,11 +4,17 @@ class Printer::ReceiptPrinter < Printer::PrinterWorker
#Use CUPS service
#Generate PDF
#Print
order_slim_pdf = Lookup.collection_of("order_slim_pdf") #order_slim_pdf
order_slim_pdf = Lookup.collection_of("print_settings") #print_settings with name:OrderSlimPdf
pdf = OrderItemPdf.new
if !order_slim_pdf.empty?
if order_slim_pdf[0][1] == '1'
pdf = OrderItemSlimPdf.new
order_slim_pdf.each do |order_item_slim|
if order_item_slim[0] == 'OrderSlimPdf'
if order_item_slim[1] == '1'
pdf = OrderItemSlimPdf.new
else
pdf = OrderItemPdf.new
end
end
end
end
pdf.render_file "tmp/order_item_queue_#{order_id}_#{order_item_id}" + ".pdf"
@@ -20,11 +26,17 @@ class Printer::ReceiptPrinter < Printer::PrinterWorker
#Generate PDF
#Print
filename = "tmp/order_summary_#{booking_id}" + ".pdf"
order_slim_pdf = Lookup.collection_of("order_slim_pdf") #order_slim_pdf
order_slim_pdf = Lookup.collection_of("print_settings") #print_settings with name:OrderSlimPdf
pdf = OrderSummaryPdf.new
if !order_slim_pdf.empty?
if order_slim_pdf[0][1] == '1'
pdf = OrderSummarySlimPdf.new
order_slim_pdf.each do |order_summary_slim|
if order_summary_slim[0] == 'OrderSlimPdf'
if order_summary_slim[1] == '1'
pdf = OrderSummarySlimPdf.new
else
pdf = OrderSummaryPdf.new
end
end
end
end
pdf.render_file filename
@@ -36,12 +48,18 @@ class Printer::ReceiptPrinter < Printer::PrinterWorker
#Use CUPS service
#Generate PDF
#Print
order_slim_pdf = Lookup.collection_of("order_slim_pdf") #order_slim_pdf
order_slim_pdf = Lookup.collection_of("print_settings") #print_settings with name:OrderSlimPdf
filename = "tmp/order_summary_#{booking_id}" + ".pdf"
pdf = OrderSummaryPdf.new
if !order_slim_pdf.empty?
if order_slim_pdf[0][1] == '1'
pdf = OrderSummarySlimPdf.new
order_slim_pdf.each do |order_summary_slim|
if order_summary_slim[0] == 'OrderSlimPdf'
if order_summary_slim[1] == '1'
pdf = OrderSummarySlimPdf.new
else
pdf = OrderSummaryPdf.new
end
end
end
end
pdf.render_file filename
@@ -53,12 +71,18 @@ class Printer::ReceiptPrinter < Printer::PrinterWorker
#Use CUPS service
#Generate PDF
#Print
order_slim_pdf = Lookup.collection_of("order_slim_pdf") #order_slim_pdf
order_slim_pdf = Lookup.collection_of("print_settings") #print_settings with name:OrderSlimPdf
filename = "tmp/order_summary_#{booking_id}" + ".pdf"
pdf = OrderSummaryPdf.new
if !order_slim_pdf.empty?
if order_slim_pdf[0][1] == '1'
pdf = OrderSummarySlimPdf.new
order_slim_pdf.each do |order_summary_slim|
if order_summary_slim[0] == 'OrderSlimPdf'
if order_summary_slim[1] == '1'
pdf = OrderSummarySlimPdf.new
else
pdf = OrderSummaryPdf.new
end
end
end
end
pdf.render_file filename
@@ -70,12 +94,18 @@ class Printer::ReceiptPrinter < Printer::PrinterWorker
#Use CUPS service
#Generate PDF
#Print
order_slim_pdf = Lookup.collection_of("order_slim_pdf") #order_slim_pdf
order_slim_pdf = Lookup.collection_of("print_settings") #print_settings with name:OrderSlimPdf
filename = "tmp/order_summary_#{booking_id}" + ".pdf"
pdf = OrderSummaryPdf.new
if !order_slim_pdf.empty?
if order_slim_pdf[0][1] == '1'
pdf = OrderSummarySlimPdf.new
order_slim_pdf.each do |order_summary_slim|
if order_summary_slim[0] == 'OrderSlimPdf'
if order_summary_slim[1] == '1'
pdf = OrderSummarySlimPdf.new
else
pdf = OrderSummaryPdf.new
end
end
end
end
pdf.render_file filename
@@ -87,12 +117,18 @@ class Printer::ReceiptPrinter < Printer::PrinterWorker
#Use CUPS service
#Generate PDF
#Print
order_slim_pdf = Lookup.collection_of("order_slim_pdf") #order_slim_pdf
order_slim_pdf = Lookup.collection_of("print_settings") #print_settings with name:OrderSlimPdf
filename = "tmp/order_summary_#{booking_id}" + ".pdf"
pdf = OrderSummaryPdf.new
if !order_slim_pdf.empty?
if order_slim_pdf[0][1] == '1'
pdf = OrderSummarySlimPdf.new
order_slim_pdf.each do |order_summary_slim|
if order_summary_slim[0] == 'OrderSlimPdf'
if order_summary_slim[1] == '1'
pdf = OrderSummarySlimPdf.new
else
pdf = OrderSummaryPdf.new
end
end
end
end
pdf.render_file filename
@@ -105,15 +141,27 @@ class Printer::ReceiptPrinter < Printer::PrinterWorker
#Use CUPS service
#Generate PDF
#Print
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)
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[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)
else
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)
end
end
end
else
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)
end
# print as print copies in printer setting
count = printer_settings.print_copies
# override print copies for print worker loop
print_settings.print_copies = 1
print_settings.save!
begin
if count == 1
pdf.render_file "tmp/receipt_bill_#{sale_data.receipt_no}.pdf"

View File

@@ -193,6 +193,15 @@ class ReceiptBillA5Pdf < Prawn::Document
text_box "#{number_with_precision(price, :precision => precision.to_i, :delimiter => delimiter)}", :at =>[self.item_width,y_position], :width => self.price_width, :size => self.item_font_size, :align => :right, :overflow => :shrink_to_fix
text_box "#{number_with_precision(qty, :precision => precision.to_i)}", :at =>[item_qty_front_width,y_position], :width => item_qty_end_width, :size => self.item_font_size, :align => :center, :overflow => :shrink_to_fix
text_box "#{number_with_precision(total_price, :precision => precision.to_i, :delimiter => delimiter)}", :at =>[item_total_front_width,y_position], :width =>item_total_end_width, :size => self.item_font_size, :align => :right, :overflow => :shrink_to_fix
if show_alt_name
if !(item.product_alt_name).empty?
move_down 2
font("public/fonts/NotoSansCJKtc-Regular.ttf") do
text "(#{item.product_alt_name})", :size => self.item_font_size,:align => :left, :inline_format => true
end
end
end
}
move_down 10
end
@@ -503,5 +512,23 @@ class ReceiptBillA5Pdf < Prawn::Document
move_down 10
end
#check ReceiptBillAltName included
def show_alt_name
bill_alt_name = Lookup.collection_of("print_settings") #print_settings with name:ReceiptBillA5Pdf
status = false
if !bill_alt_name.empty?
bill_alt_name.each do |alt_name|
if alt_name[0] == 'ReceiptBillAltName'
if alt_name[1] == '1'
status = true
else
status = false
end
end
end
end
return status
end
end

View File

@@ -199,6 +199,15 @@ class ReceiptBillPdf < Prawn::Document
text_box "#{number_with_precision(price, :precision => precision.to_i, :delimiter => delimiter)}", :at =>[self.item_width,y_position], :width => self.price_width, :size => self.item_font_size, :align => :right, :overflow => :shrink_to_fix
text_box "#{number_with_precision(qty, :precision => precision.to_i)}", :at =>[item_qty_front_width,y_position], :width => item_qty_end_width, :size => self.item_font_size, :align => :center, :overflow => :shrink_to_fix
text_box "#{number_with_precision(total_price, :precision => precision.to_i, :delimiter => delimiter)}", :at =>[item_total_front_width,y_position], :width =>item_total_end_width, :size => self.item_font_size, :align => :right, :overflow => :shrink_to_fix
if show_alt_name
if !(item.product_alt_name).empty?
move_down 2
font("public/fonts/NotoSansCJKtc-Regular.ttf") do
text "(#{item.product_alt_name})", :size => self.item_font_size,:align => :left, :inline_format => true
end
end
end
}
move_down 5
end
@@ -532,5 +541,23 @@ class ReceiptBillPdf < Prawn::Document
end
end
end
#check ReceiptBillAltName included
def show_alt_name
bill_alt_name = Lookup.collection_of("print_settings") #print_settings with name:ReceiptBillA5Pdf
status = false
if !bill_alt_name.empty?
bill_alt_name.each do |alt_name|
if alt_name[0] == 'ReceiptBillAltName'
if alt_name[1] == '1'
status = true
else
status = false
end
end
end
end
return status
end
end