receipt no and print pdf

This commit is contained in:
phyusin
2018-03-07 15:36:05 +06:30
parent d8256a93f6
commit aedd79376f
41 changed files with 252 additions and 85 deletions

View File

@@ -197,17 +197,28 @@ class Printer::ReceiptPrinter < Printer::PrinterWorker
print_settings.print_copies = 1
print_settings.save!
directory_name = 'public/receipts'
Dir.mkdir(directory_name) unless File.exists?(directory_name)
begin
if count == 1
pdf.render_file "tmp/receipt_bill_#{sale_data.receipt_no}.pdf"
self.print("tmp/receipt_bill_#{sale_data.receipt_no}.pdf", cashier_terminal.printer_name)
filename = "/receipts/receipt_bill_#{sale_data.receipt_no}.pdf"
pdf.render_file directory_name + "/receipt_bill_#{sale_data.receipt_no}.pdf"
if printed_status != 'Paid'
self.print(directory_name + "/receipt_bill_#{sale_data.receipt_no}.pdf", cashier_terminal.printer_name)
end
else
pdf.render_file "tmp/receipt_bill_#{sale_data.receipt_no}_#{count}.pdf"
self.print("tmp/receipt_bill_#{sale_data.receipt_no}_#{count}.pdf", cashier_terminal.printer_name)
filename = "/receipts/receipt_bill_#{sale_data.receipt_no}_#{count}.pdf"
pdf.render_file directory_name + "/receipt_bill_#{sale_data.receipt_no}_#{count}.pdf"
if printed_status != 'Paid'
self.print(directory_name + "/receipt_bill_#{sale_data.receipt_no}_#{count}.pdf", cashier_terminal.printer_name)
end
end
count -= 1
end until count == 0
return filename, sale_data.receipt_no, count, cashier_terminal.printer_name
end
# stock check
@@ -247,4 +258,18 @@ class Printer::ReceiptPrinter < Printer::PrinterWorker
self.print("tmp/print_call_waiter.pdf")
end
#print receipt pdf from js
def print_receipt_pdf(filename,receipt_no,print_copies,printer_name)
begin
if print_copies == 1
self.print("public"+filename, cashier_terminal.printer_name)
else
filename = "public/receipts/receipt_bill_#{receipt_no}_#{print_copies}.pdf"
self.print(filename, cashier_terminal.printer_name)
end
print_copies -= 1
end until print_copies == 0
end
end

View File

@@ -548,11 +548,26 @@ class Sale < ApplicationRecord
#Generate new Receipt No when it is not assigned
def generate_receipt_no
#shop_code and client_code
shop_details = Shop::ShopDetail
#Date-Shift-
if self.receipt_no.nil?
prefix = DateTime.now().utc
#self.receipt_no = prefix.to_s + "/" + self.shit_id.to_s + "/" + SeedGenerator.new_receipt_no().to_s
self.receipt_no = prefix.strftime("%Y%m%d") + "-" + SeedGenerator.new_receipt_no().to_s
if !shop_details.nil?
if !shop_details.client_code.nil? && shop_details.shop_code.nil?
self.receipt_no = shop_details.client_code + "-" + prefix.strftime("%Y%m%d") + "-" + SeedGenerator.new_receipt_no().to_s
elsif shop_details.client_code.nil? && !shop_details.shop_code.nil?
self.receipt_no = shop_details.shop_code + "-" + prefix.strftime("%Y%m%d") + "-" + SeedGenerator.new_receipt_no().to_s
elsif !shop_details.client_code.nil? && !shop_details.shop_code.nil?
self.receipt_no = shop_details.client_code + "-" + shop_details.shop_code + "-" + prefix.strftime("%Y%m%d") + "-" + SeedGenerator.new_receipt_no().to_s
else
self.receipt_no = prefix.strftime("%Y%m%d") + "-" + SeedGenerator.new_receipt_no().to_s
end
else
self.receipt_no = prefix.strftime("%Y%m%d") + "-" + SeedGenerator.new_receipt_no().to_s
end
self.receipt_date = prefix
Rails.logger.debug "Receipt No #{self.receipt_no} | Date #{ self.receipt_date.to_s}"