Merge branch 'master' of bitbucket.org:code2lab/sxrestaurant into adminbsb_ui_changes

This commit is contained in:
phyusin
2018-03-19 18:41:50 +06:30
35 changed files with 4436 additions and 157 deletions

View File

@@ -46,8 +46,11 @@ gem 'mini_magick'
gem 'cups'
gem 'prawn'
gem 'prawn-table'
gem 'spreadsheet'
gem 'to_xls-rails'
gem 'rubyzip', '= 1.0.0'
gem 'axlsx', '= 2.0.1'
gem 'axlsx_rails'
gem 'roo'
#Reporting gem
#gem 'compendium'
#gem "cancan"

View File

@@ -50,6 +50,13 @@ GEM
airbrussh (1.3.0)
sshkit (>= 1.6.1, != 1.7.0)
arel (8.0.0)
axlsx (2.0.1)
htmlentities (~> 4.3.1)
nokogiri (>= 1.4.1)
rubyzip (~> 1.0.0)
axlsx_rails (0.5.1)
actionpack (>= 3.1)
axlsx (>= 2.0.1)
bcrypt (3.1.11)
bindex (0.5.0)
builder (3.2.3)
@@ -100,6 +107,7 @@ GEM
railties (>= 3.2, < 5.2)
globalid (0.4.1)
activesupport (>= 4.2.0)
htmlentities (4.3.4)
httparty (0.15.6)
multi_xml (>= 0.5.2)
i18n (0.9.1)
@@ -197,6 +205,10 @@ GEM
rb-inotify (0.9.10)
ffi (>= 0.5.0, < 2)
redis (3.3.5)
roo (1.13.2)
nokogiri
rubyzip
spreadsheet (> 0.6.4)
rspec-core (3.7.0)
rspec-support (~> 3.7.0)
rspec-expectations (3.7.0)
@@ -215,6 +227,7 @@ GEM
rspec-support (~> 3.7.0)
rspec-support (3.7.0)
ruby-ole (1.2.12.1)
rubyzip (1.0.0)
sass (3.5.3)
sass-listen (~> 4.0.0)
sass-listen (4.0.0)
@@ -286,6 +299,8 @@ PLATFORMS
DEPENDENCIES
aescrypt
axlsx (= 2.0.1)
axlsx_rails
bcrypt (~> 3.1.7)
byebug
cancancan (~> 1.10)
@@ -320,13 +335,14 @@ DEPENDENCIES
rack-cors
rails (~> 5.1.0)
redis (~> 3.0)
roo
rspec-rails (~> 3.5)
rubyzip (= 1.0.0)
sass-rails (~> 5.0)
schema_to_scaffold
shoulda-matchers (~> 3.1)
sidekiq
simple_form
spreadsheet
spring
spring-watcher-listen (~> 2.0.0)
tether-rails

View File

@@ -196,7 +196,7 @@ $(function() {
+add+ '</i>'
+'</div>'
+'</div>'
+"<div class='"+add_icon+" p-t-65 m-r--5' data-item-code='"
+"<div class='"+add_icon+" p-t-65 m-r-' data-item-code='"
+ menu_items[field].code +"' data-name='"
+ menu_items[field].name +"' data-qty = '"+ qty +"' data-price = '"
+ price +"' data-instance-code = '"+ code +"' data-instance = '"

View File

@@ -0,0 +1,70 @@
class Origami::JunctionPayController < BaseOrigamiController
def index
@sale_id = params[:sale_id]
@cashier_type = params[:type]
# limit jcb_amount
sale_data = Sale.find_by_sale_id(@sale_id)
total = sale_data.grand_total
@junction_pay_count = 0
others = 0
@cashier_id = current_user.emp_id
@payment_method_setting_nav = PaymentMethodSetting.all
@shop = Shop::ShopDetail
if @shop.is_rounding_adj
new_total = Sale.get_rounding_adjustment(sale_data.grand_total)
else
new_total = sale_data.grand_total
end
@rounding_adj = new_total-sale_data.grand_total
sale_data.sale_payments.each do |sale_payment|
if sale_payment.payment_method == "JunctionPay"
@junction_pay_count = @junction_pay_count + sale_payment.payment_amount
else
others = others + sale_payment.payment_amount
end
end
@can_junction_pay = total - @junction_pay_count - others
@member_discount = MembershipSetting.find_by_discount(1)
@sub_total = sale_data.total_amount
@membership_id = sale_data.customer.membership_id
#for bank integration
@receipt_no = sale_data.receipt_no
end
def create
gift_amount = params[:gift_amount]
voucher_amount = params[:voucher_amount]
voucher_no = params[:voucher_no]
sale_id = params[:sale_id]
# Gift card or Voucher classified and add for payment_reference
remarks = ''
cash = (gift_amount.to_f + voucher_amount.to_f)
if gift_amount.to_f > 0
remarks = "Junciton Gift Card Payment. RefNo-" + voucher_no
else
remarks = "Junciton Voucher Payment. RefNo-" + voucher_no
end
if(Sale.exists?(sale_id))
saleObj = Sale.find(sale_id)
shop_details = Shop::ShopDetail
# rounding adjustment
# if shop_details.is_rounding_adj
# new_total = Sale.get_rounding_adjustment(saleObj.grand_total)
# rounding_adj = new_total-saleObj.grand_total
# saleObj.update_attributes(grand_total: new_total,old_grand_total: saleObj.grand_total,rounding_adjustment:rounding_adj)
# end
# saleObj = Sale.find(sale_id)
sale_payment = SalePayment.new
@status, @sale = sale_payment.process_payment(saleObj, @user, cash, "JunctionPay", remarks)
end
end
end

View File

@@ -27,7 +27,7 @@ class Origami::PaymentsController < BaseOrigamiController
cashier_terminal = CashierTerminal.find(shift.cashier_terminal_id)
end
if ENV["SERVER_MODE"] != "cloud" #no print in cloud server
# if ENV["SERVER_MODE"] != "cloud" #no print in cloud server
receipt_bill_a5_pdf = Lookup.collection_of("print_settings") #print_settings with name:ReceiptBillA5Pdf
# Print for First Bill to Customer
unique_code = "ReceiptBillPdf"
@@ -79,8 +79,17 @@ class Origami::PaymentsController < BaseOrigamiController
printer = Printer::ReceiptPrinter.new(print_settings)
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_details, "Frt",current_balance,nil)
end
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_details, "Frt",current_balance,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
def create
@@ -131,7 +140,7 @@ class Origami::PaymentsController < BaseOrigamiController
end
# For Print
if ENV["SERVER_MODE"] != "cloud" #no print in cloud server
# if ENV["SERVER_MODE"] != "cloud" #no print in cloud server
receipt_bill_a5_pdf = Lookup.collection_of("print_settings") #print_settings with name:ReceiptBillA5Pdf
unique_code = "ReceiptBillPdf"
if !receipt_bill_a5_pdf.empty?
@@ -195,7 +204,20 @@ class Origami::PaymentsController < BaseOrigamiController
filename, sale_receipt_no, printer_name = printer.print_receipt_bill(print_settings,cashier_terminal,saleObj.sale_items,saleObj,customer.name, item_price_by_accounts, discount_price_by_accounts, member_info,rebate_amount,shop_details, "Paid",current_balance,card_data)
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})
end
if params[:type] == "quick_service"
booking = Booking.find_by_sale_id(sale_id)
if booking.dining_facility_id.to_i>0
table_id = booking.dining_facility_id
else
table_id = 0
end
booking.booking_orders.each do |order|
Order.pay_process_order_queue(order.order_id,table_id)
end
# end
end
end
end
@@ -213,6 +235,7 @@ class Origami::PaymentsController < BaseOrigamiController
@jcbcount= 0.0
@mastercount = 0.0
@unionpaycount = 0.0
@junctionpaycount = 0.0
@credit = 0.0
@sale_data = Sale.find_by_sale_id(sale_id)
@balance = 0.00
@@ -325,6 +348,8 @@ class Origami::PaymentsController < BaseOrigamiController
@mastercount += spay.payment_amount
elsif spay.payment_method == "unionpay"
@unionpaycount += spay.payment_amount
elsif spay.payment_method == "JunctionPay"
@junctionpaycount += spay.payment_amount
elsif spay.payment_method == "creditnote"
@credit += spay.payment_amount
end

View File

@@ -64,6 +64,17 @@ class PrintSettingsController < ApplicationController
end
end
def get_printer_options
printer_name = params[:printer_name]
printer_options = Printer::PrinterWorker.printer_options(printer_name)
options = {
:url => printer_options['device-uri'],
:model => printer_options['printer-info'],
}
render :json => options.to_json
end
private
# Use callbacks to share common setup or constraints between actions.
def set_print_setting
@@ -72,7 +83,7 @@ class PrintSettingsController < ApplicationController
# Never trust parameters from the scary internet, only allow the white list through.
def print_setting_params
params.require(:print_setting).permit(:name, :unique_code, :template, :printer_name, :font, :api_settings, :page_width, :page_height, :print_copies,:precision,:delimiter,:heading_space)
params.require(:print_setting).permit(:name, :unique_code, :template, :printer_name, :brand_name, :printer_type, :font, :api_settings, :page_width, :page_height, :print_copies,:precision,:delimiter,:heading_space)
end
#Shop Name in Navbor

View File

@@ -7,12 +7,9 @@ class Settings::MenusController < ApplicationController
def index
@settings_menus = Menu.all.page(params[:page]).per(10)
respond_to do |format|
format.html
# format.csv { send_data MenuCsvExport.generate }
format.csv { send_data Menu.to_csv }
# format.csv { send_data MenuCategory.to_csv }
end
format.html
format.xlsx
end
end
# GET /settings/menus/1
@@ -76,7 +73,7 @@ format.csv { send_data Menu.to_csv }
def import
Menu.import(params[:file])
redirect_to settings_menu_path, notice: "imported"
redirect_to settings_menus_path, notice: "imported"
end
private

View File

@@ -1,4 +1,6 @@
class Menu < ApplicationRecord
require 'spreadsheet'
has_many :menu_categories, dependent: :destroy
validates_presence_of :name, :valid_days, :valid_time_from, :valid_time_to
@@ -34,7 +36,7 @@ class Menu < ApplicationRecord
def self.to_csv
m_attributes = %w{name is_active valid_days valid_time_from valid_time_to created_by created_at updated_at}
CSV.generate(headers: true) do |csv|
CSV.generate(headers: true, row_sep: "\r\n") do |csv|
csv << m_attributes
menu = Menu.all
menu.each do |user|
@@ -44,9 +46,39 @@ class Menu < ApplicationRecord
end
def self.import(file)
CSV.foreach(file.path, headers:true) do |row|
Menu.create! row.to_hash
end
spreadsheet = Roo::Spreadsheet.open(file.path)
spreadsheet = Roo::Excelx.new(file.path)
# Use the extension option if the extension is ambiguous.
spreadsheet = Roo::Spreadsheet.open(file.path, extension: :xlsx)
puts spreadsheet.info
header = spreadsheet.row(1)
(2..spreadsheet.last_row).each do |i|
row = Hash[[header,spreadsheet.row(i)].transpose]
menu = Menu.new
menu.name = row["name"]
menu.is_active = row["is_active"]
menu.valid_days = row["valid_days"]
menu.valid_time_from = row["valid_time_from"]
menu.valid_time_to = row["valid_time_to"]
menu.created_by = row["created_by"]
menu.save
end
end
def self.open_spreadsheet(file)
case File.extname(file.original_filename)
when ".csv" then Roo::CSV.new(file.path,nil,:ignore)
when ".xls" then Roo::Excel.new(file.path,nil,:ignore)
when ".xlsx" then Roo::Excelx.new(file.path,nil,:ignore)
else raise "Unknown File type: #{original_filename}"
end
end
end

View File

@@ -1,6 +1,6 @@
class PrintSetting < ApplicationRecord
# validations
validates_presence_of :name, :unique_code, :printer_name, :page_width, :page_height, :print_copies
validates_presence_of :name, :unique_code, :printer_name, :brand_name, :api_settings, :page_width, :page_height, :print_copies
def self.get_precision_delimiter
PrintSetting.find_by_unique_code("ReceiptBillPdf")

View File

@@ -24,6 +24,11 @@ class Printer::PrinterWorker
end
end
# Options from printer name
def self.printer_options(printer_name)
Cups.options_for(printer_name)
end
def self.printers()
Cups.show_destinations
end

View File

@@ -176,7 +176,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)
#Use CUPS service
#Generate PDF
#Print
#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?
@@ -202,14 +202,14 @@ class Printer::ReceiptPrinter < Printer::PrinterWorker
begin
if count == 1
filename = "/receipts/receipt_bill_#{sale_data.receipt_no}.pdf"
pdf.render_file directory_name + "/receipt_bill_#{sale_data.receipt_no}.pdf"
filename = directory_name + "/receipt_bill_#{sale_data.receipt_no}.pdf"
pdf.render_file filename
if printed_status != 'Paid'
self.print(directory_name + "/receipt_bill_#{sale_data.receipt_no}.pdf", cashier_terminal.printer_name)
end
else
filename = "/receipts/receipt_bill_#{sale_data.receipt_no}_#{count}.pdf"
pdf.render_file directory_name + "/receipt_bill_#{sale_data.receipt_no}_#{count}.pdf"
filename = directory_name + "/receipt_bill_#{sale_data.receipt_no}_#{count}.pdf"
pdf.render_file filename
if printed_status != 'Paid'
self.print(directory_name + "/receipt_bill_#{sale_data.receipt_no}_#{count}.pdf", cashier_terminal.printer_name)
end

View File

@@ -11,6 +11,7 @@ class SalePayment < ApplicationRecord
def process_payment(invoice, action_by, cash_amount, payment_method,remark=nil)
self.sale = invoice
self.received_amount = cash_amount
self.payment_reference = remark
amount_due = invoice.grand_total
#get all payment for this invoices
@@ -48,6 +49,8 @@ class SalePayment < ApplicationRecord
payment_status = paypar_payment
when "foc"
payment_status = foc_payment
when "JunctionPay"
payment_status = junction_pay_payment
else
puts "it was something else"
end
@@ -297,6 +300,22 @@ class SalePayment < ApplicationRecord
end
def junction_pay_payment
payment_status = false
#Next time - validate if the vochure number is valid - within
self.payment_method = "JunctionPay"
self.payment_amount = self.received_amount
# self.payment_reference = self.payment_reference
self.outstanding_amount = self.sale.grand_total- self.received_amount
self.payment_status = "paid"
payment_method = self.save!
sale_update_payment_status(self.received_amount)
return payment_status
end
def sale_update_payment_status(paid_amount,check_foc = false)
#update amount_outstanding
self.sale.amount_received = self.sale.amount_received.to_f + paid_amount.to_f

View File

