fix conflict
This commit is contained in:
1
Gemfile
1
Gemfile
@@ -47,6 +47,7 @@ gem 'jquery-fileupload-rails'
|
|||||||
gem 'cups'
|
gem 'cups'
|
||||||
gem 'prawn'
|
gem 'prawn'
|
||||||
gem 'prawn-table'
|
gem 'prawn-table'
|
||||||
|
gem 'prawn-qrcode'
|
||||||
gem 'to_xls-rails'
|
gem 'to_xls-rails'
|
||||||
gem 'rubyzip', '= 1.0.0'
|
gem 'rubyzip', '= 1.0.0'
|
||||||
gem 'axlsx', '= 2.0.1'
|
gem 'axlsx', '= 2.0.1'
|
||||||
|
|||||||
@@ -79,6 +79,7 @@ GEM
|
|||||||
mime-types (>= 1.16)
|
mime-types (>= 1.16)
|
||||||
chartkick (2.2.5)
|
chartkick (2.2.5)
|
||||||
chronic (0.10.2)
|
chronic (0.10.2)
|
||||||
|
chunky_png (1.3.11)
|
||||||
coffee-rails (4.2.2)
|
coffee-rails (4.2.2)
|
||||||
coffee-script (>= 2.2.0)
|
coffee-script (>= 2.2.0)
|
||||||
railties (>= 4.0.0)
|
railties (>= 4.0.0)
|
||||||
@@ -177,6 +178,9 @@ GEM
|
|||||||
prawn (2.2.2)
|
prawn (2.2.2)
|
||||||
pdf-core (~> 0.7.0)
|
pdf-core (~> 0.7.0)
|
||||||
ttfunk (~> 1.5)
|
ttfunk (~> 1.5)
|
||||||
|
prawn-qrcode (0.3.1)
|
||||||
|
prawn (>= 1)
|
||||||
|
rqrcode (>= 0.4.1)
|
||||||
prawn-table (0.2.2)
|
prawn-table (0.2.2)
|
||||||
prawn (>= 1.3.0, < 3.0.0)
|
prawn (>= 1.3.0, < 3.0.0)
|
||||||
puma (3.10.0)
|
puma (3.10.0)
|
||||||
@@ -218,6 +222,8 @@ GEM
|
|||||||
nokogiri
|
nokogiri
|
||||||
rubyzip
|
rubyzip
|
||||||
spreadsheet (> 0.6.4)
|
spreadsheet (> 0.6.4)
|
||||||
|
rqrcode (0.10.1)
|
||||||
|
chunky_png (~> 1.0)
|
||||||
rspec-core (3.7.0)
|
rspec-core (3.7.0)
|
||||||
rspec-support (~> 3.7.0)
|
rspec-support (~> 3.7.0)
|
||||||
rspec-expectations (3.7.0)
|
rspec-expectations (3.7.0)
|
||||||
@@ -341,6 +347,7 @@ DEPENDENCIES
|
|||||||
pdfjs_viewer-rails
|
pdfjs_viewer-rails
|
||||||
pg
|
pg
|
||||||
prawn
|
prawn
|
||||||
|
prawn-qrcode
|
||||||
prawn-table
|
prawn-table
|
||||||
puma (~> 3.0)
|
puma (~> 3.0)
|
||||||
rack-cors
|
rack-cors
|
||||||
|
|||||||
@@ -102,9 +102,22 @@ class Origami::PaymentsController < BaseOrigamiController
|
|||||||
|
|
||||||
printer = Printer::ReceiptPrinter.new(print_settings)
|
printer = Printer::ReceiptPrinter.new(print_settings)
|
||||||
|
|
||||||
# status, qr = KbzPay.pay(amount, receipt_no)
|
|
||||||
|
|
||||||
filename, receipt_no, cashier_printer = printer.print_receipt_bill(print_settings,cashier_terminal,sale_items,sale_data,customer.name, item_price_by_accounts, discount_price_by_accounts, member_info, shop_detail, "Frt",current_balance,nil,other_amount,nil,nil,nil)
|
#TODO :: KBZPAY ( QR )
|
||||||
|
# On/Off setting ( show or not qr )
|
||||||
|
# qrCode = "00020101021202021110500346KBZ005ab0ed5c1ed09d1c4585ff1313170389160831435294600062000040732kp1e78f7efddca190042638341afb88d50200006KBZPay0106KBZPay5303MMK5802MM62170813PAY_BY_QRCODE64060002my6304FBBD"
|
||||||
|
kbz_pay_setting = PaymentMethodSetting.where(:payment_method => 'KBZPay').last
|
||||||
|
|
||||||
|
status = false
|
||||||
|
qr = nil
|
||||||
|
|
||||||
|
if !kbz_pay_setting.nil?
|
||||||
|
if kbz_pay_setting.is_active == true
|
||||||
|
status, qr = KbzPay.pay(sale_data.grand_total, sale_data.receipt_no)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
filename, receipt_no, cashier_printer = printer.print_receipt_bill(print_settings, status, qr, cashier_terminal,sale_items,sale_data,customer.name, item_price_by_accounts, discount_price_by_accounts, member_info, shop_detail, "Frt",current_balance,nil,other_amount,nil,nil,nil)
|
||||||
|
|
||||||
result = {
|
result = {
|
||||||
:filepath => filename,
|
:filepath => filename,
|
||||||
@@ -270,7 +283,7 @@ class Origami::PaymentsController < BaseOrigamiController
|
|||||||
other_amount = SaleItem.calculate_other_charges(sale_items)
|
other_amount = SaleItem.calculate_other_charges(sale_items)
|
||||||
|
|
||||||
printer = Printer::ReceiptPrinter.new(print_settings)
|
printer = Printer::ReceiptPrinter.new(print_settings)
|
||||||
filename, sale_receipt_no, printer_name = printer.print_receipt_bill(print_settings,cashier_terminal,sale_items,saleObj,customer.name, item_price_by_accounts, discount_price_by_accounts, member_info,rebate_amount,shop_detail, "Paid",current_balance,card_data,other_amount,latest_order_no,card_balance_amount,nil)
|
filename, sale_receipt_no, printer_name = printer.print_receipt_bill(print_settings, false, nil, cashier_terminal,sale_items,saleObj,customer.name, item_price_by_accounts, discount_price_by_accounts, member_info,rebate_amount,shop_detail, "Paid",current_balance,card_data,other_amount,latest_order_no,card_balance_amount,nil)
|
||||||
|
|
||||||
render json: JSON.generate({:status => saleObj.rebate_status, :message => "Can't Rebate coz of Sever Error ", :filename => filename, :receipt_no => sale_receipt_no, :printer_name => printer_name})
|
render json: JSON.generate({:status => saleObj.rebate_status, :message => "Can't Rebate coz of Sever Error ", :filename => filename, :receipt_no => sale_receipt_no, :printer_name => printer_name})
|
||||||
|
|
||||||
|
|||||||
@@ -188,20 +188,20 @@ class Printer::ReceiptPrinter < Printer::PrinterWorker
|
|||||||
end
|
end
|
||||||
|
|
||||||
#Bill Receipt Print
|
#Bill Receipt Print
|
||||||
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)
|
def print_receipt_bill(printer_settings, kbz_pay_status, qr_code, 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
|
#Use CUPS service
|
||||||
#Generate PDF
|
#Generate PDF
|
||||||
#Print
|
#Print
|
||||||
if !printer_settings.nil?
|
if !printer_settings.nil?
|
||||||
if !printer_settings.unique_code.strip.downcase.include? ("receiptbillorder")
|
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)
|
pdf = ReceiptBillPdf.new(printer_settings, kbz_pay_status, qr_code, 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)
|
||||||
settings = PrintSetting.all
|
settings = PrintSetting.all
|
||||||
if !settings.nil?
|
if !settings.nil?
|
||||||
settings.each do |setting|
|
settings.each do |setting|
|
||||||
if setting.unique_code == 'ReceiptBillPdf'
|
if setting.unique_code == 'ReceiptBillPdf'
|
||||||
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)
|
pdf = ReceiptBillPdf.new(printer_settings, kbz_pay_status, qr_code, 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)
|
||||||
elsif setting.unique_code == 'ReceiptBillStarPdf'
|
elsif setting.unique_code == 'ReceiptBillStarPdf'
|
||||||
pdf = ReceiptBillStarPdf.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)
|
pdf = ReceiptBillStarPdf.new(printer_settings, kbz_pay_status, qr_code, 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)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -206,7 +206,7 @@ class Sale < ApplicationRecord
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
link_order_sale(order.id)
|
# link_order_sale(order.id)
|
||||||
|
|
||||||
end
|
end
|
||||||
self.save!
|
self.save!
|
||||||
@@ -735,9 +735,11 @@ class Sale < ApplicationRecord
|
|||||||
saleOrder = SaleOrder.where("sale_id=? and order_id=?", self.id, order_id).take
|
saleOrder = SaleOrder.where("sale_id=? and order_id=?", self.id, order_id).take
|
||||||
|
|
||||||
if saleOrder.nil?
|
if saleOrder.nil?
|
||||||
sale_order = SaleOrder.new
|
saleOrder = SaleOrder.new
|
||||||
sale = sale_order.create_sale_order(self.id, order_id)
|
# sale = saleOrder.create_sale_order(self.id, order_id)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
sale = saleOrder.create_sale_order(self.id, order_id)
|
||||||
# if (SaleOrder.where("sale_id = #{self.id} and order_id=#{order_id}").nil?)
|
# if (SaleOrder.where("sale_id = #{self.id} and order_id=#{order_id}").nil?)
|
||||||
# SaleOrder.create(:sale_id => self.id, :order_id => order_id)
|
# SaleOrder.create(:sale_id => self.id, :order_id => order_id)
|
||||||
# end
|
# end
|
||||||
|
|||||||
@@ -7,11 +7,11 @@ class SaleOrder < ApplicationRecord
|
|||||||
belongs_to :sale
|
belongs_to :sale
|
||||||
belongs_to :order
|
belongs_to :order
|
||||||
|
|
||||||
def create_sale_order(sale, order)
|
def create_sale_order(sale_id, order_id)
|
||||||
sale_order = SaleOrder.new
|
# sale_order = SaleOrder.new
|
||||||
sale_order.sale_id = sale
|
self.sale_id = sale_id
|
||||||
sale_order.order_id = order
|
self.order_id = order_id
|
||||||
sale_order.save!
|
self.save!
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.sync_sale_order_records(sale_orders)
|
def self.sync_sale_order_records(sale_orders)
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ class OrderItemPdf < Prawn::Document
|
|||||||
self.item_description_width = self.page_width - (self.price_width + self.qty_width + self.total_width)
|
self.item_description_width = self.page_width - (self.price_width + self.qty_width + self.total_width)
|
||||||
self.label_width=90
|
self.label_width=90
|
||||||
|
|
||||||
super(:margin => self.margin_top, self.margin, self.margin, self.margin], :page_size => [self.page_width, self.page_height])
|
super(:margin => [self.margin_top, self.margin, self.margin, self.margin], :page_size => [self.page_width, self.page_height])
|
||||||
# super(:margin => [10, 5, 30, 5], :page_size => [200,400])
|
# super(:margin => [10, 5, 30, 5], :page_size => [200,400])
|
||||||
|
|
||||||
# db font setup
|
# db font setup
|
||||||
|
|||||||
@@ -1,9 +1,11 @@
|
|||||||
|
# require 'prawn/qrcode'
|
||||||
|
require 'prawn/measurement_extensions'
|
||||||
class ReceiptBillPdf < Prawn::Document
|
class ReceiptBillPdf < Prawn::Document
|
||||||
include ActionView::Helpers::NumberHelper
|
include ActionView::Helpers::NumberHelper
|
||||||
|
|
||||||
attr_accessor :label_width,:price_column_width,:page_width, :page_height, :margin, :price_width, :item_width, :header_font_size, :item_font_size,:item_height,:qty_width,:total_width,:item_description_width, :description_width, :price_num_width, :line_move
|
attr_accessor :label_width,:price_column_width,:page_width, :page_height, :margin, :price_width, :item_width, :header_font_size, :item_font_size,:item_height,:qty_width,:total_width,:item_description_width, :description_width, :price_num_width, :line_move
|
||||||
|
|
||||||
def initialize(printer_settings, sale_items, sale_data, customer_name, item_price_by_accounts, discount_price_by_accounts, member_info = nil,rebate_amount = nil,shop_details, printed_status,current_balance,card_data,other_charges_amount,latest_order_no,card_balance_amount)
|
def initialize(printer_settings, kbz_pay_status, qr_code, sale_items, sale_data, customer_name, item_price_by_accounts, discount_price_by_accounts, member_info = nil,rebate_amount = nil,shop_details, printed_status,current_balance,card_data,other_charges_amount,latest_order_no,card_balance_amount)
|
||||||
self.page_width = printer_settings.page_width
|
self.page_width = printer_settings.page_width
|
||||||
self.page_height = printer_settings.page_height
|
self.page_height = printer_settings.page_height
|
||||||
self.header_font_size = printer_settings.header_font_size.to_i
|
self.header_font_size = printer_settings.header_font_size.to_i
|
||||||
@@ -101,6 +103,10 @@ class ReceiptBillPdf < Prawn::Document
|
|||||||
if shop_details.note && !shop_details.note.nil?
|
if shop_details.note && !shop_details.note.nil?
|
||||||
shop_note(shop_details)
|
shop_note(shop_details)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
if kbz_pay_status
|
||||||
|
pay_by_kbzpay(printed_status, qr_code)
|
||||||
|
end
|
||||||
|
|
||||||
footer(printed_status)
|
footer(printed_status)
|
||||||
end
|
end
|
||||||
@@ -679,6 +685,18 @@ class ReceiptBillPdf < Prawn::Document
|
|||||||
move_down line_move
|
move_down line_move
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def pay_by_kbzpay(status, qr_code)
|
||||||
|
if status == 'Frt'
|
||||||
|
move_down line_move
|
||||||
|
move_down line_move
|
||||||
|
text "KBZ Pay", :size => self.header_font_size+2, :align => :center
|
||||||
|
move_down line_move
|
||||||
|
print_qr_code(qr_code, pos: [30, cursor], extent: 160, stroke: false, dot: 1000)
|
||||||
|
# stroke_horizontal_rule
|
||||||
|
move_down line_move
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
def footer(printed_status)
|
def footer(printed_status)
|
||||||
move_down line_move
|
move_down line_move
|
||||||
stroke_horizontal_rule
|
stroke_horizontal_rule
|
||||||
|
|||||||
Reference in New Issue
Block a user