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

This commit is contained in:
Aung Myo
2018-03-19 18:14:04 +06:30
39 changed files with 4403 additions and 159 deletions

View File

@@ -132,12 +132,34 @@ ADD COLUMN image_path VARCHAR(255);
ALTER TABLE sales
ADD COLUMN equal_persons INT(11) after rebate_status;
ALTER TABLE sale_items
ADD COLUMN remark VARCHAR(255) after status;
ALTER TABLE shops
ADD COLUMN shop_code VARCHAR(255) after name,
ADD COLUMN client_name VARCHAR(255) after shop_code,
ADD COLUMN client_code VARCHAR(255) after client_name;
ALTER TABLE print_settings
ADD COLUMN brand_name VARCHAR(255) after api_settings,
ADD COLUMN type VARCHAR(255) after brand_name;
ALTER TABLE tax_profiles
ADD COLUMN group_type VARCHAR(255) after name;
<---- Extra Fields Script ----->
For CloseCashierCustomisePdf in lookups
*** change CloseCashierPdf to CloseCashierCustomisePdf
1) settings/print_settings
2) settings/lookups => { type:print_settings, name: CloseCashierCustomisePdf, value:1 }
/* Tax Profile Group Types in lookups */
1) settings/lookups => { type:tax_profiles, name: Cashier, value:cashier }
2) settings/lookups => { type:tax_profiles, name: Quick Service, value: quick_service }
3) settings/lookups => { type:tax_profiles, name: Doemal, value: doemal }
/* Tax Profile Group Types in lookups */
* ToDo list
1. Migration

17
app/controllers/oqs/edit_controller.rb Executable file → Normal file
View File

@@ -6,6 +6,11 @@ class Oqs::EditController < BaseOqsController
if params[:type] == 'oqs'
assigned_item = AssignedOrderItem.find(assigned_item_id)
@order_item = OrderItem.where("order_id='#{ assigned_item.order_id }' AND item_instance_code='#{ assigned_item.instance_code }'")
elsif
assigned_item = OrderItem.find(assigned_item_id)
@booking = Booking.joins(" JOIN booking_orders as bko on bko.booking_id = bookings.booking_id")
.where("bko.order_id = '#{assigned_item.order_id}'").first()
@order_item = OrderItem.where("order_id='#{ assigned_item.order_id }' AND item_instance_code='#{ assigned_item.item_instance_code }'")
else
assigned_item = OrderItem.find(assigned_item_id)
dining = DiningFacility.find_by_id(params[:type])
@@ -25,13 +30,6 @@ class Oqs::EditController < BaseOqsController
order_item.item_order_by = current_user.name
order_item.qty = qty_weight
order_item.remark = remarks
if !order_item.set_menu_items.nil?
instance_item_sets = JSON.parse(order_item.set_menu_items)
instance_item_sets.each_with_index do |instance_item, instance_index|
instance_item_sets[instance_index]["quantity"] = qty_weight
end
order_item.set_menu_items = instance_item_sets.to_json
end
order_item.save
if ENV["SERVER_MODE"] != "cloud" #no print in cloud server
@@ -67,4 +65,9 @@ class Oqs::EditController < BaseOqsController
end
end
#Shop Name in Navbor
helper_method :shop_detail
def shop_detail
@shop = Shop.first
end
end

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

@@ -6,6 +6,18 @@ class Settings::TaxProfilesController < ApplicationController
# GET /settings/tax_profiles.json
def index
@settings_tax_profiles = TaxProfile.all
tax_profiles = Lookup.collection_of("tax_profiles")
if !@settings_tax_profiles.nil?
@settings_tax_profiles.each_with_index do |setting_tax_profile, tax_index|
if !tax_profiles.nil?
tax_profiles.each do |group|
if setting_tax_profile.group_type == group[1]
@settings_tax_profiles[tax_index].group_type = group[0]
end
end
end
end
end
end
# GET /settings/tax_profiles/1
@@ -15,11 +27,19 @@ class Settings::TaxProfilesController < ApplicationController
# GET /settings/tax_profiles/new
def new
@name = nil
@settings_tax_profile = TaxProfile.new
@tax_profiles = TaxProfile.all
end
# GET /settings/tax_profiles/1/edit
def edit
@settings_tax_profile = TaxProfile.find(params[:id])
@name = nil
if !@settings_tax_profile.nil?
@name = @settings_tax_profile.name
end
@tax_profiles = TaxProfile.all
end
# POST /settings/tax_profiles
@@ -69,10 +89,20 @@ class Settings::TaxProfilesController < ApplicationController
# Use callbacks to share common setup or constraints between actions.
def set_settings_tax_profile
@settings_tax_profile = TaxProfile.find(params[:id])
tax_profiles = Lookup.collection_of("tax_profiles")
if !@settings_tax_profile.nil?
if !tax_profiles.nil?
tax_profiles.each do |group|
if @settings_tax_profile.group_type == group[1]
@settings_tax_profile.group_type = group[0]
end
end
end
end
end
# Never trust parameters from the scary internet, only allow the white list through.
def settings_tax_profile_params
params.require(:tax_profile).permit(:name, :rate, :inclusive, :order_by, :created_by)
params.require(:tax_profile).permit(:name, :group_type, :rate, :inclusive, :order_by, :created_by)
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,5 +1,5 @@
class TaxProfile < ApplicationRecord
default_scope { order('order_by asc') }
# validations
validates_presence_of :name, :rate
validates_presence_of :name, :rate, :group_type
end

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)