@@ -1,111 +1,113 @@
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
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)
self.page_width = printer_settings.page_width
self.page_height = printer_settings.page_height
self.margin = 0
self.price_width = 60
self.qty_width = 25
self.total_width = 60
self.item_width = self.page_width - ((self.qty_width + self.price_width + self.total_width))
self.item_height = 15
self.item_description_width = (self.page_width-5) / 2
self.label_width = 100
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)
self.page_width = printer_settings.page_width
self.page_height = printer_settings.page_height
self.margin = 0
self.price_width = 60
self.qty_width = 25
self.total_width = 60
self.item_width = self.page_width - ((self.qty_width + self.price_width + self.total_width))
self.item_height = 15
self.item_description_width = (self.page_width-5) / 2
self.label_width = 100
self.description_width = 150
self.price_num_width = 50
self.line_move = 2
# @item_width = self.page_width.to_i / 2
# @qty_width = @item_width.to_i / 3
# @double = @qty_width * 1.3
# @half_qty = @qty_width / 2
#setting page margin and width
super(:margin => [printer_settings.heading_space, self.margin, self.margin, self.margin], :page_size => [self.page_width, self.page_height])
self.description_width = 150
self.price_num_width = 50
self.line_move = 2
# @item_width = self.page_width.to_i / 2
# @qty_width = @item_width.to_i / 3
# @double = @qty_width * 1.3
# @half_qty = @qty_width / 2
#setting page margin and width
super(:margin => [printer_settings.heading_space, self.margin, self.margin, self.margin], :page_size => [self.page_width, self.page_height])
#precision checked
if printer_settings.precision.to_i > 2
printer_settings.precision = 2
#precision checked
if printer_settings.precision.to_i > 2
printer_settings.precision = 2
end
# db font setup
if printer_settings.font != ""
font_families.update("#{printer_settings.font}" => {
:normal => "public/fonts/#{printer_settings.font}.ttf",
:italic => "public/fonts/#{printer_settings.font}.ttf",
:bold => "public/fonts/#{printer_settings.font}.ttf",
:bold_italic => "public/fonts/#{printer_settings.font}.ttf"
})
font "#{printer_settings.font}"
fallback_fonts ["Courier", "Helvetica", "Times-Roman"]
end
# font "public/fonts/Zawgyi-One.ttf"
# font "public/fonts/padauk.ttf"
self.header_font_size = 10
self.item_font_size = 8
if printer_settings.delimiter
delimiter = ","
else
delimiter = ""
end
header(shop_details)
stroke_horizontal_rule
cashier_info(sale_data, customer_name)
line_items(sale_items,printer_settings.precision,delimiter)
all_total(sale_data,printer_settings.precision,delimiter)
if member_info != nil
member_info(member_info,customer_name,rebate_amount,sale_data,printer_settings.precision,delimiter,current_balance)
end
customer(customer_name)
#start card sale trans data
if card_data != nil
card_sale_data(card_data)
end
#end card sale trans data
if discount_price_by_accounts.length > 0 && shop_details.show_account_info
discount_account(discount_price_by_accounts,printer_settings.precision,delimiter)
end
if shop_details.show_account_info
items_account(item_price_by_accounts,printer_settings.precision,delimiter)
end
#start for individual payment
if !sale_data.equal_persons.nil?
individual_payment(sale_data, printer_settings.precision, delimiter)
end
#end for individual payment
sign(sale_data)
footer(printed_status)
end
# db font setup
if printer_settings.font != ""
font_families.update("#{printer_settings.font}" => {
:normal => "public/fonts/#{printer_settings.font}.ttf",
:italic => "public/fonts/#{printer_settings.font}.ttf",
:bold => "public/fonts/#{printer_settings.font}.ttf",
:bold_italic => "public/fonts/#{printer_settings.font}.ttf"
})
font "#{printer_settings.font}"
fallback_fonts ["Courier", "Helvetica", "Times-Roman"]
end
# font "public/fonts/Zawgyi-One.ttf"
# font "public/fonts/padauk.ttf"
self.header_font_size = 10
self.item_font_size = 8
if printer_settings.delimiter
delimiter = ","
else
delimiter = ""
end
header(shop_details)
stroke_horizontal_rule
cashier_info(sale_data, customer_name)
line_items(sale_items,printer_settings.precision,delimiter)
all_total(sale_data,printer_settings.precision,delimiter)
if member_info != nil
member_info(member_info,customer_name,rebate_amount,sale_data,printer_settings.precision,delimiter,current_balance)
end
customer(customer_name)
#start card sale trans data
if card_data != nil
card_sale_data(card_data)
end
#end card sale trans data
if discount_price_by_accounts.length > 0 && shop_details.show_account_info
discount_account(discount_price_by_accounts,printer_settings.precision,delimiter)
end
if shop_details.show_account_info
items_account(item_price_by_accounts,printer_settings.precision,delimiter)
end
#start for individual payment
if !sale_data.equal_persons.nil?
individual_payment(sale_data, printer_settings.precision, delimiter)
end
#end for individual payment
sign(sale_data)
footer(printed_status)
end
def header (shop_details)
text "#{shop_details.name}", :left_margin => -10, :size => self.header_font_size,:align => :center
move_down line_move
text "#{shop_details.address}", :size => self.item_font_size,:align => :center
# move_down self.item_height
move_down line_move
text "#{shop_details.phone_no}", :size => self.item_font_size,:align => :center
move_down line_move
stroke_horizontal_rule
end
def cashier_info(sale_data, customer_name)
def header (shop_details)
text "#{shop_details.name}", :left_margin => -10, :size => self.header_font_size,:align => :center
move_down line_move
text "#{shop_details.address}", :size => self.item_font_size,:align => :center
# move_down self.item_height
move_down line_move
text "#{shop_details.phone_no}", :size => self.item_font_size,:align => :center
move_down line_move
stroke_horizontal_rule
end
def cashier_info(sale_data, customer_name)
move_down line_move
# move_down 2
y_position = cursor
bounding_box([0,y_position], :width =>self.description_width + self.price_num_width, :height => self.item_height) do
@@ -117,17 +119,10 @@ class ReceiptBillPdf < Prawn::Document
text "#{ sale_data.bookings[0].dining_facility.type } - #{ sale_data.bookings[0].dining_facility.name }" , :size => self.item_font_size,:align => :right
end
end
move_down line_move
y_position = cursor
if sale_data.bookings[0].dining_facility_id.to_i > 0
bounding_box([0,y_position], :width => self.label_width, :height => self.item_height) do
text "#{ sale_data.bookings[0].dining_facility.type } - #{ sale_data.bookings[0].dining_facility.name }" , :size => self.item_font_size,:align => :left
end
end
bounding_box([self.label_width, y_position], :width =>self.label_width, :height => self.item_height) do
bounding_box([0, y_position], :width =>self.label_width, :height => self.item_height) do
text "W: #{sale_data.requested_by}" , :size => self.item_font_size, :align => :left
end
bounding_box([self.label_width - 2,y_position], :width =>self.label_width, :height => self.item_height) do
@@ -141,12 +136,11 @@ class ReceiptBillPdf < Prawn::Document
else
time = sale_data.receipt_date.strftime('%d-%m-%Y %H:%M %p')
end
bounding_box([0,y_position], :width =>self.page_width - 10, :height => self.item_height) do
text "Date : #{ time }",:size => self.item_font_size,:align => :left
end
# bounding_box([self.item_description_width,y_position], :width =>self.label_width+5) do
# text "(#{ sale_data.bookings[0].checkin_at.utc.getlocal.strftime('%I:%M %p') }
# - #{ sale_data.bookings[0].checkin_at.utc.getlocal.strftime('%I:%M %p') })" ,
@@ -155,7 +149,7 @@ class ReceiptBillPdf < Prawn::Document
move_down line_move
stroke_horizontal_rule
end
end
def line_items(sale_items,precision,delimiter)
if precision.to_i > 0
@@ -250,7 +244,6 @@ class ReceiptBillPdf < Prawn::Document
end
def all_total(sale_data,precision,delimiter)
move_down line_move
item_name_width = self.item_width
y_position = cursor
@@ -316,8 +309,7 @@ class ReceiptBillPdf < Prawn::Document
end
move_down line_move
sale_payment(sale_data,precision,delimiter)
sale_payment(sale_data,precision,delimiter)
end
def sale_payment(sale_data,precision,delimiter)
@@ -494,8 +486,8 @@ class ReceiptBillPdf < Prawn::Document
end
#individual payment per person
def individual_payment(sale_data, precision, delimiter)
per_person = sale_data.grand_total.to_i / sale_data.equal_persons.to_i
def individual_payment(sale_data, survey, precision, delimiter)
per_person = sale_data.grand_total.to_f / survey.total_customer.to_i
stroke_horizontal_rule
move_down line_move
y_position = cursor
@@ -548,8 +540,7 @@ class ReceiptBillPdf < Prawn::Document
text "Acknowledged By" , :size => self.item_font_size,:align => :center
end
end
end
def footer(printed_status)

View File

@@ -723,7 +723,9 @@
receipt_no = ($("#receipt_no").html()).trim();
if((receipt_no!=undefined) && (receipt_no!=""))
createReceiptNoInFirstBillData(receipt_no,"");
// console.log(result);
// code2lab.printBill(result.filepath, result.printer_model, result.printer_url);
location.reload();
}
});

View File

@@ -0,0 +1,5 @@
if(@status)
json.status @status
else
json.status false
end

View File

@@ -0,0 +1,300 @@
<div class="container-fluid">
<div id="loading_wrapper" style="display:none;">
<div id="loading"></div>
</div>
<!-- <div class="page-header">
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="<%=origami_root_path %>"><%= t :home %></a></li>
<li class="breadcrumb-item"><a href="/origami/sale/<%=@sale_id %>/payment"><%= t("views.btn.payment") %></a></li>
<li class="breadcrumb-item active"><%= t("views.btn.jcb") %></li>
<span class="float-right">
<%= link_to t('.back',:default => t("views.btn.back")),'/origami/sale/'+@sale_id+'/payment/others_payment'%>
</span>
</ol>
</div> -->
<div class="row">
<div class="col-lg-5 col-md-5 col-sm-3">
<span class="hidden" id="membership_id"><%= @membership_id%></span>
<span class="hidden" id="member_discount"><%= @member_discount%></span>
<span class="hidden" id="sub-total"><%= @sub_total%></span>
<div class="card m-l-10 m-t-10" style="padding:0px 20px;">
<div class="rebate-form">
<div class="row">
<div class="form-group col-lg-12 col-md-12 col-sm-12">
<label for="com_port_name">Select Device</label>
<select id="com_port_name" name="com_port_name" class="form-control select col-lg-7 col-md-7 col-sm-7">
</select>
</div>
<hr>
</div>
<div class="row">
<div class="form-group col-lg-12 col-md-12 col-sm-12">
<label>You can pay up to </label>
<%@can_junction_pay = @can_junction_pay +@rounding_adj%>
<input type="text" name="validamount" id="validamount" class="form-control col-lg-7 col-md-7 col-sm-7" readonly="" value="<%=@can_junction_pay %>" data-member-value="">
</div>
<hr>
</div>
<% if @jcbcount != 0 %>
<div class="row">
<div class="form-group col-lg-12 col-md-12 col-sm-12">
<label>Recent junction pay paid amount </label>
<input type="text" name="" id="" class="form-control col-lg-7 col-md-7 col-sm-7" readonly="" value="<%=@junction_pay_count %>" data-member-value="">
</div>
<hr>
</div>
<% end %>
<div class="row">
<div class="form-group col-lg-12 col-md-12 col-sm-12">
<label>Reference Number</label>
<input type="text" name="reference_no" id="reference_no" class="form-control col-lg-7 col-md-7 col-sm-7" value="" data-value="<%=@sale_id %>" data-member-value="">
<br><span id="reference_no_Err" style="color:red;"></span>
</div>
<hr>
</div>
<div class="row">
<div class="form-group col-lg-12 col-md-12 col-sm-12">
<label>Amount</label>
<div id="amount" class="form-control col-lg-7 col-md-7 col-sm-7">0.0</div>
</div>
<hr>
</div>
</div>
</div>
</div>
<div class="col-lg-6 col-md-6 col-sm-6">
<div class="m-t-10 p-l-20">
<div class="row">
<div class="col-lg-6 col-md-6 col-sm-6">
<div class="row bottom">
<div class="col-md-4 cashier_number border-left" data-value="1" data-type="num">1</div>
<div class="col-md-4 cashier_number border-left" data-value="2" data-type="num">2</div>
<div class="col-md-4 cashier_number border-left" data-value="3" data-type="num">3</div>
</div>
<div class="row bottom">
<div class="col-md-4 cashier_number border-left" data-value="4" data-type="num">4</div>
<div class="col-md-4 cashier_number border-left" data-value="5" data-type="num">5</div>
<div class="col-md-4 cashier_number border-left" data-value="6" data-type="num">6</div>
</div>
<div class="row bottom">
<div class="col-md-4 cashier_number border-left" data-value="7" data-type="num">7</div>
<div class="col-md-4 cashier_number border-left" data-value="8" data-type="num">8</div>
<div class="col-md-4 cashier_number border-left" data-value="9" data-type="num">9</div>
</div>
<div class="row bottom">
<div class="col-md-4 cashier_number border-left" data-value="0" data-type="num">0</div>
<div class="col-md-4 cashier_number border-left" data-value="." data-type="num">.</div>
<div class="col-md-4 cashier_number border-left" data-value="00" data-type="num">00</div>
</div>
<div class="row bottom">
<div class="col-md-4 cashier_number green border-left" data-type="nett" >Nett</div>
<div class="col-md-4 cashier_number red border-left" data-type="del">Del</div>
<div class="col-md-4 cashier_number orange border-left" data-type="clr">Clr</div>
</div>
</div>
<div class="col-lg-6 col-md-6 col-sm-6">
<div class="row bottom m-l-5">
<div class="cashier_number long border-left" data-value="1000" data-type="add">1000</div>
<div class="cashier_number long left" data-value="3000" data-type="add">3000</div>
</div>
<div class="row bottom m-l-5">
<div class="cashier_number long border-left" data-value="5000" data-type="add">5000</div>
<div class="cashier_number long left" data-value="10000" data-type="add">10000</div>
</div>
<div class="row bottom m-l-5">
<div class="pay purple left" id="junction_pay">Pay</div>
</div>
</div>
</div>
</div>
</div>
<div class="col-lg-1 col-md-1 col-sm-1">
<button type="button" class="btn btn-default btn-block" onclick="window.location.href = '/origami/sale/<%= @sale_id %>/<%= @cashier_type %>/payment/others_payment';"> <i class="material-icons m-t--5">reply</i>Back </button>
</div>
</div>
</div>
<script>
var cashier_type = "<%= @cashier_type %>";
$(document).ready(function() {
var sale_id = "<%= @sale_id %>";
var bank_integration = "<%= @bank_integration %>";
if(localStorage.getItem("cash") == null || localStorage.getItem("cash") == 'null'){}
else {
$('#validamount').attr("value",parseFloat("<%= @can_junction_pay %>") - parseFloat(localStorage.getItem("cash")));
}
code2lab.getCommPorts(); //get comportlists from jade
});
// number key pad
$(document).on('click', '.cashier_number', function(event){
event.stopPropagation();
event.preventDefault();
if(event.handled !== true) {
var original_value;
original_value = $('#amount').text();
var input_value = $(this).attr("data-value");
var input_type = $(this).attr("data-type");
switch (input_type) {
case 'num':
if (original_value == "0.0"){
$('#amount').text(input_value);
}else{
$('#amount').append(input_value);
}
break;
case 'add':
var input_value = $(this).attr("data-value");
amount = parseInt(input_value) + parseInt(original_value);
$('#amount').html(amount);
break;
case 'clr':
$('#amount').html("0.0");
break;
case 'del' :
var cash=$('#amount').text();
$('#amount').text(cash.substr(0,cash.length-1));
break;
case 'nett':
var remain_amount = $('#validamount').val();
$('#amount').text(remain_amount);
break;
}
event.handled = true;
} else {
return false;
}
});
$('#junction_pay').on('click',function(){
var amount = $('#amount').text();
var reference_no = $('#reference_no').val();
var sale_id = "<%= @sale_id %>";
var receipt_no = "<%= @receipt_no %>";
var cashier_id = "<%= @cashier_id %>";
$("#reference_no_Err").html("");
if(reference_no.length > 0){
if(parseFloat(amount) <= parseFloat($("#validamount").attr("value")) && amount > 0){
$(this).off("click");
//start member discount 5% by pay card
// var sub_total = $('#sub-total').text();
// var member_id = $('#membership_id').text();
// var member_discount = $('#member_discount').text();
// if (member_id && member_discount) {
// $.ajax({
// type: "POST",
// url: "/origami/" + sale_id + "/member_discount",
// data: {'sale_id':sale_id, 'sub_total':sub_total,'is_card':true },
// success:function(result){
// }
// });
// }
//end member discount
$("#loading_wrapper").show();
var com_port = '/dev/' + $("#com_port_name").val();
var is_rebate=false;
//alert(cashier_id + amount + com_port);
code2lab.reqJunctionPay(true, cashier_id, parseFloat(amount), receipt_no, com_port);
resJunctionPayUpdate = function(totalBillAmount , finalBillAmt,giftCardAmount, voucherAmount,voucherNumber,receiptNumber){
$("#loading_wrapper").hide();
var voucher_no = voucherNumber;
if (voucher_no == ''){
voucher_no = reference_no;
}
$.ajax({
type: "POST",
url: "<%= origami_payment_junctionpay_path %>",
data: "gift_amount="+ giftCardAmount + "&voucher_amount=" + voucherAmount +
"&voucher_no=" + voucher_no + "&sale_id="+ sale_id,
success:function(result){
if(result){
var desc = 'Payment Successfully';
// is_rebate get from resJunctionPay and if member
if(is_rebate){ desc = desc + ". And You get Rebate!"}
swal({
title: "Information!",
text: desc,
html: true,
closeOnConfirm: false,
closeOnCancel: false,
allowOutsideClick: false
}, function () {
window.location.href = '/origami/sale/'+ sale_id +"/"+cashier_type+"/payment";
});
}
}
});
};
resJunctionPay = function(memberno,transactionNo,finalBillingAmt){
if(memberno != ''){ is_rebate = true; }
};
// $("#loading_wrapper").hide();
// $.ajax({type: "POST",
// url: "/origami/payment/"+payment_type,
// data: "amount="+ finalBillingAmt + "&sale_id="+ sale_id,
// success:function(result){
// if(result){
// swal({
// title: "Information!",
// text: "Payment Successfully",
// html: true,
// closeOnConfirm: false,
// closeOnCancel: false,
// allowOutsideClick: false
// }, function () {
// window.location.href = '/origami/sale/'+ sale_id +"/"+cashier_type+"/payment";
// });
// }
// }
// });
// });
// var resError = function(message){
// console.log(message);
// $("#loading_wrapper").hide();
// swal ( "Oops" , message , "error" );
// };
}
}
});
// var resJunctionPayUpdate = function(totalBillAmount , finalBillAmt,giftCardAmount,voucherAmount, voucherNumber,receiptNumber){
// $("#loading_wrapper").hide();
// // alert(voucherNumber + ' ' + totalBillAmount + ' ' + receiptNumber + ' ' + giftCardAmount);
// $.ajax({
// type: "POST",
// url: "<%= origami_payment_junctionpay_path %>",
// data: "amount="+ totalBillAmount + "&sale_id="+ sale_id,
// success:function(result){
// if(result){
// swal({
// title: "Information!",
// text: "Payment Successfully",
// html: true,
// closeOnConfirm: false,
// closeOnCancel: false,
// allowOutsideClick: false
// }, function () {
// window.location.href = '/origami/sale/'+ sale_id +"/"+cashier_type+"/payment";
// });
// }
// }
// });
// };
</script>

View File

@@ -265,6 +265,20 @@
<div class="col-md-4" id="unionpaycount"><%= number_with_precision(0, precision: precision.to_i ) %></div>
</div>
<% end %>
<!-- Junction Pay -->
<% if @junctionpaycount != 0.0 %>
<div class="row payment others-color">
<div class="col-md-5"></div>
<div class="col-md-3">JUNCTION PAY</div>
<div class="col-md-4 master is_card" id="junctionpaycount"><%= number_with_precision(@junctionpaycount, precision: precision.to_i ) rescue number_with_precision(0, precision: precision.to_i ) %></div>
</div>
<% else %>
<div class="row hidden">
<div class="col-md-5"></div>
<div class="col-md-3">JUNCTION PAY</div>
<div class="col-md-4" id="junctionpaycount"><%= number_with_precision(0, precision: precision.to_i ) %></div>
</div>
<% end %>
<div class="row m-l-5 m-r-5">
<div class="col-md-8"><strong>Balance</strong></div>
<div class="col-md-4"><strong><span id='balance'><%= number_with_precision(@sale_data.grand_total, precision: precision.to_i ) rescue number_with_precision(0, precision: precision.to_i ) %></span></strong></div>
@@ -488,10 +502,7 @@ var customer_name = "<%= @customer.name %>";
payment_type = '';
if ($("#server_mode").val() != "cloud") { // first bill not used in cloud
console.log("ssssssssssss")
payment_type = checkReceiptNoInFirstBillData(receipt_no,"payment");
console.log(member_id);
console.log(member_discount);
if (member_id && member_discount) {
if(parseInt(jQuery.inArray("Credit", payment_type)) == -1){
$("#credit_payment").hide();
@@ -499,7 +510,7 @@ var customer_name = "<%= @customer.name %>";
$("#credit_payment").show();
}
if(parseInt(jQuery.inArray("MPU", payment_type)) !=-1 || parseInt(jQuery.inArray("VISA", payment_type)) !=-1 || parseInt(jQuery.inArray("JCB", payment_type)) !=-1 || parseInt(jQuery.inArray("Master", payment_type)) !=-1 || parseInt(jQuery.inArray("UNIONPAY", payment_type)) !=-1 || parseInt(jQuery.inArray("Redeem", payment_type)) !=-1){
if(parseInt(jQuery.inArray("MPU", payment_type)) !=-1 || parseInt(jQuery.inArray("VISA", payment_type)) !=-1 || parseInt(jQuery.inArray("JCB", payment_type)) !=-1 || parseInt(jQuery.inArray("Master", payment_type)) !=-1 || parseInt(jQuery.inArray("UNIONPAY", payment_type)) !=-1 || parseInt(jQuery.inArray("Redeem", payment_type)) !=-1 || parseInt(jQuery.inArray("JUNCTIONPAY", payment_type)) !=-1){
$("#card_payment").show();
} else{
$("#card_payment").hide();
@@ -562,6 +573,9 @@ var customer_name = "<%= @customer.name %>";
else if(payment_type == "UNIONPAY" && $('#unionpaycount').text()==0 && sub_total != 0.0){
swal("Oops","Please Pay with UNIONPAY Payment","warning");
}
else if(payment_type == "JUNCTIONPAY" && $('#junctionpaycount').text()==0 && sub_total != 0.0){
swal("Oops","Please Pay with JUNCTIONPAY Payment","warning");
}
else if(payment_type == "Credit" && $('#credit').text()==0 && sub_total != 0.0){
swal("Oops","Please Pay with Credit Payment","warning");
}else{
@@ -837,7 +851,8 @@ var customer_name = "<%= @customer.name %>";
var jcb1 = $('#jcbcount').text();
var master1 = $('#mastercount').text();
var unionpay1 = $('#unionpaycount').text();
var othertotal = parseFloat(credit1) + parseFloat(card1) + parseFloat(paypar1) + parseFloat(visa1) + parseFloat(jcb1) + parseFloat(master1) + parseFloat(unionpay1);
var junctionpay1 = $('#junctionpaycount').text();
var othertotal = parseFloat(credit1) + parseFloat(card1) + parseFloat(paypar1) + parseFloat(visa1) + parseFloat(jcb1) + parseFloat(master1) + parseFloat(unionpay1) + parseFloat(junctionpay1);
var total = $('#amount_due').text();
var amt = 0;
<% if precision.to_i > 0 %>;
@@ -865,8 +880,9 @@ var customer_name = "<%= @customer.name %>";
var jcb = $('#jcbcount').text();
var master = $('#mastercount').text();
var unionpay = $('#unionpaycount').text();
var junctionpay = $('#junctionpaycount').text();
var amount_due = $('#amount_due').text();
var total = parseFloat(cash) + parseFloat(credit) + parseFloat(card) + parseFloat(paypar) + parseFloat(visa) + parseFloat(jcb) + parseFloat(master) + parseFloat(unionpay)
var total = parseFloat(cash) + parseFloat(credit) + parseFloat(card) + parseFloat(paypar) + parseFloat(visa) + parseFloat(jcb) + parseFloat(master) + parseFloat(unionpay) + parseFloat(junctionpay)
var result = parseFloat(amount_due) - parseFloat(total);
<% if precision.to_i > 0 %>
$('#balance').text(parseFloat(result).toFixed(<%= precision %>));

View File

@@ -12,6 +12,8 @@
<%= f.input :template %>
<%= f.input :font %>
<%= f.input :printer_name, :as => :select, :collection => Printer::PrinterWorker.printers, include_blank: false %>
<%= f.input :brand_name %>
<%= f.input :printer_type %>
<%= f.input :api_settings %>
<%= f.input :page_width %>
<%= f.input :page_height %>
@@ -61,6 +63,22 @@
</div>
<script type="text/javascript">
$(document).ready(function(){
// if selected printer change call and bind
$("#print_setting_printer_name").on("change", function(){
var printer_name = $(this).val();
$.ajax({
type: "GET",
url: "/get_printer_options/"+printer_name,
success:function(result){
$("#print_setting_brand_name").val(result.model);
$("#print_setting_api_settings").val(result.url);
}
});
});
});
function isNumberKey(evt) {
var charCode = (evt.which) ? evt.which : event.keyCode;
if (charCode != 46 && charCode > 31 && (charCode < 48 || charCode > 57)) {

View File

@@ -1,2 +1,2 @@
json.extract! print_setting, :id, :name, :unique_code, :template, :printer_name, :font, :api_settings, :page_width, :page_height, :print_copies, :created_at, :updated_at
json.extract! print_setting, :id, :name, :unique_code, :template, :printer_name, :brand_name, :printer_type, :font, :api_settings, :page_width, :page_height, :print_copies, :created_at, :updated_at
json.url print_setting_url(print_setting, format: :json)

View File

@@ -30,6 +30,14 @@
<th><%= t("views.right_panel.detail.printer_name") %></th>
<td><%= @print_setting.printer_name %></td>
</tr>
<tr>
<th><%= t("views.right_panel.detail.brand_name") %></th>
<td><%= @print_setting.brand_name %></td>
</tr>
<tr>
<th><%= t("views.right_panel.detail.printer_type") %></th>
<td><%= @print_setting.printer_type %></td>
</tr>
<tr>
<th><%= t("views.right_panel.detail.font") %></th>
<td><%= @print_setting.font rescue '-' %></td>

View File

@@ -7,11 +7,12 @@
</span>
</ol>
</div>
<!-- <h4>Import</h4>
<h4>Import</h4>
<%= form_tag import_settings_menus_path, multipart:true do%>
<%=file_field_tag :file%>
<%=submit_tag "Import CSV"%>
<%end%> -->
<%end%>
<%= link_to "Export users as spreadsheet", settings_menus_path(format: "xlsx") %>
<div class="row">
<div class="col-xs-12 col-sm-12 col-md-2 col-lg-2">
<br><br>

View File

@@ -0,0 +1,86 @@
wb = xlsx_package.workbook
wb.styles do |s|
date = s.add_style(:format_code => "yyyy-mm-dd", :border => Axlsx::STYLE_THIN_BORDER)
wrap_text = s.add_style :sz => 11,
:alignment => { :horizontal => :left,:vertical => :center ,
:wrap_text => true}
header_text = s.add_style :fg_color=> "FFFFFF",
:b => true,
:bg_color => "004586",
:sz => 12,
:border => { :style => :thin, :color => "00" },
:alignment => { :horizontal => :left,
:vertical => :center ,
:header_text => true}
wb.add_worksheet(name: "Menu") do |sheet|
sheet.add_row %w( name is_active valid_days valid_time_from valid_time_to created_by ), :style=>header_text
@settings_menus.each do |menu|
sheet.add_row [ menu.name, menu.is_active, menu.valid_days, menu.valid_time_from,menu.valid_time_to, menu.created_by], :style=>[date,wrap_text]
end
end
wb.add_worksheet(name: "Menu Category") do |sheet|
sheet.add_row %w(menu_id code name alt_name order_by created_by menu_category_id is_available created_at updated_at), :style=>header_text
MenuCategory.all.each do |mc|
sheet.add_row [mc.menu_id, mc.code, mc.name, mc.alt_name, mc.order_by, mc.created_by, mc.menu_category_id, mc.is_available, mc.created_at, mc.updated_at], :style=>wrap_text
end
end
wb.add_worksheet(name: "Menu Item") do |sheet|
sheet.add_row %w(item_code name alt_name image_path description information unit type menu_category_id item_attributes item_options account_id _qty taxable is_sub_item is_available created_by created_at updated_at), :style=>header_text
MenuItem.all.each do |mi|
sheet.add_row [mi.item_code, mi.name, mi.alt_name, mi.image_path, mi.description, mi.information, mi.unit, mi.type, mi.menu_category_id, mi.item_attributes, mi.item_options, mi.account_id, mi.min_qty, mi.taxable, mi.is_sub_item, mi.is_available, mi.created_by, mi.created_at, mi.updated_at], :style=>wrap_text
end
end
wb.add_worksheet(name: "Menu Item Instance") do |sheet|
sheet.add_row %w(menu_item_id item_instance_code item_instance_name item_attributes price is_on_promotion promotion_price is_available is_default created_at updated_at), :style=>header_text
MenuItemInstance.all.each do |mii|
sheet.add_row [mii.menu_item_id, mii.item_instance_code, mii.item_instance_name, mii.item_attributes, mii.price, mii.is_on_promotion, mii.promotion_price, mii.is_available, mii.is_default, mii.created_at, mii.updated_at], :style=>wrap_text
end
end
wb.add_worksheet(name: "Menu Options") do |sheet|
sheet.add_row %w(option_type name value created_at updated_at), :style=>header_text
MenuItemOption.all.each do |option|
sheet.add_row [option.option_type, option.name, option.value, option.created_at, option.updated_at], :style=>wrap_text
end
end
wb.add_worksheet(name: "Item Attributes") do |sheet|
sheet.add_row %w(attribute_type name value created_at updated_at), :style=>header_text
MenuItemAttribute.all.each do |attr|
sheet.add_row [ attr.attribute_type,attr.name,attr.value,attr.created_at,attr.updated_at], :style=>wrap_text
end
end
wb.add_worksheet(name: "Account") do |sheet|
sheet.add_row %w(title account_type discount point bonus rebate created_at updated_at), :style=>header_text
Account.all.each do |acc|
sheet.add_row [acc.title,acc.account_type,acc.discount,acc.point,acc.bonus,acc.rebate,acc.created_at,acc.updated_at], :style=>wrap_text
end
end
wb.add_worksheet(name: "Item Set") do |sheet|
sheet.add_row %w(name alt_name min_selectable_qty max_selectable_qty created_at updated_at), :style=>header_text
ItemSet.all.each do |set|
sheet.add_row [set.name, set.alt_name, set.min_selectable_qty, set.max_selectable_qty, set.created_at, set.updated_at], :style=>wrap_text
end
end
wb.add_worksheet(name: "Menu Instance Item Set") do |sheet|
sheet.add_row %w(item_set_id menu_item_instance_id created_at updated_at), :style=>header_text
MenuInstanceItemSet.all.each do |miis|
sheet.add_row [miis.item_set_id, miis.menu_item_instance_id, miis.created_at, miis.updated_at], :style=>wrap_text
end
end
wb.add_worksheet(name: "Menu Item Set") do |sheet|
sheet.add_row %w(item_set_id menu_item_id created_at updated_at), :style=>header_text
MenuItemSet.all.each do |mis|
sheet.add_row [mis.item_set_id, mis.menu_item_id, mis.created_at, mis.updated_at], :style=>wrap_text
end
end
end

View File

@@ -2,6 +2,7 @@ require_relative 'boot'
require 'csv'
require 'rails/all'
# require 'iconv'
# Require the gems listed in Gemfile, including any gems
# you've limited to :test, :development, or :production.

View File

@@ -3,3 +3,4 @@
# Add new mime types for use in respond_to blocks:
# Mime::Type.register "text/richtext", :rtf
Mime::Type.register 'application/vnd.ms-excel', :xls
Mime::Type.register "application/xlsx", :xlsx

View File

@@ -177,6 +177,7 @@ scope "(:locale)", locale: /en|mm/ do
post 'payment/master' => "master#create"
post 'payment/visa' => "visa#create"
post 'payment/unionpay' => "unionpay#create"
post 'payment/junctionpay' => "junction_pay#create"
post 'payment/paypar' => 'paypar_payments#create'
post 'payment/credit' => 'credit_payments#create'
post 'payment/voucher' => 'voucher_payments#create'
@@ -188,6 +189,7 @@ scope "(:locale)", locale: /en|mm/ do
get 'sale/:sale_id/:type/payment/others_payment/Master' => "master#index"
get 'sale/:sale_id/:type/payment/others_payment/JCB' => "jcb#index"
get 'sale/:sale_id/:type/payment/others_payment/UNIONPAY' => "unionpay#index"
get 'sale/:sale_id/:type/payment/others_payment/JUNCTIONPAY' => "junction_pay#index"
get 'sale/:sale_id/:type/payment/others_payment/Redeem' => "redeem_payments#index"
get 'sale/:sale_id/:type/payment/others_payment/Voucher' => "voucher#index"
@@ -435,6 +437,8 @@ scope "(:locale)", locale: /en|mm/ do
#----------- Print Setup --------#
resources :print_settings
get '/get_printer_options/:printer_name' => 'print_settings#get_printer_options'
resources :commissioners
# For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html
end

View File

@@ -8,7 +8,7 @@ class CreatePrintSettings < ActiveRecord::Migration[5.1]
t.string :printer_name, :null => false
t.string :api_settings
t.string :brand_name
t.string :type
t.string :printer_type
t.decimal :page_width, :null => false, :default => 210
t.decimal :page_height, :null => false, :default => 1450
t.integer :print_copies, :null => false, :default => 1

BIN
out.xls Normal file

Binary file not shown.

View File

@@ -0,0 +1,483 @@
%PDF-1.3
%ÿÿÿÿ
1 0 obj
<< /Creator <feff0050007200610077006e>
/Producer <feff0050007200610077006e>
>>
endobj
2 0 obj
<< /Type /Catalog
/Pages 3 0 R
>>
endobj
3 0 obj
<< /Type /Pages
/Count 1
/Kids [5 0 R]
>>
endobj
4 0 obj
<< /Length 4242
>>
stream
q
BT
48.975 1417.82 Td
/F1.0 10 Tf
[<4f53414b41204f4853484f2854> 120 <616d77> 10 <6529>] TJ
ET
BT
10.268 1402.696 Td
/F1.0 8 Tf
[<4e6f> 40 <2e203235362c204b> 50 <79> 20 <61696b6b6173616e20526f61642c2054> 120 <616d77> 10 <652054> 120 <6f> 15 <776e73686970> 35 <2c2059> 140 <616e676f6e>] TJ
ET
BT
71.904 1388.448 Td
/F1.0 8 Tf
[<54> 120 <656c3a2030392d323538363736363131>] TJ
ET
0.0 1379.944 m
210.0 1379.944 l
S
0.0 1379.944 m
210.0 1379.944 l
S
BT
0.0 1367.2 Td
/F1.0 8 Tf
[<52656365697074204e6f3a2032303138303231392d3735>] TJ
ET
BT
0.0 1347.2 Td
/F1.0 8 Tf
[<54> 120 <6162> 20 <6c65202d207432>] TJ
ET
BT
100.0 1347.2 Td
/F1.0 8 Tf
[<573a2043617368696572>] TJ
ET
BT
160.216 1347.2 Td
/F1.0 8 Tf
[<433a2043617368696572>] TJ
ET
BT
0.0 1327.2 Td
/F1.0 8 Tf
[<44617465203a2031392d30322d323031382831303a323920414d2d31303a333620414d29>] TJ
ET
0.0 1312.944 m
210.0 1312.944 l
S
BT
0.0 1302.2 Td
/F1.0 8 Tf
[<4974656d73>] TJ
ET
BT
106.656 1302.2 Td
/F1.0 8 Tf
[<5072> -15 <696365>] TJ
ET
BT
138.276 1302.2 Td
/F1.0 8 Tf
[<517479>] TJ
ET
BT
187.176 1302.2 Td
/F1.0 8 Tf
[<54> 120 <6f74616c>] TJ
ET
0.0 1292.944 m
210.0 1292.944 l
S
BT
0.0 1282.2 Td
/F1.0 8 Tf
[<56> 80 <6f646b61202d>] TJ
ET
BT
93.864 1282.2 Td
/F1.0 8 Tf
[<31302c3030302e30>] TJ
ET
BT
138.94 1282.2 Td
/F1.0 8 Tf
[<312e30>] TJ
ET
BT
172.864 1282.2 Td
/F1.0 8 Tf
[<31302c3030302e30>] TJ
ET
BT
0.0 1267.952 Td
/F1.0 8 Tf
[<746573745f6974656d31202d>] TJ
ET
BT
0.0 1258.704 Td
/F1.0 8 Tf
[<74657374315f736d616c6c>] TJ
ET
BT
98.312 1267.952 Td
/F1.0 8 Tf
[<312c3030302e30>] TJ
ET
BT
138.94 1267.952 Td
/F1.0 8 Tf
[<312e30>] TJ
ET
BT
177.312 1267.952 Td
/F1.0 8 Tf
[<312c3030302e30>] TJ
ET
0.0 1250.2 m
210.0 1250.2 l
S
BT
0.0 1239.456 Td
/F1.0 8 Tf
[<5375622054> 120 <6f74616c>] TJ
ET
BT
170.864 1239.456 Td
/F1.0 8 Tf
[<31312c3030302e30>] TJ
ET
BT
0.0 1225.208 Td
/F1.0 8 Tf
[<4f76> 25 <6572> 10 <616c6c20446973636f756e743a>] TJ
ET
BT
181.104 1225.208 Td
/F1.0 8 Tf
[<2820302e302029>] TJ
ET
BT
0.0 1210.96 Td
/F1.0 8 Tf
[<536572> -30 <76696365204368617267657320282031302529>] TJ
ET
BT
175.312 1210.96 Td
/F1.0 8 Tf
[<312c3130302e30>] TJ
ET
BT
0.0 1196.712 Td
/F1.0 8 Tf
[<436f6d6d65726369616c2054> 120 <6178202820352529>] TJ
ET
BT
181.984 1196.712 Td
/F1.0 8 Tf
[<3535302e30>] TJ
ET
BT
0.0 1181.028 Td
/F2.0 10 Tf
[<4772616e642054> 80 <6f74616c>] TJ
ET
BT
163.08 1181.028 Td
/F2.0 10 Tf
[<31322c3635302e30>] TJ
ET
0.0 1171.308 m
210.0 1171.308 l
S
BT
0.0 1160.564 Td
/F1.0 8 Tf
[<436173682050> 40 <61> 30 <796d656e74>] TJ
ET
BT
170.864 1160.564 Td
/F1.0 8 Tf
[<31322c3635302e30>] TJ
ET
BT
0.0 1146.316 Td
/F1.0 8 Tf
[<4368616e676520416d6f756e74>] TJ
ET
BT
190.88 1146.316 Td
/F1.0 8 Tf
[<302e30>] TJ
ET
BT
0.0 1127.068 Td
/F1.0 8 Tf
[<437573746f6d6572204e616d65>] TJ
ET
BT
169.064 1127.068 Td
/F1.0 8 Tf
[<57> 50 <414c4b2d494e>] TJ
ET
0.0 1118.564 m
210.0 1118.564 l
S
BT
0.0 1107.82 Td
/F1.0 8 Tf
[<54> 120 <6f74616c2046> 30 <6f6f6420446973636f756e7473>] TJ
ET
BT
185.552 1107.82 Td
/F1.0 8 Tf
[<28302e3029>] TJ
ET
BT
0.0 1098.572 Td
/F1.0 8 Tf
[<54> 120 <6f74616c204265> 30 <76> 25 <6572> 10 <61676520446973636f756e7473>] TJ
ET
BT
185.552 1098.572 Td
/F1.0 8 Tf
[<28302e3029>] TJ
ET
BT
0.0 1089.324 Td
/F1.0 8 Tf
[<54> 120 <6f74616c2050726f6475637420446973636f756e7473>] TJ
ET
BT
185.552 1089.324 Td
/F1.0 8 Tf
[<28302e3029>] TJ
ET
0.0 1080.82 m
210.0 1080.82 l
S
BT
0.0 1070.076 Td
/F1.0 8 Tf
[<46> 30 <6f6f64>] TJ
ET
BT
175.312 1070.076 Td
/F1.0 8 Tf
[<312c3030302e30>] TJ
ET
BT
0.0 1060.828 Td
/F1.0 8 Tf
[<4265> 30 <76> 25 <6572> 10 <616765>] TJ
ET
BT
170.864 1060.828 Td
/F1.0 8 Tf
[<31302c3030302e30>] TJ
ET
BT
0.0 1051.58 Td
/F1.0 8 Tf
[<50726f64756374>] TJ
ET
BT
190.88 1051.58 Td
/F1.0 8 Tf
[<302e30>] TJ
ET
0.0 1043.076 m
210.0 1043.076 l
S
BT
0.0 1031.614 Td
/F1.0 9 Tf
[<53706c69742042696c6c2066> 30 <6f72203020706572736f6e73>] TJ
ET
BT
0.0 1017.332 Td
/F1.0 8 Tf
[<416d6f756e7420447565202870657220706572736f6e29>] TJ
ET
BT
193.104 1017.332 Td
/F1.0 8 Tf
[<496e66>] TJ
ET
0.0 1008.828 m
210.0 1008.828 l
S
BT
0.0 996.648 Td
/F2.0 10 Tf
[<50> 30 <616964>] TJ
ET
BT
102.0 998.084 Td
/F1.0 8 Tf
[<5468616e6b2059> 140 <6f7521205365652079> 20 <6f7520416761696e>] TJ
ET
Q
endstream
endobj
5 0 obj
<< /Type /Page
/Parent 3 0 R
/MediaBox [0 0 210 1450]
/CropBox [0 0 210 1450]
/BleedBox [0 0 210 1450]
/TrimBox [0 0 210 1450]
/ArtBox [0 0 210 1450]
/Contents 4 0 R
/Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
/Font << /F1.0 6 0 R
/F2.0 7 0 R
>>
>>
>>
endobj
6 0 obj
<< /Type /Font
/Subtype /Type1
/BaseFont /Helvetica
/Encoding /WinAnsiEncoding
>>
endobj
7 0 obj
<< /Type /Font
/Subtype /Type1
/BaseFont /Helvetica-Bold
/Encoding /WinAnsiEncoding
>>
endobj
xref
0 8
0000000000 65535 f
0000000015 00000 n
0000000109 00000 n
0000000158 00000 n
0000000215 00000 n
0000004509 00000 n
0000004792 00000 n
0000004889 00000 n
trailer
<< /Size 8
/Root 2 0 R
/Info 1 0 R
>>
startxref
4991
%%EOF

View File

@@ -0,0 +1,455 @@
%PDF-1.3
%ÿÿÿÿ
1 0 obj
<< /Creator <feff0050007200610077006e>
/Producer <feff0050007200610077006e>
>>
endobj
2 0 obj
<< /Type /Catalog
/Pages 3 0 R
>>
endobj
3 0 obj
<< /Type /Pages
/Count 1
/Kids [5 0 R]
>>
endobj
4 0 obj
<< /Length 4003
>>
stream
q
BT
48.975 1417.82 Td
/F1.0 10 Tf
[<4f53414b41204f4853484f2854> 120 <616d77> 10 <6529>] TJ
ET
BT
10.268 1402.696 Td
/F1.0 8 Tf
[<4e6f> 40 <2e203235362c204b> 50 <79> 20 <61696b6b6173616e20526f61642c2054> 120 <616d77> 10 <652054> 120 <6f> 15 <776e73686970> 35 <2c2059> 140 <616e676f6e>] TJ
ET
BT
71.904 1388.448 Td
/F1.0 8 Tf
[<54> 120 <656c3a2030392d323538363736363131>] TJ
ET
0.0 1379.944 m
210.0 1379.944 l
S
0.0 1379.944 m
210.0 1379.944 l
S
BT
0.0 1367.2 Td
/F1.0 8 Tf
[<52656365697074204e6f3a207177> 10 <65722d32303138303330372d3737>] TJ
ET
BT
0.0 1347.2 Td
/F1.0 8 Tf
[<54> 120 <6162> 20 <6c65202d207431>] TJ
ET
BT
100.0 1347.2 Td
/F1.0 8 Tf
[<573a2043617368696572>] TJ
ET
BT
160.216 1347.2 Td
/F1.0 8 Tf
[<433a2043617368696572>] TJ
ET
BT
0.0 1327.2 Td
/F1.0 8 Tf
[<44617465203a2030372d30332d323031382830353a333320504d2d30353a353020504d29>] TJ
ET
0.0 1312.944 m
210.0 1312.944 l
S
BT
0.0 1302.2 Td
/F1.0 8 Tf
[<4974656d73>] TJ
ET
BT
106.656 1302.2 Td
/F1.0 8 Tf
[<5072> -15 <696365>] TJ
ET
BT
138.276 1302.2 Td
/F1.0 8 Tf
[<517479>] TJ
ET
BT
187.176 1302.2 Td
/F1.0 8 Tf
[<54> 120 <6f74616c>] TJ
ET
0.0 1292.944 m
210.0 1292.944 l
S
BT
0.0 1282.2 Td
/F1.0 8 Tf
[<746573745f6974656d31202d>] TJ
ET
BT
0.0 1272.952 Td
/F1.0 8 Tf
[<74657374315f736d616c6c>] TJ
ET
BT
98.312 1282.2 Td
/F1.0 8 Tf
[<312c3030302e30>] TJ
ET
BT
138.94 1282.2 Td
/F1.0 8 Tf
[<312e30>] TJ
ET
BT
177.312 1282.2 Td
/F1.0 8 Tf
[<312c3030302e30>] TJ
ET
0.0 1264.448 m
210.0 1264.448 l
S
BT
0.0 1253.704 Td
/F1.0 8 Tf
[<5375622054> 120 <6f74616c>] TJ
ET
BT
175.312 1253.704 Td
/F1.0 8 Tf
[<312c3030302e30>] TJ
ET
BT
0.0 1239.456 Td
/F1.0 8 Tf
[<4f76> 25 <6572> 10 <616c6c20446973636f756e743a>] TJ
ET
BT
181.104 1239.456 Td
/F1.0 8 Tf
[<2820302e302029>] TJ
ET
BT
0.0 1225.208 Td
/F1.0 8 Tf
[<536572> -30 <76696365204368617267657320282031302529>] TJ
ET
BT
181.984 1225.208 Td
/F1.0 8 Tf
[<3130302e30>] TJ
ET
BT
0.0 1210.96 Td
/F1.0 8 Tf
[<436f6d6d65726369616c2054> 120 <6178202820352529>] TJ
ET
BT
186.432 1210.96 Td
/F1.0 8 Tf
[<35302e30>] TJ
ET
BT
0.0 1195.276 Td
/F2.0 10 Tf
[<4772616e642054> 80 <6f74616c>] TJ
ET
BT
168.64 1195.276 Td
/F2.0 10 Tf
[<312c3135302e30>] TJ
ET
0.0 1185.556 m
210.0 1185.556 l
S
BT
0.0 1174.812 Td
/F1.0 8 Tf
[<436173682050> 40 <61> 30 <796d656e74>] TJ
ET
BT
175.312 1174.812 Td
/F1.0 8 Tf
[<312c3135302e30>] TJ
ET
BT
0.0 1160.564 Td
/F1.0 8 Tf
[<4368616e676520416d6f756e74>] TJ
ET
BT
190.88 1160.564 Td
/F1.0 8 Tf
[<302e30>] TJ
ET
BT
0.0 1141.316 Td
/F1.0 8 Tf
[<437573746f6d6572204e616d65>] TJ
ET
BT
169.064 1141.316 Td
/F1.0 8 Tf
[<57> 50 <414c4b2d494e>] TJ
ET
0.0 1132.812 m
210.0 1132.812 l
S
BT
0.0 1122.068 Td
/F1.0 8 Tf
[<54> 120 <6f74616c2046> 30 <6f6f6420446973636f756e7473>] TJ
ET
BT
185.552 1122.068 Td
/F1.0 8 Tf
[<28302e3029>] TJ
ET
BT
0.0 1112.82 Td
/F1.0 8 Tf
[<54> 120 <6f74616c204265> 30 <76> 25 <6572> 10 <61676520446973636f756e7473>] TJ
ET
BT
185.552 1112.82 Td
/F1.0 8 Tf
[<28302e3029>] TJ
ET
BT
0.0 1103.572 Td
/F1.0 8 Tf
[<54> 120 <6f74616c2050726f6475637420446973636f756e7473>] TJ
ET
BT
185.552 1103.572 Td
/F1.0 8 Tf
[<28302e3029>] TJ
ET
0.0 1095.068 m
210.0 1095.068 l
S
BT
0.0 1084.324 Td
/F1.0 8 Tf
[<46> 30 <6f6f64>] TJ
ET
BT
175.312 1084.324 Td
/F1.0 8 Tf
[<312c3030302e30>] TJ
ET
BT
0.0 1075.076 Td
/F1.0 8 Tf
[<4265> 30 <76> 25 <6572> 10 <616765>] TJ
ET
BT
190.88 1075.076 Td
/F1.0 8 Tf
[<302e30>] TJ
ET
BT
0.0 1065.828 Td
/F1.0 8 Tf
[<50726f64756374>] TJ
ET
BT
190.88 1065.828 Td
/F1.0 8 Tf
[<302e30>] TJ
ET
0.0 1057.324 m
210.0 1057.324 l
S
BT
0.0 1045.862 Td
/F1.0 9 Tf
[<53706c69742042696c6c2066> 30 <6f72203020706572736f6e73>] TJ
ET
BT
0.0 1031.58 Td
/F1.0 8 Tf
[<416d6f756e7420447565202870657220706572736f6e29>] TJ
ET
BT
193.104 1031.58 Td
/F1.0 8 Tf
[<496e66>] TJ
ET
0.0 1023.076 m
210.0 1023.076 l
S
BT
0.0 1010.896 Td
/F2.0 10 Tf
[<50> 30 <616964>] TJ
ET
BT
102.0 1012.332 Td
/F1.0 8 Tf
[<5468616e6b2059> 140 <6f7521205365652079> 20 <6f7520416761696e>] TJ
ET
Q
endstream
endobj
5 0 obj
<< /Type /Page
/Parent 3 0 R
/MediaBox [0 0 210 1450]
/CropBox [0 0 210 1450]
/BleedBox [0 0 210 1450]
/TrimBox [0 0 210 1450]
/ArtBox [0 0 210 1450]
/Contents 4 0 R
/Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
/Font << /F1.0 6 0 R
/F2.0 7 0 R
>>
>>
>>
endobj
6 0 obj
<< /Type /Font
/Subtype /Type1
/BaseFont /Helvetica
/Encoding /WinAnsiEncoding
>>
endobj
7 0 obj
<< /Type /Font
/Subtype /Type1
/BaseFont /Helvetica-Bold
/Encoding /WinAnsiEncoding
>>
endobj
xref
0 8
0000000000 65535 f
0000000015 00000 n
0000000109 00000 n
0000000158 00000 n
0000000215 00000 n
0000004270 00000 n
0000004553 00000 n
0000004650 00000 n
trailer
<< /Size 8
/Root 2 0 R
/Info 1 0 R
>>
startxref
4752
%%EOF

View File

@@ -0,0 +1,455 @@
%PDF-1.3
%ÿÿÿÿ
1 0 obj
<< /Creator <feff0050007200610077006e>
/Producer <feff0050007200610077006e>
>>
endobj
2 0 obj
<< /Type /Catalog
/Pages 3 0 R
>>
endobj
3 0 obj
<< /Type /Pages
/Count 1
/Kids [5 0 R]
>>
endobj
4 0 obj
<< /Length 4003
>>
stream
q
BT
48.975 1417.82 Td
/F1.0 10 Tf
[<4f53414b41204f4853484f2854> 120 <616d77> 10 <6529>] TJ
ET
BT
10.268 1402.696 Td
/F1.0 8 Tf
[<4e6f> 40 <2e203235362c204b> 50 <79> 20 <61696b6b6173616e20526f61642c2054> 120 <616d77> 10 <652054> 120 <6f> 15 <776e73686970> 35 <2c2059> 140 <616e676f6e>] TJ
ET
BT
71.904 1388.448 Td
/F1.0 8 Tf
[<54> 120 <656c3a2030392d323538363736363131>] TJ
ET
0.0 1379.944 m
210.0 1379.944 l
S
0.0 1379.944 m
210.0 1379.944 l
S
BT
0.0 1367.2 Td
/F1.0 8 Tf
[<52656365697074204e6f3a207177> 10 <65722d32303138303330372d3738>] TJ
ET
BT
0.0 1347.2 Td
/F1.0 8 Tf
[<54> 120 <6162> 20 <6c65202d207431>] TJ
ET
BT
100.0 1347.2 Td
/F1.0 8 Tf
[<573a2043617368696572>] TJ
ET
BT
160.216 1347.2 Td
/F1.0 8 Tf
[<433a2043617368696572>] TJ
ET
BT
0.0 1327.2 Td
/F1.0 8 Tf
[<44617465203a2030372d30332d323031382830363a303320504d2d30363a303420504d29>] TJ
ET
0.0 1312.944 m
210.0 1312.944 l
S
BT
0.0 1302.2 Td
/F1.0 8 Tf
[<4974656d73>] TJ
ET
BT
106.656 1302.2 Td
/F1.0 8 Tf
[<5072> -15 <696365>] TJ
ET
BT
138.276 1302.2 Td
/F1.0 8 Tf
[<517479>] TJ
ET
BT
187.176 1302.2 Td
/F1.0 8 Tf
[<54> 120 <6f74616c>] TJ
ET
0.0 1292.944 m
210.0 1292.944 l
S
BT
0.0 1282.2 Td
/F1.0 8 Tf
[<746573745f6974656d31202d>] TJ
ET
BT
0.0 1272.952 Td
/F1.0 8 Tf
[<74657374315f736d616c6c>] TJ
ET
BT
98.312 1282.2 Td
/F1.0 8 Tf
[<312c3030302e30>] TJ
ET
BT
138.94 1282.2 Td
/F1.0 8 Tf
[<312e30>] TJ
ET
BT
177.312 1282.2 Td
/F1.0 8 Tf
[<312c3030302e30>] TJ
ET
0.0 1264.448 m
210.0 1264.448 l
S
BT
0.0 1253.704 Td
/F1.0 8 Tf
[<5375622054> 120 <6f74616c>] TJ
ET
BT
175.312 1253.704 Td
/F1.0 8 Tf
[<312c3030302e30>] TJ
ET
BT
0.0 1239.456 Td
/F1.0 8 Tf
[<4f76> 25 <6572> 10 <616c6c20446973636f756e743a>] TJ
ET
BT
181.104 1239.456 Td
/F1.0 8 Tf
[<2820302e302029>] TJ
ET
BT
0.0 1225.208 Td
/F1.0 8 Tf
[<536572> -30 <76696365204368617267657320282031302529>] TJ
ET
BT
181.984 1225.208 Td
/F1.0 8 Tf
[<3130302e30>] TJ
ET
BT
0.0 1210.96 Td
/F1.0 8 Tf
[<436f6d6d65726369616c2054> 120 <6178202820352529>] TJ
ET
BT
186.432 1210.96 Td
/F1.0 8 Tf
[<35302e30>] TJ
ET
BT
0.0 1195.276 Td
/F2.0 10 Tf
[<4772616e642054> 80 <6f74616c>] TJ
ET
BT
168.64 1195.276 Td
/F2.0 10 Tf
[<312c3135302e30>] TJ
ET
0.0 1185.556 m
210.0 1185.556 l
S
BT
0.0 1174.812 Td
/F1.0 8 Tf
[<436173682050> 40 <61> 30 <796d656e74>] TJ
ET
BT
175.312 1174.812 Td
/F1.0 8 Tf
[<312c3135302e30>] TJ
ET
BT
0.0 1160.564 Td
/F1.0 8 Tf
[<4368616e676520416d6f756e74>] TJ
ET
BT
190.88 1160.564 Td
/F1.0 8 Tf
[<302e30>] TJ
ET
BT
0.0 1141.316 Td
/F1.0 8 Tf
[<437573746f6d6572204e616d65>] TJ
ET
BT
169.064 1141.316 Td
/F1.0 8 Tf
[<57> 50 <414c4b2d494e>] TJ
ET
0.0 1132.812 m
210.0 1132.812 l
S
BT
0.0 1122.068 Td
/F1.0 8 Tf
[<54> 120 <6f74616c2046> 30 <6f6f6420446973636f756e7473>] TJ
ET
BT
185.552 1122.068 Td
/F1.0 8 Tf
[<28302e3029>] TJ
ET
BT
0.0 1112.82 Td
/F1.0 8 Tf
[<54> 120 <6f74616c204265> 30 <76> 25 <6572> 10 <61676520446973636f756e7473>] TJ
ET
BT
185.552 1112.82 Td
/F1.0 8 Tf
[<28302e3029>] TJ
ET
BT
0.0 1103.572 Td
/F1.0 8 Tf
[<54> 120 <6f74616c2050726f6475637420446973636f756e7473>] TJ
ET
BT
185.552 1103.572 Td
/F1.0 8 Tf
[<28302e3029>] TJ
ET
0.0 1095.068 m
210.0 1095.068 l
S
BT
0.0 1084.324 Td
/F1.0 8 Tf
[<46> 30 <6f6f64>] TJ
ET
BT
175.312 1084.324 Td
/F1.0 8 Tf
[<312c3030302e30>] TJ
ET
BT
0.0 1075.076 Td
/F1.0 8 Tf
[<4265> 30 <76> 25 <6572> 10 <616765>] TJ
ET
BT
190.88 1075.076 Td
/F1.0 8 Tf
[<302e30>] TJ
ET
BT
0.0 1065.828 Td
/F1.0 8 Tf
[<50726f64756374>] TJ
ET
BT
190.88 1065.828 Td
/F1.0 8 Tf
[<302e30>] TJ
ET
0.0 1057.324 m
210.0 1057.324 l
S
BT
0.0 1045.862 Td
/F1.0 9 Tf
[<53706c69742042696c6c2066> 30 <6f72203020706572736f6e73>] TJ
ET
BT
0.0 1031.58 Td
/F1.0 8 Tf
[<416d6f756e7420447565202870657220706572736f6e29>] TJ
ET
BT
193.104 1031.58 Td
/F1.0 8 Tf
[<496e66>] TJ
ET
0.0 1023.076 m
210.0 1023.076 l
S
BT
0.0 1010.896 Td
/F2.0 10 Tf
[<50> 30 <616964>] TJ
ET
BT
102.0 1012.332 Td
/F1.0 8 Tf
[<5468616e6b2059> 140 <6f7521205365652079> 20 <6f7520416761696e>] TJ
ET
Q
endstream
endobj
5 0 obj
<< /Type /Page
/Parent 3 0 R
/MediaBox [0 0 210 1450]
/CropBox [0 0 210 1450]
/BleedBox [0 0 210 1450]
/TrimBox [0 0 210 1450]
/ArtBox [0 0 210 1450]
/Contents 4 0 R
/Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
/Font << /F1.0 6 0 R
/F2.0 7 0 R
>>
>>
>>
endobj
6 0 obj
<< /Type /Font
/Subtype /Type1
/BaseFont /Helvetica
/Encoding /WinAnsiEncoding
>>
endobj
7 0 obj
<< /Type /Font
/Subtype /Type1
/BaseFont /Helvetica-Bold
/Encoding /WinAnsiEncoding
>>
endobj
xref
0 8
0000000000 65535 f
0000000015 00000 n
0000000109 00000 n
0000000158 00000 n
0000000215 00000 n
0000004270 00000 n
0000004553 00000 n
0000004650 00000 n
trailer
<< /Size 8
/Root 2 0 R
/Info 1 0 R
>>
startxref
4752
%%EOF

View File

@@ -0,0 +1,455 @@
%PDF-1.3
%ÿÿÿÿ
1 0 obj
<< /Creator <feff0050007200610077006e>
/Producer <feff0050007200610077006e>
>>
endobj
2 0 obj
<< /Type /Catalog
/Pages 3 0 R
>>
endobj
3 0 obj
<< /Type /Pages
/Count 1
/Kids [5 0 R]
>>
endobj
4 0 obj
<< /Length 4003
>>
stream
q
BT
48.975 1417.82 Td
/F1.0 10 Tf
[<4f53414b41204f4853484f2854> 120 <616d77> 10 <6529>] TJ
ET
BT
10.268 1402.696 Td
/F1.0 8 Tf
[<4e6f> 40 <2e203235362c204b> 50 <79> 20 <61696b6b6173616e20526f61642c2054> 120 <616d77> 10 <652054> 120 <6f> 15 <776e73686970> 35 <2c2059> 140 <616e676f6e>] TJ
ET
BT
71.904 1388.448 Td
/F1.0 8 Tf
[<54> 120 <656c3a2030392d323538363736363131>] TJ
ET
0.0 1379.944 m
210.0 1379.944 l
S
0.0 1379.944 m
210.0 1379.944 l
S
BT
0.0 1367.2 Td
/F1.0 8 Tf
[<52656365697074204e6f3a207177> 10 <65722d32303138303330372d3739>] TJ
ET
BT
0.0 1347.2 Td
/F1.0 8 Tf
[<54> 120 <6162> 20 <6c65202d207432>] TJ
ET
BT
100.0 1347.2 Td
/F1.0 8 Tf
[<573a2043617368696572>] TJ
ET
BT
160.216 1347.2 Td
/F1.0 8 Tf
[<433a2043617368696572>] TJ
ET
BT
0.0 1327.2 Td
/F1.0 8 Tf
[<44617465203a2030372d30332d323031382830363a303620504d2d30363a303620504d29>] TJ
ET
0.0 1312.944 m
210.0 1312.944 l
S
BT
0.0 1302.2 Td
/F1.0 8 Tf
[<4974656d73>] TJ
ET
BT
106.656 1302.2 Td
/F1.0 8 Tf
[<5072> -15 <696365>] TJ
ET
BT
138.276 1302.2 Td
/F1.0 8 Tf
[<517479>] TJ
ET
BT
187.176 1302.2 Td
/F1.0 8 Tf
[<54> 120 <6f74616c>] TJ
ET
0.0 1292.944 m
210.0 1292.944 l
S
BT
0.0 1282.2 Td
/F1.0 8 Tf
[<746573745f6974656d31202d>] TJ
ET
BT
0.0 1272.952 Td
/F1.0 8 Tf
[<74657374315f736d616c6c>] TJ
ET
BT
98.312 1282.2 Td
/F1.0 8 Tf
[<312c3030302e30>] TJ
ET
BT
138.94 1282.2 Td
/F1.0 8 Tf
[<312e30>] TJ
ET
BT
177.312 1282.2 Td
/F1.0 8 Tf
[<312c3030302e30>] TJ
ET
0.0 1264.448 m
210.0 1264.448 l
S
BT
0.0 1253.704 Td
/F1.0 8 Tf
[<5375622054> 120 <6f74616c>] TJ
ET
BT
175.312 1253.704 Td
/F1.0 8 Tf
[<312c3030302e30>] TJ
ET
BT
0.0 1239.456 Td
/F1.0 8 Tf
[<4f76> 25 <6572> 10 <616c6c20446973636f756e743a>] TJ
ET
BT
181.104 1239.456 Td
/F1.0 8 Tf
[<2820302e302029>] TJ
ET
BT
0.0 1225.208 Td
/F1.0 8 Tf
[<536572> -30 <76696365204368617267657320282031302529>] TJ
ET
BT
181.984 1225.208 Td
/F1.0 8 Tf
[<3130302e30>] TJ
ET
BT
0.0 1210.96 Td
/F1.0 8 Tf
[<436f6d6d65726369616c2054> 120 <6178202820352529>] TJ
ET
BT
186.432 1210.96 Td
/F1.0 8 Tf
[<35302e30>] TJ
ET
BT
0.0 1195.276 Td
/F2.0 10 Tf
[<4772616e642054> 80 <6f74616c>] TJ
ET
BT
168.64 1195.276 Td
/F2.0 10 Tf
[<312c3135302e30>] TJ
ET
0.0 1185.556 m
210.0 1185.556 l
S
BT
0.0 1174.812 Td
/F1.0 8 Tf
[<436173682050> 40 <61> 30 <796d656e74>] TJ
ET
BT
175.312 1174.812 Td
/F1.0 8 Tf
[<312c3135302e30>] TJ
ET
BT
0.0 1160.564 Td
/F1.0 8 Tf
[<4368616e676520416d6f756e74>] TJ
ET
BT
190.88 1160.564 Td
/F1.0 8 Tf
[<302e30>] TJ
ET
BT
0.0 1141.316 Td
/F1.0 8 Tf
[<437573746f6d6572204e616d65>] TJ
ET
BT
169.064 1141.316 Td
/F1.0 8 Tf
[<57> 50 <414c4b2d494e>] TJ
ET
0.0 1132.812 m
210.0 1132.812 l
S
BT
0.0 1122.068 Td
/F1.0 8 Tf
[<54> 120 <6f74616c2046> 30 <6f6f6420446973636f756e7473>] TJ
ET
BT
185.552 1122.068 Td
/F1.0 8 Tf
[<28302e3029>] TJ
ET
BT
0.0 1112.82 Td
/F1.0 8 Tf
[<54> 120 <6f74616c204265> 30 <76> 25 <6572> 10 <61676520446973636f756e7473>] TJ
ET
BT
185.552 1112.82 Td
/F1.0 8 Tf
[<28302e3029>] TJ
ET
BT
0.0 1103.572 Td
/F1.0 8 Tf
[<54> 120 <6f74616c2050726f6475637420446973636f756e7473>] TJ
ET
BT
185.552 1103.572 Td
/F1.0 8 Tf
[<28302e3029>] TJ
ET
0.0 1095.068 m
210.0 1095.068 l
S
BT
0.0 1084.324 Td
/F1.0 8 Tf
[<46> 30 <6f6f64>] TJ
ET
BT
175.312 1084.324 Td
/F1.0 8 Tf
[<312c3030302e30>] TJ
ET
BT
0.0 1075.076 Td
/F1.0 8 Tf
[<4265> 30 <76> 25 <6572> 10 <616765>] TJ
ET
BT
190.88 1075.076 Td
/F1.0 8 Tf
[<302e30>] TJ
ET
BT
0.0 1065.828 Td
/F1.0 8 Tf
[<50726f64756374>] TJ
ET
BT
190.88 1065.828 Td
/F1.0 8 Tf
[<302e30>] TJ
ET
0.0 1057.324 m
210.0 1057.324 l
S
BT
0.0 1045.862 Td
/F1.0 9 Tf
[<53706c69742042696c6c2066> 30 <6f72203020706572736f6e73>] TJ
ET
BT
0.0 1031.58 Td
/F1.0 8 Tf
[<416d6f756e7420447565202870657220706572736f6e29>] TJ
ET
BT
193.104 1031.58 Td
/F1.0 8 Tf
[<496e66>] TJ
ET
0.0 1023.076 m
210.0 1023.076 l
S
BT
0.0 1010.896 Td
/F2.0 10 Tf
[<50> 30 <616964>] TJ
ET
BT
102.0 1012.332 Td
/F1.0 8 Tf
[<5468616e6b2059> 140 <6f7521205365652079> 20 <6f7520416761696e>] TJ
ET
Q
endstream
endobj
5 0 obj
<< /Type /Page
/Parent 3 0 R
/MediaBox [0 0 210 1450]
/CropBox [0 0 210 1450]
/BleedBox [0 0 210 1450]
/TrimBox [0 0 210 1450]
/ArtBox [0 0 210 1450]
/Contents 4 0 R
/Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
/Font << /F1.0 6 0 R
/F2.0 7 0 R
>>
>>
>>
endobj
6 0 obj
<< /Type /Font
/Subtype /Type1
/BaseFont /Helvetica
/Encoding /WinAnsiEncoding
>>
endobj
7 0 obj
<< /Type /Font
/Subtype /Type1
/BaseFont /Helvetica-Bold
/Encoding /WinAnsiEncoding
>>
endobj
xref
0 8
0000000000 65535 f
0000000015 00000 n
0000000109 00000 n
0000000158 00000 n
0000000215 00000 n
0000004270 00000 n
0000004553 00000 n
0000004650 00000 n
trailer
<< /Size 8
/Root 2 0 R
/Info 1 0 R
>>
startxref
4752
%%EOF

View File

@@ -0,0 +1,455 @@
%PDF-1.3
%ÿÿÿÿ
1 0 obj
<< /Creator <feff0050007200610077006e>
/Producer <feff0050007200610077006e>
>>
endobj
2 0 obj
<< /Type /Catalog
/Pages 3 0 R
>>
endobj
3 0 obj
<< /Type /Pages
/Count 1
/Kids [5 0 R]
>>
endobj
4 0 obj
<< /Length 4003
>>
stream
q
BT
48.975 1417.82 Td
/F1.0 10 Tf
[<4f53414b41204f4853484f2854> 120 <616d77> 10 <6529>] TJ
ET
BT
10.268 1402.696 Td
/F1.0 8 Tf
[<4e6f> 40 <2e203235362c204b> 50 <79> 20 <61696b6b6173616e20526f61642c2054> 120 <616d77> 10 <652054> 120 <6f> 15 <776e73686970> 35 <2c2059> 140 <616e676f6e>] TJ
ET
BT
71.904 1388.448 Td
/F1.0 8 Tf
[<54> 120 <656c3a2030392d323538363736363131>] TJ
ET
0.0 1379.944 m
210.0 1379.944 l
S
0.0 1379.944 m
210.0 1379.944 l
S
BT
0.0 1367.2 Td
/F1.0 8 Tf
[<52656365697074204e6f3a207177> 10 <65722d32303138303330372d3830>] TJ
ET
BT
0.0 1347.2 Td
/F1.0 8 Tf
[<54> 120 <6162> 20 <6c65202d207432>] TJ
ET
BT
100.0 1347.2 Td
/F1.0 8 Tf
[<573a2043617368696572>] TJ
ET
BT
160.216 1347.2 Td
/F1.0 8 Tf
[<433a2043617368696572>] TJ
ET
BT
0.0 1327.2 Td
/F1.0 8 Tf
[<44617465203a2030372d30332d323031382830363a303720504d2d30363a303720504d29>] TJ
ET
0.0 1312.944 m
210.0 1312.944 l
S
BT
0.0 1302.2 Td
/F1.0 8 Tf
[<4974656d73>] TJ
ET
BT
106.656 1302.2 Td
/F1.0 8 Tf
[<5072> -15 <696365>] TJ
ET
BT
138.276 1302.2 Td
/F1.0 8 Tf
[<517479>] TJ
ET
BT
187.176 1302.2 Td
/F1.0 8 Tf
[<54> 120 <6f74616c>] TJ
ET
0.0 1292.944 m
210.0 1292.944 l
S
BT
0.0 1282.2 Td
/F1.0 8 Tf
[<746573745f6974656d31202d>] TJ
ET
BT
0.0 1272.952 Td
/F1.0 8 Tf
[<74657374315f736d616c6c>] TJ
ET
BT
98.312 1282.2 Td
/F1.0 8 Tf
[<312c3030302e30>] TJ
ET
BT
138.94 1282.2 Td
/F1.0 8 Tf
[<312e30>] TJ
ET
BT
177.312 1282.2 Td
/F1.0 8 Tf
[<312c3030302e30>] TJ
ET
0.0 1264.448 m
210.0 1264.448 l
S
BT
0.0 1253.704 Td
/F1.0 8 Tf
[<5375622054> 120 <6f74616c>] TJ
ET
BT
175.312 1253.704 Td
/F1.0 8 Tf
[<312c3030302e30>] TJ
ET
BT
0.0 1239.456 Td
/F1.0 8 Tf
[<4f76> 25 <6572> 10 <616c6c20446973636f756e743a>] TJ
ET
BT
181.104 1239.456 Td
/F1.0 8 Tf
[<2820302e302029>] TJ
ET
BT
0.0 1225.208 Td
/F1.0 8 Tf
[<536572> -30 <76696365204368617267657320282031302529>] TJ
ET
BT
181.984 1225.208 Td
/F1.0 8 Tf
[<3130302e30>] TJ
ET
BT
0.0 1210.96 Td
/F1.0 8 Tf
[<436f6d6d65726369616c2054> 120 <6178202820352529>] TJ
ET
BT
186.432 1210.96 Td
/F1.0 8 Tf
[<35302e30>] TJ
ET
BT
0.0 1195.276 Td
/F2.0 10 Tf
[<4772616e642054> 80 <6f74616c>] TJ
ET
BT
168.64 1195.276 Td
/F2.0 10 Tf
[<312c3135302e30>] TJ
ET
0.0 1185.556 m
210.0 1185.556 l
S
BT
0.0 1174.812 Td
/F1.0 8 Tf
[<436173682050> 40 <61> 30 <796d656e74>] TJ
ET
BT
175.312 1174.812 Td
/F1.0 8 Tf
[<312c3135302e30>] TJ
ET
BT
0.0 1160.564 Td
/F1.0 8 Tf
[<4368616e676520416d6f756e74>] TJ
ET
BT
190.88 1160.564 Td
/F1.0 8 Tf
[<302e30>] TJ
ET
BT
0.0 1141.316 Td
/F1.0 8 Tf
[<437573746f6d6572204e616d65>] TJ
ET
BT
169.064 1141.316 Td
/F1.0 8 Tf
[<57> 50 <414c4b2d494e>] TJ
ET
0.0 1132.812 m
210.0 1132.812 l
S
BT
0.0 1122.068 Td
/F1.0 8 Tf
[<54> 120 <6f74616c2046> 30 <6f6f6420446973636f756e7473>] TJ
ET
BT
185.552 1122.068 Td
/F1.0 8 Tf
[<28302e3029>] TJ
ET
BT
0.0 1112.82 Td
/F1.0 8 Tf
[<54> 120 <6f74616c204265> 30 <76> 25 <6572> 10 <61676520446973636f756e7473>] TJ
ET
BT
185.552 1112.82 Td
/F1.0 8 Tf
[<28302e3029>] TJ
ET
BT
0.0 1103.572 Td
/F1.0 8 Tf
[<54> 120 <6f74616c2050726f6475637420446973636f756e7473>] TJ
ET
BT
185.552 1103.572 Td
/F1.0 8 Tf
[<28302e3029>] TJ
ET
0.0 1095.068 m
210.0 1095.068 l
S
BT
0.0 1084.324 Td
/F1.0 8 Tf
[<46> 30 <6f6f64>] TJ
ET
BT
175.312 1084.324 Td
/F1.0 8 Tf
[<312c3030302e30>] TJ
ET
BT
0.0 1075.076 Td
/F1.0 8 Tf
[<4265> 30 <76> 25 <6572> 10 <616765>] TJ
ET
BT
190.88 1075.076 Td
/F1.0 8 Tf
[<302e30>] TJ
ET
BT
0.0 1065.828 Td
/F1.0 8 Tf
[<50726f64756374>] TJ
ET
BT
190.88 1065.828 Td
/F1.0 8 Tf
[<302e30>] TJ
ET
0.0 1057.324 m
210.0 1057.324 l
S
BT
0.0 1045.862 Td
/F1.0 9 Tf
[<53706c69742042696c6c2066> 30 <6f72203020706572736f6e73>] TJ
ET
BT
0.0 1031.58 Td
/F1.0 8 Tf
[<416d6f756e7420447565202870657220706572736f6e29>] TJ
ET
BT
193.104 1031.58 Td
/F1.0 8 Tf
[<496e66>] TJ
ET
0.0 1023.076 m
210.0 1023.076 l
S
BT
0.0 1010.896 Td
/F2.0 10 Tf
[<50> 30 <616964>] TJ
ET
BT
102.0 1012.332 Td
/F1.0 8 Tf
[<5468616e6b2059> 140 <6f7521205365652079> 20 <6f7520416761696e>] TJ
ET
Q
endstream
endobj
5 0 obj
<< /Type /Page
/Parent 3 0 R
/MediaBox [0 0 210 1450]
/CropBox [0 0 210 1450]
/BleedBox [0 0 210 1450]
/TrimBox [0 0 210 1450]
/ArtBox [0 0 210 1450]
/Contents 4 0 R
/Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
/Font << /F1.0 6 0 R
/F2.0 7 0 R
>>
>>
>>
endobj
6 0 obj
<< /Type /Font
/Subtype /Type1
/BaseFont /Helvetica
/Encoding /WinAnsiEncoding
>>
endobj
7 0 obj
<< /Type /Font
/Subtype /Type1
/BaseFont /Helvetica-Bold
/Encoding /WinAnsiEncoding
>>
endobj
xref
0 8
0000000000 65535 f
0000000015 00000 n
0000000109 00000 n
0000000158 00000 n
0000000215 00000 n
0000004270 00000 n
0000004553 00000 n
0000004650 00000 n
trailer
<< /Size 8
/Root 2 0 R
/Info 1 0 R
>>
startxref
4752
%%EOF

View File

@@ -0,0 +1,455 @@
%PDF-1.3
%ÿÿÿÿ
1 0 obj
<< /Creator <feff0050007200610077006e>
/Producer <feff0050007200610077006e>
>>
endobj
2 0 obj
<< /Type /Catalog
/Pages 3 0 R
>>
endobj
3 0 obj
<< /Type /Pages
/Count 1
/Kids [5 0 R]
>>
endobj
4 0 obj
<< /Length 4005
>>
stream
q
BT
48.975 1417.82 Td
/F1.0 10 Tf
[<4f53414b41204f4853484f2854> 120 <616d77> 10 <6529>] TJ
ET
BT
10.268 1402.696 Td
/F1.0 8 Tf
[<4e6f> 40 <2e203235362c204b> 50 <79> 20 <61696b6b6173616e20526f61642c2054> 120 <616d77> 10 <652054> 120 <6f> 15 <776e73686970> 35 <2c2059> 140 <616e676f6e>] TJ
ET
BT
71.904 1388.448 Td
/F1.0 8 Tf
[<54> 120 <656c3a2030392d323538363736363131>] TJ
ET
0.0 1379.944 m
210.0 1379.944 l
S
0.0 1379.944 m
210.0 1379.944 l
S
BT
0.0 1367.2 Td
/F1.0 8 Tf
[<52656365697074204e6f3a207177> 10 <65722d32303138303330372d3831>] TJ
ET
BT
0.0 1347.2 Td
/F1.0 8 Tf
[<54> 120 <6162> 20 <6c65202d207432>] TJ
ET
BT
100.0 1347.2 Td
/F1.0 8 Tf
[<573a2043617368696572>] TJ
ET
BT
160.216 1347.2 Td
/F1.0 8 Tf
[<433a2043617368696572>] TJ
ET
BT
0.0 1327.2 Td
/F1.0 8 Tf
[<44617465203a2030372d30332d323031382830363a303920504d2d30363a303920504d29>] TJ
ET
0.0 1312.944 m
210.0 1312.944 l
S
BT
0.0 1302.2 Td
/F1.0 8 Tf
[<4974656d73>] TJ
ET
BT
106.656 1302.2 Td
/F1.0 8 Tf
[<5072> -15 <696365>] TJ
ET
BT
138.276 1302.2 Td
/F1.0 8 Tf
[<517479>] TJ
ET
BT
187.176 1302.2 Td
/F1.0 8 Tf
[<54> 120 <6f74616c>] TJ
ET
0.0 1292.944 m
210.0 1292.944 l
S
BT
0.0 1282.2 Td
/F1.0 8 Tf
[<746573745f6974656d32202d>] TJ
ET
BT
0.0 1272.952 Td
/F1.0 8 Tf
[<74657374315f736d616c32>] TJ
ET
BT
98.312 1282.2 Td
/F1.0 8 Tf
[<322c3032302e30>] TJ
ET
BT
138.94 1282.2 Td
/F1.0 8 Tf
[<312e30>] TJ
ET
BT
177.312 1282.2 Td
/F1.0 8 Tf
[<322c3032302e30>] TJ
ET
0.0 1264.448 m
210.0 1264.448 l
S
BT
0.0 1253.704 Td
/F1.0 8 Tf
[<5375622054> 120 <6f74616c>] TJ
ET
BT
175.312 1253.704 Td
/F1.0 8 Tf
[<322c3032302e30>] TJ
ET
BT
0.0 1239.456 Td
/F1.0 8 Tf
[<4f76> 25 <6572> 10 <616c6c20446973636f756e743a>] TJ
ET
BT
181.104 1239.456 Td
/F1.0 8 Tf
[<2820302e302029>] TJ
ET
BT
0.0 1225.208 Td
/F1.0 8 Tf
[<536572> -30 <76696365204368617267657320282031302529>] TJ
ET
BT
181.984 1225.208 Td
/F1.0 8 Tf
[<3230322e30>] TJ
ET
BT
0.0 1210.96 Td
/F1.0 8 Tf
[<436f6d6d65726369616c2054> 120 <6178202820352529>] TJ
ET
BT
181.984 1210.96 Td
/F1.0 8 Tf
[<3130312e30>] TJ
ET
BT
0.0 1195.276 Td
/F2.0 10 Tf
[<4772616e642054> 80 <6f74616c>] TJ
ET
BT
168.64 1195.276 Td
/F2.0 10 Tf
[<322c3332332e30>] TJ
ET
0.0 1185.556 m
210.0 1185.556 l
S
BT
0.0 1174.812 Td
/F1.0 8 Tf
[<436173682050> 40 <61> 30 <796d656e74>] TJ
ET
BT
175.312 1174.812 Td
/F1.0 8 Tf
[<322c3332332e30>] TJ
ET
BT
0.0 1160.564 Td
/F1.0 8 Tf
[<4368616e676520416d6f756e74>] TJ
ET
BT
190.88 1160.564 Td
/F1.0 8 Tf
[<302e30>] TJ
ET
BT
0.0 1141.316 Td
/F1.0 8 Tf
[<437573746f6d6572204e616d65>] TJ
ET
BT
169.064 1141.316 Td
/F1.0 8 Tf
[<57> 50 <414c4b2d494e>] TJ
ET
0.0 1132.812 m
210.0 1132.812 l
S
BT
0.0 1122.068 Td
/F1.0 8 Tf
[<54> 120 <6f74616c2046> 30 <6f6f6420446973636f756e7473>] TJ
ET
BT
185.552 1122.068 Td
/F1.0 8 Tf
[<28302e3029>] TJ
ET
BT
0.0 1112.82 Td
/F1.0 8 Tf
[<54> 120 <6f74616c204265> 30 <76> 25 <6572> 10 <61676520446973636f756e7473>] TJ
ET
BT
185.552 1112.82 Td
/F1.0 8 Tf
[<28302e3029>] TJ
ET
BT
0.0 1103.572 Td
/F1.0 8 Tf
[<54> 120 <6f74616c2050726f6475637420446973636f756e7473>] TJ
ET
BT
185.552 1103.572 Td
/F1.0 8 Tf
[<28302e3029>] TJ
ET
0.0 1095.068 m
210.0 1095.068 l
S
BT
0.0 1084.324 Td
/F1.0 8 Tf
[<46> 30 <6f6f64>] TJ
ET
BT
175.312 1084.324 Td
/F1.0 8 Tf
[<322c3032302e30>] TJ
ET
BT
0.0 1075.076 Td
/F1.0 8 Tf
[<4265> 30 <76> 25 <6572> 10 <616765>] TJ
ET
BT
190.88 1075.076 Td
/F1.0 8 Tf
[<302e30>] TJ
ET
BT
0.0 1065.828 Td
/F1.0 8 Tf
[<50726f64756374>] TJ
ET
BT
190.88 1065.828 Td
/F1.0 8 Tf
[<302e30>] TJ
ET
0.0 1057.324 m
210.0 1057.324 l
S
BT
0.0 1045.862 Td
/F1.0 9 Tf
[<53706c69742042696c6c2066> 30 <6f72203020706572736f6e73>] TJ
ET
BT
0.0 1031.58 Td
/F1.0 8 Tf
[<416d6f756e7420447565202870657220706572736f6e29>] TJ
ET
BT
193.104 1031.58 Td
/F1.0 8 Tf
[<496e66>] TJ
ET
0.0 1023.076 m
210.0 1023.076 l
S
BT
0.0 1010.896 Td
/F2.0 10 Tf
[<50> 30 <616964>] TJ
ET
BT
102.0 1012.332 Td
/F1.0 8 Tf
[<5468616e6b2059> 140 <6f7521205365652079> 20 <6f7520416761696e>] TJ
ET
Q
endstream
endobj
5 0 obj
<< /Type /Page
/Parent 3 0 R
/MediaBox [0 0 210 1450]
/CropBox [0 0 210 1450]
/BleedBox [0 0 210 1450]
/TrimBox [0 0 210 1450]
/ArtBox [0 0 210 1450]
/Contents 4 0 R
/Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
/Font << /F1.0 6 0 R
/F2.0 7 0 R
>>
>>
>>
endobj
6 0 obj
<< /Type /Font
/Subtype /Type1
/BaseFont /Helvetica
/Encoding /WinAnsiEncoding
>>
endobj
7 0 obj
<< /Type /Font
/Subtype /Type1
/BaseFont /Helvetica-Bold
/Encoding /WinAnsiEncoding
>>
endobj
xref
0 8
0000000000 65535 f
0000000015 00000 n
0000000109 00000 n
0000000158 00000 n
0000000215 00000 n
0000004272 00000 n
0000004555 00000 n
0000004652 00000 n
trailer
<< /Size 8
/Root 2 0 R
/Info 1 0 R
>>
startxref
4754
%%EOF

View File

@@ -0,0 +1,455 @@
%PDF-1.3
%ÿÿÿÿ
1 0 obj
<< /Creator <feff0050007200610077006e>
/Producer <feff0050007200610077006e>
>>
endobj
2 0 obj
<< /Type /Catalog
/Pages 3 0 R
>>
endobj
3 0 obj
<< /Type /Pages
/Count 1
/Kids [5 0 R]
>>
endobj
4 0 obj
<< /Length 4012
>>
stream
q
BT
48.975 1417.82 Td
/F1.0 10 Tf
[<4f53414b41204f4853484f2854> 120 <616d77> 10 <6529>] TJ
ET
BT
10.268 1402.696 Td
/F1.0 8 Tf
[<4e6f> 40 <2e203235362c204b> 50 <79> 20 <61696b6b6173616e20526f61642c2054> 120 <616d77> 10 <652054> 120 <6f> 15 <776e73686970> 35 <2c2059> 140 <616e676f6e>] TJ
ET
BT
71.904 1388.448 Td
/F1.0 8 Tf
[<54> 120 <656c3a2030392d323538363736363131>] TJ
ET
0.0 1379.944 m
210.0 1379.944 l
S
0.0 1379.944 m
210.0 1379.944 l
S
BT
0.0 1367.2 Td
/F1.0 8 Tf
[<52656365697074204e6f3a207177> 10 <65722d32303138303330372d3832>] TJ
ET
BT
0.0 1347.2 Td
/F1.0 8 Tf
[<54> 120 <6162> 20 <6c65202d207431>] TJ
ET
BT
100.0 1347.2 Td
/F1.0 8 Tf
[<573a2043617368696572>] TJ
ET
BT
160.216 1347.2 Td
/F1.0 8 Tf
[<433a2043617368696572>] TJ
ET
BT
0.0 1327.2 Td
/F1.0 8 Tf
[<44617465203a2030372d30332d323031382830363a313320504d2d30363a313320504d29>] TJ
ET
0.0 1312.944 m
210.0 1312.944 l
S
BT
0.0 1302.2 Td
/F1.0 8 Tf
[<4974656d73>] TJ
ET
BT
106.656 1302.2 Td
/F1.0 8 Tf
[<5072> -15 <696365>] TJ
ET
BT
138.276 1302.2 Td
/F1.0 8 Tf
[<517479>] TJ
ET
BT
187.176 1302.2 Td
/F1.0 8 Tf
[<54> 120 <6f74616c>] TJ
ET
0.0 1292.944 m
210.0 1292.944 l
S
BT
0.0 1282.2 Td
/F1.0 8 Tf
[<746573745f6974656d31202d>] TJ
ET
BT
0.0 1272.952 Td
/F1.0 8 Tf
[<74657374315f736d616c6c>] TJ
ET
BT
98.312 1282.2 Td
/F1.0 8 Tf
[<312c3030302e30>] TJ
ET
BT
138.94 1282.2 Td
/F1.0 8 Tf
[<312e30>] TJ
ET
BT
177.312 1282.2 Td
/F1.0 8 Tf
[<312c3030302e30>] TJ
ET
0.0 1264.448 m
210.0 1264.448 l
S
BT
0.0 1253.704 Td
/F1.0 8 Tf
[<5375622054> 120 <6f74616c>] TJ
ET
BT
175.312 1253.704 Td
/F1.0 8 Tf
[<312c3030302e30>] TJ
ET
BT
0.0 1239.456 Td
/F1.0 8 Tf
[<4f76> 25 <6572> 10 <616c6c20446973636f756e743a>] TJ
ET
BT
181.104 1239.456 Td
/F1.0 8 Tf
[<2820302e302029>] TJ
ET
BT
0.0 1225.208 Td
/F1.0 8 Tf
[<536572> -30 <76696365204368617267657320282031302529>] TJ
ET
BT
181.984 1225.208 Td
/F1.0 8 Tf
[<3130302e30>] TJ
ET
BT
0.0 1210.96 Td
/F1.0 8 Tf
[<436f6d6d65726369616c2054> 120 <6178202820352529>] TJ
ET
BT
186.432 1210.96 Td
/F1.0 8 Tf
[<35302e30>] TJ
ET
BT
0.0 1195.276 Td
/F2.0 10 Tf
[<4772616e642054> 80 <6f74616c>] TJ
ET
BT
168.64 1195.276 Td
/F2.0 10 Tf
[<312c3135302e30>] TJ
ET
0.0 1185.556 m
210.0 1185.556 l
S
BT
0.0 1174.812 Td
/F1.0 8 Tf
[<436173682050> 40 <61> 30 <796d656e74>] TJ
ET
BT
175.312 1174.812 Td
/F1.0 8 Tf
[<322c3330302e30>] TJ
ET
BT
0.0 1160.564 Td
/F1.0 8 Tf
[<4368616e676520416d6f756e74>] TJ
ET
BT
175.312 1160.564 Td
/F1.0 8 Tf
[<312c3135302e30>] TJ
ET
BT
0.0 1141.316 Td
/F1.0 8 Tf
[<437573746f6d6572204e616d65>] TJ
ET
BT
169.064 1141.316 Td
/F1.0 8 Tf
[<57> 50 <414c4b2d494e>] TJ
ET
0.0 1132.812 m
210.0 1132.812 l
S
BT
0.0 1122.068 Td
/F1.0 8 Tf
[<54> 120 <6f74616c2046> 30 <6f6f6420446973636f756e7473>] TJ
ET
BT
185.552 1122.068 Td
/F1.0 8 Tf
[<28302e3029>] TJ
ET
BT
0.0 1112.82 Td
/F1.0 8 Tf
[<54> 120 <6f74616c204265> 30 <76> 25 <6572> 10 <61676520446973636f756e7473>] TJ
ET
BT
185.552 1112.82 Td
/F1.0 8 Tf
[<28302e3029>] TJ
ET
BT
0.0 1103.572 Td
/F1.0 8 Tf
[<54> 120 <6f74616c2050726f6475637420446973636f756e7473>] TJ
ET
BT
185.552 1103.572 Td
/F1.0 8 Tf
[<28302e3029>] TJ
ET
0.0 1095.068 m
210.0 1095.068 l
S
BT
0.0 1084.324 Td
/F1.0 8 Tf
[<46> 30 <6f6f64>] TJ
ET
BT
175.312 1084.324 Td
/F1.0 8 Tf
[<312c3030302e30>] TJ
ET
BT
0.0 1075.076 Td
/F1.0 8 Tf
[<4265> 30 <76> 25 <6572> 10 <616765>] TJ
ET
BT
190.88 1075.076 Td
/F1.0 8 Tf
[<302e30>] TJ
ET
BT
0.0 1065.828 Td
/F1.0 8 Tf
[<50726f64756374>] TJ
ET
BT
190.88 1065.828 Td
/F1.0 8 Tf
[<302e30>] TJ
ET
0.0 1057.324 m
210.0 1057.324 l
S
BT
0.0 1045.862 Td
/F1.0 9 Tf
[<53706c69742042696c6c2066> 30 <6f72203020706572736f6e73>] TJ
ET
BT
0.0 1031.58 Td
/F1.0 8 Tf
[<416d6f756e7420447565202870657220706572736f6e29>] TJ
ET
BT
193.104 1031.58 Td
/F1.0 8 Tf
[<496e66>] TJ
ET
0.0 1023.076 m
210.0 1023.076 l
S
BT
0.0 1010.896 Td
/F2.0 10 Tf
[<50> 30 <616964>] TJ
ET
BT
102.0 1012.332 Td
/F1.0 8 Tf
[<5468616e6b2059> 140 <6f7521205365652079> 20 <6f7520416761696e>] TJ
ET
Q
endstream
endobj
5 0 obj
<< /Type /Page
/Parent 3 0 R
/MediaBox [0 0 210 1450]
/CropBox [0 0 210 1450]
/BleedBox [0 0 210 1450]
/TrimBox [0 0 210 1450]
/ArtBox [0 0 210 1450]
/Contents 4 0 R
/Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
/Font << /F1.0 6 0 R
/F2.0 7 0 R
>>
>>
>>
endobj
6 0 obj
<< /Type /Font
/Subtype /Type1
/BaseFont /Helvetica
/Encoding /WinAnsiEncoding
>>
endobj
7 0 obj
<< /Type /Font
/Subtype /Type1
/BaseFont /Helvetica-Bold
/Encoding /WinAnsiEncoding
>>
endobj
xref
0 8
0000000000 65535 f
0000000015 00000 n
0000000109 00000 n
0000000158 00000 n
0000000215 00000 n
0000004279 00000 n
0000004562 00000 n
0000004659 00000 n
trailer
<< /Size 8
/Root 2 0 R
/Info 1 0 R
>>
startxref
4761
%%EOF

View File

@@ -0,0 +1,455 @@
%PDF-1.3
%ÿÿÿÿ
1 0 obj
<< /Creator <feff0050007200610077006e>
/Producer <feff0050007200610077006e>
>>
endobj
2 0 obj
<< /Type /Catalog
/Pages 3 0 R
>>
endobj
3 0 obj
<< /Type /Pages
/Count 1
/Kids [5 0 R]
>>
endobj
4 0 obj
<< /Length 4003
>>
stream
q
BT
48.975 1417.82 Td
/F1.0 10 Tf
[<4f53414b41204f4853484f2854> 120 <616d77> 10 <6529>] TJ
ET
BT
10.268 1402.696 Td
/F1.0 8 Tf
[<4e6f> 40 <2e203235362c204b> 50 <79> 20 <61696b6b6173616e20526f61642c2054> 120 <616d77> 10 <652054> 120 <6f> 15 <776e73686970> 35 <2c2059> 140 <616e676f6e>] TJ
ET
BT
71.904 1388.448 Td
/F1.0 8 Tf
[<54> 120 <656c3a2030392d323538363736363131>] TJ
ET
0.0 1379.944 m
210.0 1379.944 l
S
0.0 1379.944 m
210.0 1379.944 l
S
BT
0.0 1367.2 Td
/F1.0 8 Tf
[<52656365697074204e6f3a207177> 10 <65722d32303138303330372d3833>] TJ
ET
BT
0.0 1347.2 Td
/F1.0 8 Tf
[<54> 120 <6162> 20 <6c65202d207431>] TJ
ET
BT
100.0 1347.2 Td
/F1.0 8 Tf
[<573a2043617368696572>] TJ
ET
BT
160.216 1347.2 Td
/F1.0 8 Tf
[<433a2043617368696572>] TJ
ET
BT
0.0 1327.2 Td
/F1.0 8 Tf
[<44617465203a2030372d30332d323031382830363a313720504d2d30363a313720504d29>] TJ
ET
0.0 1312.944 m
210.0 1312.944 l
S
BT
0.0 1302.2 Td
/F1.0 8 Tf
[<4974656d73>] TJ
ET
BT
106.656 1302.2 Td
/F1.0 8 Tf
[<5072> -15 <696365>] TJ
ET
BT
138.276 1302.2 Td
/F1.0 8 Tf
[<517479>] TJ
ET
BT
187.176 1302.2 Td
/F1.0 8 Tf
[<54> 120 <6f74616c>] TJ
ET
0.0 1292.944 m
210.0 1292.944 l
S
BT
0.0 1282.2 Td
/F1.0 8 Tf
[<746573745f6974656d31202d>] TJ
ET
BT
0.0 1272.952 Td
/F1.0 8 Tf
[<74657374315f736d616c6c>] TJ
ET
BT
98.312 1282.2 Td
/F1.0 8 Tf
[<312c3030302e30>] TJ
ET
BT
138.94 1282.2 Td
/F1.0 8 Tf
[<312e30>] TJ
ET
BT
177.312 1282.2 Td
/F1.0 8 Tf
[<312c3030302e30>] TJ
ET
0.0 1264.448 m
210.0 1264.448 l
S
BT
0.0 1253.704 Td
/F1.0 8 Tf
[<5375622054> 120 <6f74616c>] TJ
ET
BT
175.312 1253.704 Td
/F1.0 8 Tf
[<312c3030302e30>] TJ
ET
BT
0.0 1239.456 Td
/F1.0 8 Tf
[<4f76> 25 <6572> 10 <616c6c20446973636f756e743a>] TJ
ET
BT
181.104 1239.456 Td
/F1.0 8 Tf
[<2820302e302029>] TJ
ET
BT
0.0 1225.208 Td
/F1.0 8 Tf
[<536572> -30 <76696365204368617267657320282031302529>] TJ
ET
BT
181.984 1225.208 Td
/F1.0 8 Tf
[<3130302e30>] TJ
ET
BT
0.0 1210.96 Td
/F1.0 8 Tf
[<436f6d6d65726369616c2054> 120 <6178202820352529>] TJ
ET
BT
186.432 1210.96 Td
/F1.0 8 Tf
[<35302e30>] TJ
ET
BT
0.0 1195.276 Td
/F2.0 10 Tf
[<4772616e642054> 80 <6f74616c>] TJ
ET
BT
168.64 1195.276 Td
/F2.0 10 Tf
[<312c3135302e30>] TJ
ET
0.0 1185.556 m
210.0 1185.556 l
S
BT
0.0 1174.812 Td
/F1.0 8 Tf
[<436173682050> 40 <61> 30 <796d656e74>] TJ
ET
BT
175.312 1174.812 Td
/F1.0 8 Tf
[<312c3135302e30>] TJ
ET
BT
0.0 1160.564 Td
/F1.0 8 Tf
[<4368616e676520416d6f756e74>] TJ
ET
BT
190.88 1160.564 Td
/F1.0 8 Tf
[<302e30>] TJ
ET
BT
0.0 1141.316 Td
/F1.0 8 Tf
[<437573746f6d6572204e616d65>] TJ
ET
BT
169.064 1141.316 Td
/F1.0 8 Tf
[<57> 50 <414c4b2d494e>] TJ
ET
0.0 1132.812 m
210.0 1132.812 l
S
BT
0.0 1122.068 Td
/F1.0 8 Tf
[<54> 120 <6f74616c2046> 30 <6f6f6420446973636f756e7473>] TJ
ET
BT
185.552 1122.068 Td
/F1.0 8 Tf
[<28302e3029>] TJ
ET
BT
0.0 1112.82 Td
/F1.0 8 Tf
[<54> 120 <6f74616c204265> 30 <76> 25 <6572> 10 <61676520446973636f756e7473>] TJ
ET
BT
185.552 1112.82 Td
/F1.0 8 Tf
[<28302e3029>] TJ
ET
BT
0.0 1103.572 Td
/F1.0 8 Tf
[<54> 120 <6f74616c2050726f6475637420446973636f756e7473>] TJ
ET
BT
185.552 1103.572 Td
/F1.0 8 Tf
[<28302e3029>] TJ
ET
0.0 1095.068 m
210.0 1095.068 l
S
BT
0.0 1084.324 Td
/F1.0 8 Tf
[<46> 30 <6f6f64>] TJ
ET
BT
175.312 1084.324 Td
/F1.0 8 Tf
[<312c3030302e30>] TJ
ET
BT
0.0 1075.076 Td
/F1.0 8 Tf
[<4265> 30 <76> 25 <6572> 10 <616765>] TJ
ET
BT
190.88 1075.076 Td
/F1.0 8 Tf
[<302e30>] TJ
ET
BT
0.0 1065.828 Td
/F1.0 8 Tf
[<50726f64756374>] TJ
ET
BT
190.88 1065.828 Td
/F1.0 8 Tf
[<302e30>] TJ
ET
0.0 1057.324 m
210.0 1057.324 l
S
BT
0.0 1045.862 Td
/F1.0 9 Tf
[<53706c69742042696c6c2066> 30 <6f72203020706572736f6e73>] TJ
ET
BT
0.0 1031.58 Td
/F1.0 8 Tf
[<416d6f756e7420447565202870657220706572736f6e29>] TJ
ET
BT
193.104 1031.58 Td
/F1.0 8 Tf
[<496e66>] TJ
ET
0.0 1023.076 m
210.0 1023.076 l
S
BT
0.0 1010.896 Td
/F2.0 10 Tf
[<50> 30 <616964>] TJ
ET
BT
102.0 1012.332 Td
/F1.0 8 Tf
[<5468616e6b2059> 140 <6f7521205365652079> 20 <6f7520416761696e>] TJ
ET
Q
endstream
endobj
5 0 obj
<< /Type /Page
/Parent 3 0 R
/MediaBox [0 0 210 1450]
/CropBox [0 0 210 1450]
/BleedBox [0 0 210 1450]
/TrimBox [0 0 210 1450]
/ArtBox [0 0 210 1450]
/Contents 4 0 R
/Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
/Font << /F1.0 6 0 R
/F2.0 7 0 R
>>
>>
>>
endobj
6 0 obj
<< /Type /Font
/Subtype /Type1
/BaseFont /Helvetica
/Encoding /WinAnsiEncoding
>>
endobj
7 0 obj
<< /Type /Font
/Subtype /Type1
/BaseFont /Helvetica-Bold
/Encoding /WinAnsiEncoding
>>
endobj
xref
0 8
0000000000 65535 f
0000000015 00000 n
0000000109 00000 n
0000000158 00000 n
0000000215 00000 n
0000004270 00000 n
0000004553 00000 n
0000004650 00000 n
trailer
<< /Size 8
/Root 2 0 R
/Info 1 0 R
>>
startxref
4752
%%EOF