4
app/views/oqs/edit/index.html.erb Executable file → Normal file
View File

@@ -112,6 +112,8 @@ $(document).ready(function(){
var remarks = $("textarea[name='remarks']").val();
var order_items_id = $(this).attr('data-id');
var params = { 'order_items_id': order_items_id, 'qty_weight': qty_weight, 'remarks': remarks }
var booking_id = '<%= @booking.booking_id %>';
$.ajax({
type: 'POST',
url: '/oqs/' + order_items_id,
@@ -121,6 +123,8 @@ $(document).ready(function(){
<% if !@link_type.nil? %>
<% if @link_type == 'oqs' %>
window.location.href = '/oqs';
<% elsif @link_type == 'pending' %>
window.location.href = '/origami/quick_service/pending_order/'+booking_id;
<% else %>
<% if !@dining_type.nil? %>
<% if @dining_type == 'Table' %>

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 %>));

10
app/views/origami/pending_order/show.html.erb Executable file → Normal file
View File

@@ -100,7 +100,7 @@
@order_items.each do |order_item|
sub_total = sub_total + order_item.price %>
<input type="hidden" id="sale_id" value="<%= @bookings.booking_id %>">
<tr>
<tr class="edit_order" data-id='<%= order_item.order_items_id %>'>
<td class='item-name'><%= order_item.item_name %></td>
<td class='item-attr'><%= order_item.qty %></td>
<td class='item-attr'><%= order_item.price %></td>
@@ -289,5 +289,13 @@ $(document).ready(function(){
window.location.href = linkURL;
});
}
/*edit order in oqs*/
$('.edit_order').on('click',function(){
var assigned_order_item_id = $(this).attr('data-id');
if((assigned_order_item_id!=undefined) && (assigned_order_item_id!='')){
window.location.href = '/oqs/'+ assigned_order_item_id + "/edit/pending";
}
});
});
</script>

9
app/views/origami/split_bill/index.html.erb Executable file → Normal file
View File

@@ -53,12 +53,14 @@
</tr>
</thead>
<tbody>
<% order_item_count = 0 %>
<% if !@order_items.nil? %>
<% sub_total = 0 %>
<% @order_items.each do |order_item| %>
<% if order_item.include? ('all_order') %>
<% order_item['all_order'].each do |odr_item| %>
<%
order_item_count = order_item_count.to_i + 1
sub_total += odr_item['qty'].to_f * odr_item['price'].to_f
%>
<tr class="item-row" id=<%= odr_item['order_items_id'] %> >
@@ -385,10 +387,9 @@
//order_item_split
$('#order_item_split').on('click',function () {
var cnt_order_item = "<%= @order_items.count %>";
var cnt_order_item = "<%= order_item_count %>";
var order_items = get_selected_order_items();// Selected Order Items
var cnt_items = parseInt(cnt_order_item - 1) - parseInt(order_items.length);
var cnt_items = parseInt(cnt_order_item) - parseInt(order_items.length);
if (order_items.length > 0){
// if(cnt_items > 0){
swal({
@@ -423,6 +424,7 @@
$.each(orders, function(key,value){
if($("a[href$='#"+value.order_id+"']").parent().hasClass('selected-split-item')){
$("a[href$='#"+value.order_id+"']").parent().removeClass('selected-split-item');
$(".item-row").removeClass('selected-split-item');
}
});
}
@@ -621,6 +623,7 @@ function orderItemSplitBillProcess(cnt_items){
if(cnt_items == 0){
booking_id = json_booking.booking_id;
}
console.log(booking_id);
var order_ids = [];
var arr_order_ids = [];

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

@@ -8,14 +8,16 @@
<%= f.error_notification %>
<div class="form-inputs p-l-15">
<%= f.input :name %>
<%= f.input :group_type, :collection => Lookup.collection_of("tax_profiles"),:input_html=>{:class=>"col-md-10"},:required=>true %>
<%= f.input :name, :input_html=>{:onchange=>"checkDuplicate(this.value);"} %>
<span id="tax_profile_nameErr" style="color:red;"></span>
<%= f.input :rate %>
<%= f.input :inclusive %>
<%= f.input :order_by %>
</div>
<div class="form-actions p-l-15">
<%= f.submit "Submit",:class => 'btn btn-primary btn-lg waves-effect' %>
<%= f.submit "Submit",:class => 'btn btn-primary btn-lg waves-effect btn_submit' %>
</div>
<% end %>
</div>
@@ -45,5 +47,25 @@
</div>
</div>
<script type="text/javascript">
function checkDuplicate(obj){
// $("#tax_profile_nameErr").html("");
var name = '<%= @name %>';
var tax_profiles = JSON.parse('<%= @tax_profiles.to_json.html_safe %>');
var group_type = $("#tax_profile_group_type").val();
if(tax_profiles!=undefined && tax_profiles!=null && tax_profiles!=""){
$.each(tax_profiles,function(key,value){
if(value.group_type == group_type){
if(name.trim().toLowerCase()!=value.name.trim().toLowerCase()){
if(value.name.trim().toLowerCase() == obj.trim().toLowerCase()){
$("#tax_profile_name").val("");
$("#tax_profile_nameErr").html("duplicate group type and name");
}
}
return;
}
});
}
}
</script>

View File

@@ -17,6 +17,7 @@
<table class="table">
<thead>
<tr>
<th><%= t("views.right_panel.detail.group_type") %></th>
<th><%= t("views.right_panel.detail.name") %></th>
<th><%= t("views.right_panel.detail.rate") %></th>
<th><%= t("views.right_panel.detail.inclusive") %></th>
@@ -29,6 +30,7 @@
<tbody>
<% @settings_tax_profiles.each do |settings_tax_profile| %>
<tr>
<td><%= settings_tax_profile.group_type %></td>
<td><%= settings_tax_profile.name %></td>
<td><%= settings_tax_profile.rate %></td>
<td><%= settings_tax_profile.inclusive %></td>

View File

@@ -15,6 +15,11 @@
<div class="card-block">
<h4 class="card-title"><%= t("en.tax_profile") %></h4>
<table class="table">
<tr>
<td><strong><%= t("views.right_panel.detail.group_type") %>:</strong></td>
<td><%= @settings_tax_profile.group_type %></td>
</tr>
<tr>
<td><strong><%= t("views.right_panel.detail.name") %>:</strong></td>
<td><%= @settings_tax_profile.name %></td>

View File

@@ -450,6 +450,7 @@ en:
additional_parameter: "Additional parameter"
lookup: "Lookup"
product_sale_report: "Product Sale"
group_type: "Group Type"
code_txt: "code "
charge_txt: "charge"

View File

@@ -445,6 +445,7 @@ mm:
survey: "ခြုံငုံလေ့လာခြင်း"
lookup: "သတ်မှတ်ချက်များ"
product_sale_report: "Product Sale"
group_type: "Group Type"
code_txt: "ကုတ်ဒ် "
charge_txt: "ကောက်ခံသည်"

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

@@ -2,6 +2,7 @@ class CreateTaxProfiles < ActiveRecord::Migration[5.1]
def change
create_table :tax_profiles do |t|
t.string :name, :null => false
t.string :group_type, :null => false
t.decimal :rate, :precision => 10, :scale => 2, :null => false, :default => 0.00
t.boolean :inclusive, :null => false, :default => false
t.integer :order_by, :null => false, :default => 1

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

View File

@@ -119,8 +119,8 @@ customer2 = Customer.create({name:"TAKEAWAY", email: "cus2@customer.com", contac
# room = Room.create({name:"Table 2", zone: zone2, status:"available", seater: 4 , order_by:1, created_by:"SYSTEM DEFAULT"})
#Tax Profile
tax_profiles = TaxProfile.create({id:1, name: "Commercial Tax", rate:5.0, order_by:2, created_by:"SYSTEM DEFAULT"})
service_charges = TaxProfile.create({id:2, name: "Service Charges", rate:10.0, order_by:1, created_by:"SYSTEM DEFAULT"})
tax_profiles = TaxProfile.create({id:1, name: "Commercial Tax", group_type: "cashier", rate:5.0, order_by:2, created_by:"SYSTEM DEFAULT"})
service_charges = TaxProfile.create({id:2, name: "Service Charges", group_type: "cashier", rate:10.0, order_by:1, created_by:"SYSTEM DEFAULT"})
#Default menu
menu = Menu.create({name: "Main Menu", is_active: true, created_by: "SYSTEM DEFAULT"})

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