merge with master
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@@ -26,7 +26,7 @@ capybara-*.html
|
||||
/public/assets/*
|
||||
/public/uploads/*
|
||||
/public/swf/*
|
||||
/public/receipts
|
||||
/public/receipts/
|
||||
/coverage/
|
||||
/spec/tmp/*
|
||||
*.orig
|
||||
|
||||
@@ -10,7 +10,7 @@ ruby 2.4.1p111
|
||||
* Membership Details
|
||||
Osaka =>
|
||||
Auth Token => wu8YvlLmah0CL => New => v3
|
||||
=> rj0MJ0XI5GsKZehE => Old => v
|
||||
=> rj0MJ0XI5GsKZehE => Old => v2
|
||||
=> code2lab => Old
|
||||
|
||||
Merchant account => RxzaYyAGzm7VqAZ4hKnv
|
||||
@@ -25,6 +25,7 @@ BITP
|
||||
Campaign Id => {"campaign_type_id": 1}
|
||||
|
||||
java -jar ~/Documents/Jade.jar http://192.168.1.88:3002
|
||||
java -jar ~/Documents/c2l_jade.jar http://192.168.1.151:3002
|
||||
|
||||
Person and Extra Time
|
||||
category_code = SPL... //for menu categories special
|
||||
@@ -103,6 +104,9 @@ For Sidekiq
|
||||
1) If you want to use sidekiq
|
||||
=> Create New Lookups => lookup_type = sidekiq, Name = sidekiq , Value = 1 or 0
|
||||
|
||||
For Clear Menu
|
||||
1) rake clear:menu # menu,menu item,menu category,menu item instance,account,item option,item attribute,item set
|
||||
|
||||
For Check CUp status
|
||||
###please open
|
||||
sudo cat /etc/sudoers
|
||||
|
||||
@@ -36,7 +36,7 @@ $(function() {
|
||||
image_path = "/image/logo.png";
|
||||
}
|
||||
|
||||
row = '<div class="card custom-card testimonial-card animated fadeInRight" style="">'
|
||||
row = '<div class="card custom-card testimonial-card fadeInRight" style="">'
|
||||
+'<div class="custom-card-head card-head row" style="line-height:14px;margin:0px;">'
|
||||
+'<div class="col-md-9">'+ product[field].name +'</div>'
|
||||
+"<div class='col-md-3 add_icon' data-item-code='"
|
||||
@@ -181,7 +181,7 @@ $(function() {
|
||||
}
|
||||
}
|
||||
|
||||
row = '<div class="card custom-card testimonial-card animated fadeInRight" style="height:100%;background-image:url(../../'+image_path+');background-repeat: no-repeat;">'
|
||||
row = '<div class="card custom-card testimonial-card fadeInRight" style="height:100%;background-image:url(../../'+image_path+');background-repeat: no-repeat;">'
|
||||
+'<div class="custom-card-head card-head row" style="line-height:14px;margin:0px;" style="">'
|
||||
+'<div class="col-md-9">'+ menu_items[field].name +'</div>'
|
||||
+"<div class='col-md-3 "+menu_item_box+"' data-item-code='"
|
||||
@@ -700,7 +700,7 @@ $(function() {
|
||||
$('.add_to_order').attr('data-attributes',JSON.stringify(attribute_arr));
|
||||
$('.add_to_order').attr('data-options',JSON.stringify(option_arr));
|
||||
var item_data = $(this);
|
||||
item = get_item(item_data);
|
||||
item = get_item(item_data,"add_to_order");
|
||||
customer_display_view(item,"add");
|
||||
show_item_detail(item_data,"add_to_order");
|
||||
calculate_sub_total();
|
||||
@@ -710,7 +710,7 @@ $(function() {
|
||||
// click plus icon for add
|
||||
$(document).on('click', '.add_icon', function(event){
|
||||
var item_data = $(this);
|
||||
item = get_item(item_data);
|
||||
item = get_item(item_data,"add_icon");
|
||||
customer_display_view(item,"add");
|
||||
show_item_detail(item_data,"add_icon");
|
||||
calculate_sub_total();
|
||||
@@ -745,8 +745,6 @@ $(function() {
|
||||
item_code = $(item_row[i]).attr('data-code');
|
||||
instance_code = $(item_row[i]).attr('data-instance-code');
|
||||
r_option = $(item_row[i]).attr('data-opt');
|
||||
console.log(r_option)
|
||||
console.log(d_option)
|
||||
if (item_code == data.attr('data-item-code') && instance_code == data.attr('data-instance-code')&&r_option == d_option) {
|
||||
if (qty > 1) {
|
||||
qty = parseInt($(item_row[i]).children('#item_qty').text()) + qty;
|
||||
@@ -1182,7 +1180,7 @@ console.log(d_option)
|
||||
|
||||
for(var i in data) {
|
||||
|
||||
row = '<li class="menu_category fadeInTop animated" data-id="'+data[i].id+'">'
|
||||
row = '<li class="menu_category fadeInTop" data-id="'+data[i].id+'">'
|
||||
+'<a class="nav-link" data-toggle="tab" href="" role="tab">'+ data[i].name+'</a>'
|
||||
+'</li>' ;
|
||||
$(sub_category).append(row);
|
||||
@@ -1195,7 +1193,7 @@ console.log(d_option)
|
||||
}
|
||||
|
||||
/* Get Item rows */
|
||||
function get_item(data){
|
||||
function get_item(data,click_type){
|
||||
var sale_items = [];
|
||||
|
||||
var sale_item = {};
|
||||
@@ -1206,6 +1204,8 @@ console.log(d_option)
|
||||
sale_item.instance_code = data.attr('data-instance-code')
|
||||
sale_item.attributes = data.attr('data-attributes')
|
||||
sale_item.options = data.attr('data-options')
|
||||
sale_item.opt = data.attr('data-opt')
|
||||
sale_item.click_type = click_type
|
||||
sale_item.instance = data.attr('data-instance')
|
||||
sale_items.push(sale_item);
|
||||
|
||||
|
||||
@@ -30,11 +30,20 @@ App.checkin = App.cable.subscriptions.create('SecondDisplayViewChannel', {
|
||||
instance = "("+items[i].instance+")";
|
||||
}
|
||||
|
||||
d_option = items[i].options;
|
||||
if (d_option){
|
||||
option_name = "-"+items[i].options;
|
||||
// d_option = items[i].options;
|
||||
// if (d_option){
|
||||
// option_name = "-"+items[i].options;
|
||||
// }else{
|
||||
// option_name = '';
|
||||
// }
|
||||
|
||||
d_option = items[i].opt;
|
||||
if (items[i].click_type != "add_icon"){
|
||||
option_name = "-"+items[i].options;
|
||||
data_option = items[i].options ;
|
||||
}else{
|
||||
option_name = '';
|
||||
option_name = ' ';
|
||||
data_option = '[]';
|
||||
}
|
||||
|
||||
var rowCount = $('.second_display_items tbody tr').length+1;
|
||||
@@ -68,7 +77,8 @@ App.checkin = App.cable.subscriptions.create('SecondDisplayViewChannel', {
|
||||
+instance+ "' data-code='"+items[i].item_code+"' data-instance-code='"
|
||||
+items[i].instance_code+"' data-attributes='"
|
||||
+items[i].attributes+"' data-options ='"
|
||||
+items[i].options+"' data-row ='"+rowCount+ "'>"
|
||||
+data_option+"' data-opt ='"
|
||||
+items[i].options+"' data-row ='"+rowCount+ "'>"
|
||||
+'<td class="item-cell-no">'+rowCount+'</td>'
|
||||
+'<td class="item-cell-name" id="item_name" >' + items[i].name+ ' ' + instance + ' ' + option_name +'</td>'
|
||||
+'<td class="item-cell-qty" id="item_qty">' + qty + '</td>'
|
||||
|
||||
@@ -9,7 +9,8 @@ $(document).ready(function() {
|
||||
color: 'rgba(0,0,0,0.5)',
|
||||
alwaysVisible: false,
|
||||
borderRadius: '0',
|
||||
railBorderRadius: '0'
|
||||
railBorderRadius: '0',
|
||||
touchScrollStep : 25
|
||||
});
|
||||
|
||||
$('#order-detail-slimscroll').slimScroll({
|
||||
@@ -18,7 +19,18 @@ $(document).ready(function() {
|
||||
color: 'rgba(0,0,0,0.5)',
|
||||
alwaysVisible: false,
|
||||
borderRadius: '0',
|
||||
railBorderRadius: '0'
|
||||
railBorderRadius: '0',
|
||||
touchScrollStep : 25
|
||||
});
|
||||
|
||||
$('#menu-slimscroll').slimScroll({
|
||||
height: height-$('#menu-slimscroll').attr('data-height'),
|
||||
size: '5px',
|
||||
color: 'rgba(0,0,0,0.5)',
|
||||
alwaysVisible: false,
|
||||
borderRadius: '0',
|
||||
railBorderRadius: '0',
|
||||
touchScrollStep : 25
|
||||
});
|
||||
|
||||
// $('.delete').click(function(){
|
||||
|
||||
@@ -198,6 +198,18 @@ select.form-control {
|
||||
background-color: blue !important;
|
||||
}
|
||||
|
||||
.selected-payment {
|
||||
color: #fff !important;
|
||||
background-color: blue !important;
|
||||
}
|
||||
.payment_btn {
|
||||
white-space: normal !important;
|
||||
margin-bottom: 15px;
|
||||
margin-right: 15px;
|
||||
color:#fff !important;
|
||||
# background-color: green !important;
|
||||
}
|
||||
|
||||
/* Reciept Style */
|
||||
#order-charges-table td {
|
||||
border-top: none !important;
|
||||
@@ -399,7 +411,7 @@ i.logout_icon{
|
||||
|
||||
/* Start Is Member Modal */
|
||||
#is_memberModal .modal-body {
|
||||
height: 200px !important;
|
||||
height: 260px !important;
|
||||
}
|
||||
|
||||
#is_memberModal .btn {
|
||||
|
||||
@@ -67,8 +67,8 @@ class Api::OrdersController < Api::ApiController
|
||||
end
|
||||
}
|
||||
#end extra time
|
||||
puts params[:order_items]
|
||||
puts "ITEM aaaaaaaaaaaaaaaaaaa"
|
||||
puts params[:order_items]
|
||||
puts "ORDER ITEMS"
|
||||
# begin
|
||||
@order = Order.new
|
||||
@order.source = params[:order_source]
|
||||
@@ -172,9 +172,9 @@ class Api::OrdersController < Api::ApiController
|
||||
# Update customer info, Guest Info
|
||||
# Input Params
|
||||
# order_id , order_items {[item_code, item_instance_code , qty, option, variants]}
|
||||
def update
|
||||
# def update
|
||||
|
||||
end
|
||||
# end
|
||||
|
||||
def order_params
|
||||
params.permits(:order_source, :booking_id,:order_type,
|
||||
@@ -199,4 +199,59 @@ class Api::OrdersController < Api::ApiController
|
||||
end
|
||||
return status
|
||||
end
|
||||
|
||||
def update
|
||||
Rails.logger.debug "Booking ID - " + params[:booking_id].to_s
|
||||
if checkin_checkout_time(params[:booking_id])
|
||||
Rails.logger.debug "Order Item ID - " + params[:order_item_id].to_s
|
||||
|
||||
order_items_id = params[:order_item_id]
|
||||
qty_weight = params[:quantity].to_f
|
||||
remarks = params[:remark]
|
||||
|
||||
order_item = OrderItem.find(order_items_id)
|
||||
before_updated_qty = order_item.qty
|
||||
|
||||
order_item.item_order_by = current_login_employee.name
|
||||
order_item.qty = qty_weight
|
||||
order_item.remark = remarks
|
||||
order_item.save
|
||||
|
||||
if ENV["SERVER_MODE"] != "cloud" #no print in cloud server
|
||||
# print
|
||||
assigned_item = AssignedOrderItem.find_by_instance_code(order_item.item_instance_code)
|
||||
# order queue stations
|
||||
oqs = assigned_item.order_queue_station
|
||||
|
||||
order_slim_pdf = Lookup.collection_of("print_settings") #print_settings with name:OrderSlimPdf
|
||||
|
||||
unique_code="OrderItemPdf"
|
||||
if !order_slim_pdf.empty?
|
||||
order_slim_pdf.each do |order_item_slim|
|
||||
if order_item_slim[0] == 'OrderSlimPdf'
|
||||
if order_item_slim[1] == '1'
|
||||
unique_code="OrderItemSlimPdf"
|
||||
else
|
||||
unique_code="OrderItemPdf"
|
||||
end
|
||||
elsif order_item_slim[0] == 'OrderSetPdf'
|
||||
if order_item_slim[1] == '1'
|
||||
unique_code="OrderSetItemPdf"
|
||||
else
|
||||
unique_code="OrderItemPdf"
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
print_settings=PrintSetting.find_by_unique_code(unique_code)
|
||||
order_queue_printer= Printer::OrderQueuePrinter.new(print_settings)
|
||||
order_queue_printer.print_order_item(print_settings, oqs, order_item.order_id, order_items_id, print_status=" (Cancelled)", before_updated_qty )
|
||||
end
|
||||
|
||||
return return_json_status_with_code(200, "updated successfully!")
|
||||
else
|
||||
return return_json_status_with_code(406, "Checkout time is over!")
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -80,63 +80,78 @@ class HomeController < ApplicationController
|
||||
end
|
||||
|
||||
def dashboard
|
||||
@from, @to = get_date_range_from_params
|
||||
@from, @to, @from_time, @to_time = get_date_range_from_params
|
||||
|
||||
@shop = Shop.first
|
||||
|
||||
today = DateTime.now.strftime('%Y-%m-%d')
|
||||
@orders = Sale::where("payment_status='new' and sale_status='bill' and DATE_FORMAT(receipt_date,'%Y-%m-%d') = '#{today}'").count()
|
||||
@sales = Sale::where("payment_status='paid' and sale_status='completed' and DATE_FORMAT(receipt_date,'%Y-%m-%d') = '#{today}'").count()
|
||||
|
||||
@top_products = Sale.top_products(today,@from,@to).sum('i.qty')
|
||||
@bottom_products = Sale.bottom_products(today,@from,@to).sum('i.qty')
|
||||
@hourly_sales = Sale.hourly_sales(today,@from,@to).sum(:grand_total)
|
||||
if !@from.nil? && !@to.nil?
|
||||
if !@from_time.nil? && @to_time.nil?
|
||||
@orders = Sale::where("payment_status='new' and sale_status='bill' and DATE_FORMAT(receipt_date,'%Y-%m-%d') between '#{@from}' and '#{@to}' and DATE_FORMAT(CONVERT_TZ(receipt_date,'+00:00','+06:30'),'%H:%m') between '#{@from_time}' and '#{@to_time}'").count()
|
||||
else
|
||||
@orders = Sale::where("payment_status='new' and sale_status='bill' and DATE_FORMAT(receipt_date,'%Y-%m-%d') between '#{@from}' and '#{@to}'").count()
|
||||
end
|
||||
else
|
||||
@orders = Sale::where("payment_status='new' and sale_status='bill' and DATE_FORMAT(receipt_date,'%Y-%m-%d') = '#{today}'").count()
|
||||
end
|
||||
if !@from.nil? && !@to.nil?
|
||||
if !@from_time.nil? && @to_time.nil?
|
||||
@sales = Sale::where("payment_status='paid' and sale_status='completed' and DATE_FORMAT(receipt_date,'%Y-%m-%d') between '#{@from}' and '#{@to}' and DATE_FORMAT(CONVERT_TZ(receipt_date,'+00:00','+06:30'),'%H:%m') between '#{@from_time}' and '#{@to_time}'").count()
|
||||
else
|
||||
@sales = Sale::where("payment_status='paid' and sale_status='completed' and DATE_FORMAT(receipt_date,'%Y-%m-%d') between '#{@from}' and '#{@to}'").count()
|
||||
end
|
||||
else
|
||||
@sales = Sale::where("payment_status='paid' and sale_status='completed' and DATE_FORMAT(receipt_date,'%Y-%m-%d') = '#{today}'").count()
|
||||
end
|
||||
@top_products = Sale.top_products(today,current_user,@from,@to,@from_time,@to_time).sum('i.qty')
|
||||
@bottom_products = Sale.bottom_products(today,current_user,@from,@to,@from_time,@to_time).sum('i.qty')
|
||||
@hourly_sales = Sale.hourly_sales(today,current_user,@from,@to,@from_time,@to_time).sum(:grand_total)
|
||||
# .group_by_hour(:created_at, :time_zone => 'Asia/Rangoon',format: '%I:%p')
|
||||
# .sum(:grand_total)
|
||||
@employee_sales = Sale.employee_sales(today,@from,@to)
|
||||
@employee_sales = Sale.employee_sales(today,current_user,@from,@to,@from_time,@to_time)
|
||||
.sum('(CASE WHEN sp.payment_method="cash" THEN (sp.payment_amount - sales.amount_changed) ELSE sp.payment_amount END)')
|
||||
@inventories = StockJournal.inventory_balances(today,@from,@to).sum(:balance)
|
||||
@inventories = StockJournal.inventory_balances(today,@from,@to,@from_time,@to_time).sum(:balance)
|
||||
|
||||
@total_sale = Sale.total_sale(today,current_user,@from,@to)
|
||||
@total_count = Sale.total_count(today,current_user,@from,@to)
|
||||
@total_card = Sale.total_card_sale(today,current_user,@from,@to)
|
||||
@total_credit = Sale.credit_payment(today,current_user,@from,@to)
|
||||
@total_sale = Sale.total_sale(today,current_user,@from,@to,@from_time,@to_time)
|
||||
@total_count = Sale.total_count(today,current_user,@from,@to,@from_time,@to_time)
|
||||
@total_card = Sale.total_card_sale(today,current_user,@from,@to,@from_time,@to_time)
|
||||
@total_credit = Sale.credit_payment(today,current_user,@from,@to,@from_time,@to_time)
|
||||
|
||||
@sale_data = Array.new
|
||||
@total_payment_methods = Sale.total_payment_methods(today,current_user,@from,@to)
|
||||
@total_payment_methods = Sale.total_payment_methods(today,current_user,@from,@to,@from_time,@to_time)
|
||||
|
||||
if !@total_payment_methods.nil?
|
||||
@total_payment_methods.each do |payment|
|
||||
if payment.payment_method == "mpu" || payment.payment_method == "visa" || payment.payment_method == "master" || payment.payment_method == "jcb"
|
||||
pay = Sale.payment_sale('card', today, current_user,@from,@to)
|
||||
if payment.payment_method == "mpu" || payment.payment_method == "visa" || payment.payment_method == "master" || payment.payment_method == "jcb" || payment.payment_method == "unionpay"
|
||||
pay = Sale.payment_sale('card', today, current_user,@from,@to,@from_time,@to_time)
|
||||
@sale_data.push({'card' => pay.payment_amount})
|
||||
else
|
||||
pay = Sale.payment_sale(payment.payment_method, today, current_user,@from,@to)
|
||||
pay = Sale.payment_sale(payment.payment_method, today, current_user,@from,@to,@from_time,@to_time)
|
||||
@sale_data.push({payment.payment_method => pay.payment_amount})
|
||||
end
|
||||
end
|
||||
end
|
||||
@summ_sale = Sale.summary_sale_receipt(today,current_user,@from,@to)
|
||||
@total_customer = Sale.total_customer(today,current_user,@from,@to)
|
||||
@total_dinein = Sale.total_dinein(today,current_user,@from,@to)
|
||||
@total_takeaway = Sale.total_takeaway(today,current_user,@from,@to)
|
||||
@total_other_customer = Sale.total_other_customer(today,current_user,@from,@to)
|
||||
@total_membership = Sale.total_membership(today,current_user,@from,@to)
|
||||
@summ_sale = Sale.summary_sale_receipt(today,current_user,@from,@to,@from_time,@to_time)
|
||||
@total_customer = Sale.total_customer(today,current_user,@from,@to,@from_time,@to_time)
|
||||
@total_dinein = Sale.total_dinein(today,current_user,@from,@to,@from_time,@to_time)
|
||||
@total_takeaway = Sale.total_takeaway(today,current_user,@from,@to,@from_time,@to_time)
|
||||
@total_other_customer = Sale.total_other_customer(today,current_user,@from,@to,@from_time,@to_time)
|
||||
@total_membership = Sale.total_membership(today,current_user,@from,@to,@from_time,@to_time)
|
||||
|
||||
@total_order = Sale.total_order(today,current_user,@from,@to)
|
||||
@total_accounts = Sale.total_account(today,current_user,@from,@to)
|
||||
@total_order = Sale.total_order(today,current_user,@from,@to,@from_time,@to_time)
|
||||
@total_accounts = Sale.total_account(today,current_user,@from,@to,@from_time,@to_time)
|
||||
@account_data = Array.new
|
||||
if !@total_accounts.nil?
|
||||
@total_accounts.each do |account|
|
||||
acc = Sale.account_data(account.account_id, today,current_user,@from,@to)
|
||||
acc = Sale.account_data(account.account_id, today,current_user,@from,@to,@from_time,@to_time)
|
||||
if !acc.nil?
|
||||
@account_data.push({account.title => acc.cnt_acc, account.title + '_amount' => acc.total_acc})
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@top_items = Sale.top_items(today,current_user,@from,@to)
|
||||
@total_foc_items = Sale.total_foc_items(today,current_user,@from,@to)
|
||||
@top_items = Sale.top_items(today,current_user,@from,@to,@from_time,@to_time)
|
||||
@total_foc_items = Sale.total_foc_items(today,current_user,@from,@to,@from_time,@to_time)
|
||||
|
||||
# get printer info
|
||||
@print_settings = PrintSetting.get_precision_delimiter()
|
||||
@@ -190,18 +205,23 @@ class HomeController < ApplicationController
|
||||
|
||||
def get_date_range_from_params
|
||||
from = params[:from]
|
||||
to = params[:to]
|
||||
to = params[:to]
|
||||
from_time = params[:from_time]
|
||||
to_time = params[:to_time]
|
||||
|
||||
if from.present? && to.present?
|
||||
f_date = DateTime.parse(from)
|
||||
t_date = DateTime.parse(to)
|
||||
f_time = Time.mktime(f_date.year,f_date.month,f_date.day,f_date.hour,f_date.min,f_date.sec)
|
||||
t_time = Time.mktime(t_date.year,t_date.month,t_date.day,t_date.hour,t_date.min,t_date.sec)
|
||||
from = f_time.beginning_of_day.utc.getlocal
|
||||
to = t_time.end_of_day.utc.getlocal
|
||||
# f_date = DateTime.parse(from)
|
||||
# t_date = DateTime.parse(to)
|
||||
# f_time = Time.mktime(f_date.year,f_date.month,f_date.day,f_date.hour,f_date.min,f_date.sec)
|
||||
# t_time = Time.mktime(t_date.year,t_date.month,t_date.day,t_date.hour,t_date.min,t_date.sec)
|
||||
# from = f_time.beginning_of_day.utc.getlocal
|
||||
# to = t_time.end_of_day.utc.getlocal
|
||||
|
||||
from = DateTime.parse(from).utc.getlocal.strftime('%Y-%m-%d')
|
||||
to = DateTime.parse(to).utc.getlocal.strftime('%Y-%m-%d')
|
||||
end
|
||||
|
||||
return from, to
|
||||
return from, to, from_time, to_time
|
||||
end
|
||||
|
||||
#Shop Name in Navbor
|
||||
|
||||
@@ -3,6 +3,7 @@ class Oqs::EditController < BaseOqsController
|
||||
assigned_item_id = params[:id]
|
||||
@link_type = params[:type]
|
||||
@dining_type = nil
|
||||
@booking = nil
|
||||
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 }'")
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
class Origami::AddordersController < BaseOrigamiController
|
||||
# before_action :set_dining, only: [:detail]
|
||||
|
||||
|
||||
def index
|
||||
@tables = Table.all.active.order('zone_id asc').group("zone_id")
|
||||
@rooms = Room.all.active.order('zone_id asc').group("zone_id")
|
||||
|
||||
@@ -98,10 +98,10 @@ class Origami::CustomersController < BaseOrigamiController
|
||||
|
||||
def update_sale_by_customer
|
||||
|
||||
id = params[:sale_id][0,3]
|
||||
customer_id = params[:customer_id]
|
||||
customer = Customer.find(customer_id)
|
||||
|
||||
id = params[:sale_id][0,3]
|
||||
customer_id = params[:customer_id]
|
||||
customer = Customer.find(customer_id)
|
||||
order_source = params[:type]
|
||||
# Check and find with card no
|
||||
# if(!customer_id.include? "CUS")
|
||||
# customer = Customer.find_by_paypar_account_no(customer_id)
|
||||
@@ -135,7 +135,7 @@ class Origami::CustomersController < BaseOrigamiController
|
||||
if status == true
|
||||
render json: JSON.generate({:status => true})
|
||||
if(id == "SAL")
|
||||
sale.compute_by_sale_items(sale.sale_id, sale.sale_items, sale.total_discount)
|
||||
sale.compute_by_sale_items(sale.sale_id, sale.sale_items, sale.total_discount, nil, order_source)
|
||||
end
|
||||
else
|
||||
render json: JSON.generate({:status => false, :error_message => "Record not found"})
|
||||
|
||||
@@ -20,10 +20,12 @@ class Origami::DiscountsController < BaseOrigamiController
|
||||
|
||||
#discount page show from origami index with selected order
|
||||
def create
|
||||
order_source = params[:cashier_type]
|
||||
sale_id = params[:sale_id]
|
||||
discount_items = JSON.parse(params[:discount_items])
|
||||
overall_discount = params[:overall_discount]
|
||||
sub_total = params[:sub_total]
|
||||
|
||||
|
||||
if Sale.exists?(sale_id)
|
||||
sale = Sale.find(sale_id)
|
||||
@@ -82,7 +84,7 @@ class Origami::DiscountsController < BaseOrigamiController
|
||||
|
||||
sale_audit = SaleAudit.record_audit_discount(sale.sale_id,sale.cashier_id, action_by,remark,"OVERALLDISCOUNT" )
|
||||
end
|
||||
sale.compute_by_sale_items(sale_id, sale.sale_items, overall_discount.to_f)
|
||||
sale.compute_by_sale_items(sale_id, sale.sale_items, overall_discount.to_f, nil,order_source)
|
||||
if !table.nil?
|
||||
result = {:status=> "Success", :table_id => table_id, :table_type => table.type }
|
||||
else
|
||||
@@ -102,6 +104,7 @@ class Origami::DiscountsController < BaseOrigamiController
|
||||
|
||||
# Remove selected discount Items
|
||||
def remove_discount_items
|
||||
order_source = params[:cashier_type]
|
||||
sale_id = params[:sale_id]
|
||||
discount_items = JSON.parse(params[:discount_items])
|
||||
if Sale.exists?(sale_id)
|
||||
@@ -136,7 +139,7 @@ class Origami::DiscountsController < BaseOrigamiController
|
||||
# sale.grand_total = (sale.total_amount - sale.total_discount) + sale.total_tax;
|
||||
# sale.save
|
||||
# Re-calc All Amount in Sale
|
||||
sale.compute_by_sale_items(sale_id, sale.sale_items, sale.total_discount)
|
||||
sale.compute_by_sale_items(sale_id, sale.sale_items, sale.total_discount, nil, order_source)
|
||||
if table.nil?
|
||||
result = {:status=> "Success"}
|
||||
else
|
||||
@@ -158,6 +161,7 @@ class Origami::DiscountsController < BaseOrigamiController
|
||||
# Remove all discount Items
|
||||
def remove_all_discount
|
||||
sale_id = params[:id]
|
||||
order_source = params[:type]
|
||||
|
||||
if Sale.exists?(sale_id)
|
||||
sale = Sale.find(sale_id)
|
||||
@@ -197,7 +201,7 @@ class Origami::DiscountsController < BaseOrigamiController
|
||||
sale_audit = SaleAudit.record_audit_discount(sale.sale_id,sale.cashier_id, action_by,remark,"REMOVEALLDISCOUNT" )
|
||||
|
||||
# Re-calc All Amount in Sale
|
||||
sale.compute_by_sale_items(sale_id, sale.sale_items, 0)
|
||||
sale.compute_by_sale_items(sale_id, sale.sale_items, 0, nil, order_source)
|
||||
if table.nil?
|
||||
result = {:status=> "Success"}
|
||||
else
|
||||
@@ -218,7 +222,7 @@ class Origami::DiscountsController < BaseOrigamiController
|
||||
|
||||
# Member Discount
|
||||
def member_discount
|
||||
|
||||
order_source = params[:cashier_type]
|
||||
sale_id = params[:sale_id]
|
||||
is_card = params[:is_card]
|
||||
sub_total = params[:sub_total]
|
||||
@@ -297,7 +301,7 @@ class Origami::DiscountsController < BaseOrigamiController
|
||||
if response["discount_bonus_earned"]
|
||||
discount_amount = discount_amount + response["discount_bonus_earned"]
|
||||
end
|
||||
sale.compute_by_sale_items(sale_id, sale.sale_items, discount_amount, 'member_discount')
|
||||
sale.compute_by_sale_items(sale_id, sale.sale_items, discount_amount, 'member_discount', order_source)
|
||||
result = {:status=> "Success",:title=>"Member Discount", :table_id => table_id,:table_type => table_type }
|
||||
elsif response["status"] == "500"
|
||||
result = {:status=> response["error"],:title=>"Alert", :table_id => table_id,:table_type => table_type }
|
||||
|
||||
@@ -19,6 +19,7 @@ class Origami::OtherChargesController < BaseOrigamiController
|
||||
sale_id = params[:sale_id]
|
||||
other_charges_items = JSON.parse(params[:other_charges_items])
|
||||
sub_total = params[:sub_total]
|
||||
cashier_type = params[:cashier_type]
|
||||
|
||||
if Sale.exists?(sale_id)
|
||||
sale = Sale.find(sale_id)
|
||||
@@ -68,7 +69,7 @@ class Origami::OtherChargesController < BaseOrigamiController
|
||||
end
|
||||
|
||||
# Re-calc All Amount in Sale
|
||||
sale.compute_by_sale_items(sale_id, sale.sale_items, sale.total_discount)
|
||||
sale.compute_by_sale_items(sale_id, sale.sale_items, sale.total_discount, nil, cashier_type)
|
||||
end
|
||||
if !table.nil?
|
||||
dining = {:table_id => table_id, :table_type => table.type }
|
||||
|
||||
@@ -208,19 +208,7 @@ class Origami::PaymentsController < BaseOrigamiController
|
||||
|
||||
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})
|
||||
|
||||
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
|
||||
end
|
||||
|
||||
@@ -241,13 +229,15 @@ class Origami::PaymentsController < BaseOrigamiController
|
||||
@junctionpaycount = 0.0
|
||||
@credit = 0.0
|
||||
@sale_data = Sale.find_by_sale_id(sale_id)
|
||||
@balance = 0.00
|
||||
@balance = 0
|
||||
@accountable_type = ''
|
||||
@table_no = ''
|
||||
@dining = ''
|
||||
|
||||
@shop = Shop::ShopDetail #show shop info
|
||||
|
||||
@customer_lists = Customer.where("customer_id = 'CUS-000000000001' or customer_id = 'CUS-000000000002'")
|
||||
|
||||
saleObj = Sale.find(sale_id)
|
||||
|
||||
#total customer with individual total amount
|
||||
@@ -297,10 +287,11 @@ class Origami::PaymentsController < BaseOrigamiController
|
||||
|
||||
#get customer amount
|
||||
@customer = Customer.find(@sale_data.customer_id)
|
||||
accounts = @customer.tax_profiles
|
||||
# accounts = @customer.tax_profiles
|
||||
accounts = TaxProfile.where("group_type = ?",@cashier_type).order("order_by ASC")
|
||||
@account_arr =[]
|
||||
accounts.each do |acc|
|
||||
account = TaxProfile.find(acc)
|
||||
account = TaxProfile.find(acc.id)
|
||||
@account_arr.push(account)
|
||||
end
|
||||
|
||||
@@ -311,7 +302,7 @@ class Origami::PaymentsController < BaseOrigamiController
|
||||
if response["status"]==true
|
||||
response["account_data"].each do |res|
|
||||
if res["accountable_type"] == "RebateAccount" || res["accountable_type"] == "RebatebonusAccount"
|
||||
@balance += res["balance"]
|
||||
@balance = @balance.to_f + res["balance"].to_f
|
||||
# @accountable_type = res["accountable_type"]
|
||||
@accountable_type = "Rebate Balance"
|
||||
end
|
||||
@@ -443,7 +434,6 @@ class Origami::PaymentsController < BaseOrigamiController
|
||||
|
||||
sale_payment = SalePayment.new
|
||||
sale_payment.process_payment(saleObj, current_user.name, cash, "foc" ,remark)
|
||||
|
||||
# For Cashier by Zone
|
||||
bookings = Booking.where("sale_id='#{sale_id}'")
|
||||
# if bookings.count > 1
|
||||
@@ -465,7 +455,7 @@ class Origami::PaymentsController < BaseOrigamiController
|
||||
# Re-call Sale Data
|
||||
saleObj = Sale.find(sale_id)
|
||||
|
||||
if ENV["SERVER_MODE"] != "cloud" #no print in cloud server
|
||||
# if ENV["SERVER_MODE"] != "cloud" #no print in cloud server
|
||||
unique_code = "ReceiptBillPdf"
|
||||
customer= Customer.find(saleObj.customer_id)
|
||||
|
||||
@@ -479,7 +469,17 @@ class Origami::PaymentsController < BaseOrigamiController
|
||||
discount_price_by_accounts = SaleItem.get_discount_price_by_accounts(saleObj.sale_items)
|
||||
|
||||
printer = Printer::ReceiptPrinter.new(print_settings)
|
||||
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, "FOC",nil,nil)
|
||||
|
||||
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, "FOC",nil,nil)
|
||||
result = {
|
||||
:status => true,
|
||||
:filepath => filename,
|
||||
:printer_model => print_settings.brand_name,
|
||||
:printer_url => print_settings.api_settings
|
||||
}
|
||||
|
||||
# Mobile Print
|
||||
render :json => result.to_json
|
||||
|
||||
if params[:type] == "quick_service"
|
||||
booking = Booking.find_by_sale_id(sale_id)
|
||||
@@ -493,7 +493,7 @@ class Origami::PaymentsController < BaseOrigamiController
|
||||
Order.pay_process_order_queue(order.order_id,table_id)
|
||||
end
|
||||
end
|
||||
end
|
||||
# end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -539,6 +539,15 @@ class Origami::PaymentsController < BaseOrigamiController
|
||||
printer = Printer::ReceiptPrinter.new(print_settings)
|
||||
printer.print_receipt_pdf(filename,receipt_no,print_settings.print_copies,printer_name)
|
||||
|
||||
render :json => {status: true}
|
||||
result = {
|
||||
:status => true,
|
||||
:filepath => filename,
|
||||
:printer_model => print_settings.brand_name,
|
||||
:printer_url => print_settings.api_settings
|
||||
}
|
||||
|
||||
# Mobile Print
|
||||
render :json => result.to_json
|
||||
# render :json => {status: true}
|
||||
end
|
||||
end
|
||||
@@ -1,6 +1,12 @@
|
||||
class Origami::QuickServiceController < ApplicationController
|
||||
# before_action :set_dining, only: [:detail]
|
||||
|
||||
before_action :check_user
|
||||
def check_user
|
||||
if current_user.nil?
|
||||
redirect_to root_path
|
||||
end
|
||||
end
|
||||
|
||||
def index
|
||||
today = DateTime.now
|
||||
day = Date.today.wday
|
||||
@@ -211,6 +217,11 @@ class Origami::QuickServiceController < ApplicationController
|
||||
end
|
||||
end
|
||||
|
||||
def check_user
|
||||
if current_user.nil?
|
||||
redirect_to root_path
|
||||
end
|
||||
end
|
||||
# this can always true
|
||||
def check_order_with_booking(booking)
|
||||
if booking.sale.sale_status == "completed" || booking.sale.sale_status == "new"
|
||||
|
||||
@@ -1,5 +1,11 @@
|
||||
class Origami::RequestBillsController < ApplicationController
|
||||
|
||||
before_action :check_user
|
||||
|
||||
def check_user
|
||||
if current_user.nil?
|
||||
redirect_to root_path
|
||||
end
|
||||
end
|
||||
# Print Request Bill and add to sale tables
|
||||
def print
|
||||
@sale = Sale.new
|
||||
|
||||
@@ -3,7 +3,7 @@ class Origami::ShiftsController < BaseOrigamiController
|
||||
end
|
||||
|
||||
def show
|
||||
@type = params[:type]
|
||||
@cashier_type = params[:type]
|
||||
@shift = ShiftSale.current_open_shift(current_user.id)
|
||||
#for bank integration
|
||||
bank_integration = Lookup.collection_of('bank_integration')
|
||||
|
||||
@@ -3,6 +3,7 @@ class Origami::SplitBillController < BaseOrigamiController
|
||||
|
||||
def index
|
||||
dining_id = params[:dining_id]
|
||||
@cashier_type = params[:type]
|
||||
@table = DiningFacility.find(dining_id)
|
||||
@booking = @table.get_booking
|
||||
@orders = Array.new
|
||||
@@ -76,6 +77,7 @@ class Origami::SplitBillController < BaseOrigamiController
|
||||
end
|
||||
|
||||
def create
|
||||
cashier_type = params[:cashier_type]
|
||||
order_ids = params[:order_ids]
|
||||
arr_order_ids = nil
|
||||
if !params[:arr_order_ids].nil?
|
||||
@@ -111,7 +113,7 @@ class Origami::SplitBillController < BaseOrigamiController
|
||||
if booking
|
||||
if booking.sale_id.nil?
|
||||
sale = Sale.new
|
||||
status, sale_id = sale.generate_invoice_from_booking(params[:booking_id], current_user, current_user)
|
||||
status, sale_id = sale.generate_invoice_from_booking(params[:booking_id], current_user, current_user, cashier_type)
|
||||
sale_data = Sale.find_by_sale_id(sale_id)
|
||||
else
|
||||
status = true
|
||||
@@ -233,7 +235,7 @@ class Origami::SplitBillController < BaseOrigamiController
|
||||
puts "order_id_count < 1"
|
||||
new_order_status = true
|
||||
order_items.each do |order_item|
|
||||
orderItem = OrderItem.find_by_order_id(order_id)
|
||||
orderItem = OrderItem.find(order_item["id"])
|
||||
if !orderItem.nil?
|
||||
if order_item["id"] == orderItem.order_items_id
|
||||
if orderItem.qty.to_f != order_item['qty'].to_f
|
||||
@@ -324,7 +326,7 @@ class Origami::SplitBillController < BaseOrigamiController
|
||||
end
|
||||
|
||||
sale = Sale.new
|
||||
status, sale_id = sale.generate_invoice_from_booking(booking.booking_id, current_user, current_user)
|
||||
status, sale_id = sale.generate_invoice_from_booking(booking.booking_id, current_user, current_user, cashier_type)
|
||||
end
|
||||
|
||||
Promotion.promo_activate(sale)
|
||||
|
||||
@@ -31,6 +31,8 @@ class Origami::TableInvoicesController < BaseOrigamiController
|
||||
|
||||
def show
|
||||
@table = DiningFacility.find(params[:table_id])
|
||||
@membership = MembershipSetting::MembershipSetting
|
||||
@payment_methods = PaymentMethodSetting.all
|
||||
shop = Shop::ShopDetail
|
||||
@sale_array = Array.new
|
||||
@table.bookings.each do |booking|
|
||||
|
||||
@@ -87,8 +87,6 @@ class Origami::VoidController < BaseOrigamiController
|
||||
if bookings[0].dining_facility_id.to_i>0
|
||||
table = DiningFacility.find(bookings[0].dining_facility_id)
|
||||
end
|
||||
|
||||
|
||||
end
|
||||
|
||||
if bookings[0].dining_facility_id.to_i > 0
|
||||
@@ -100,7 +98,7 @@ class Origami::VoidController < BaseOrigamiController
|
||||
end
|
||||
|
||||
|
||||
if ENV["SERVER_MODE"] != "cloud" #no print in cloud server
|
||||
# if ENV["SERVER_MODE"] != "cloud" #no print in cloud server
|
||||
unique_code = "ReceiptBillPdf"
|
||||
customer= Customer.find(sale.customer_id)
|
||||
|
||||
@@ -120,9 +118,17 @@ class Origami::VoidController < BaseOrigamiController
|
||||
item_price_by_accounts = SaleItem.calculate_price_by_accounts(sale.sale_items)
|
||||
discount_price_by_accounts = SaleItem.get_discount_price_by_accounts(sale.sale_items)
|
||||
|
||||
printer = Printer::ReceiptPrinter.new(print_settings)
|
||||
printer.print_receipt_bill(print_settings,cashier_terminal,sale.sale_items,sale,customer.name, item_price_by_accounts, discount_price_by_accounts, member_info,rebate_amount,shop_details, "VOID",current_balance,nil)
|
||||
end
|
||||
printer = Printer::ReceiptPrinter.new(print_settings)
|
||||
filename, sale_receipt_no, printer_name = printer.print_receipt_bill(print_settings,cashier_terminal,sale.sale_items,sale,customer.name, item_price_by_accounts, discount_price_by_accounts, member_info,rebate_amount,shop_details, "VOID",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 print
|
||||
|
||||
|
||||
130
app/controllers/origami/waste_spoile_controller .rb
Executable file
130
app/controllers/origami/waste_spoile_controller .rb
Executable file
@@ -0,0 +1,130 @@
|
||||
class Origami::WasteSpoileController < BaseOrigamiController
|
||||
def index
|
||||
|
||||
end
|
||||
def waste_and_spoile
|
||||
|
||||
sale_id = params[:sale_id]
|
||||
remark = params[:remark]
|
||||
order_source = params[:type] #tax profile source
|
||||
if Sale.exists?(sale_id)
|
||||
sale = Sale.find_by_sale_id(sale_id)
|
||||
|
||||
if sale.discount_type == "member_discount"
|
||||
sale.update_attributes(total_discount: 0)
|
||||
sale.compute_by_sale_items(sale_id, sale.sale_items,0,order_source)
|
||||
end
|
||||
|
||||
sale.payment_status = remark
|
||||
sale.sale_status = remark
|
||||
sale.save
|
||||
|
||||
# add to sale item with foc
|
||||
sale_items = SaleItem.where("sale_id='#{ sale_id }' and status is null")
|
||||
|
||||
sale_items.each do|item|
|
||||
SaleItem.update_existing_item(item.qty, item, sale_id, remark, item.unit_price, item.price)
|
||||
end
|
||||
|
||||
if sale.bookings[0].dining_facility_id.to_i > 0
|
||||
table_avaliable = true
|
||||
table_count = 0
|
||||
table = sale.bookings[0].dining_facility
|
||||
table.bookings.each do |booking|
|
||||
if booking.booking_status != 'moved'
|
||||
if booking.sale_id
|
||||
if booking.sale.sale_status != 'completed' && booking.sale.sale_status != 'void'
|
||||
table_avaliable = false
|
||||
table_count += 1
|
||||
else
|
||||
table_avaliable = true
|
||||
end
|
||||
else
|
||||
table_avaliable = false
|
||||
table_count += 1
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
if table_avaliable && table_count == 0
|
||||
table.status = 'available'
|
||||
table.save
|
||||
end
|
||||
else
|
||||
table = nil
|
||||
end
|
||||
|
||||
# FOr Sale Audit
|
||||
action_by = current_user.name
|
||||
# remark = "Void Sale ID #{sale_id} | Receipt No #{sale.receipt_no} | Receipt No #{sale.receipt_no} | Table ->#{table.name}"
|
||||
sale_audit = SaleAudit.record_audit_for_edit(sale_id,sale.cashier_id, action_by,remark,remark )
|
||||
|
||||
# For Print
|
||||
|
||||
member_info = nil
|
||||
rebate_amount = nil
|
||||
current_balance = nil
|
||||
|
||||
# For Cashier by Zone
|
||||
bookings = Booking.where("sale_id='#{sale_id}'")
|
||||
if bookings.count > 1
|
||||
# for Multiple Booking
|
||||
if bookings[0].dining_facility_id.to_i>0
|
||||
table = DiningFacility.find(bookings[0].dining_facility_id)
|
||||
end
|
||||
end
|
||||
|
||||
if bookings[0].dining_facility_id.to_i > 0
|
||||
cashier_zone = CashierTerminalByZone.find_by_zone_id(table.zone_id)
|
||||
cashier_terminal = CashierTerminal.find(cashier_zone.cashier_terminal_id)
|
||||
else
|
||||
shift = ShiftSale.find(sale.shift_sale_id)
|
||||
cashier_terminal = CashierTerminal.find(shift.cashier_terminal_id)
|
||||
end
|
||||
|
||||
|
||||
# if ENV["SERVER_MODE"] != "cloud" #no print in cloud server
|
||||
unique_code = "ReceiptBillPdf"
|
||||
customer= Customer.find(sale.customer_id)
|
||||
|
||||
#shop detail
|
||||
shop_details = Shop.find(1)
|
||||
# get member information
|
||||
rebate = MembershipSetting.find_by_rebate(1)
|
||||
if customer.membership_id != nil && rebate
|
||||
member_info = Customer.get_member_account(customer)
|
||||
rebate_amount = Customer.get_membership_transactions(customer,sale.receipt_no)
|
||||
current_balance = SaleAudit.paymal_search(sale_id)
|
||||
end
|
||||
|
||||
# get printer info
|
||||
print_settings=PrintSetting.find_by_unique_code(unique_code)
|
||||
# Calculate Food and Beverage Total
|
||||
item_price_by_accounts = SaleItem.calculate_price_by_accounts(sale.sale_items)
|
||||
discount_price_by_accounts = SaleItem.get_discount_price_by_accounts(sale.sale_items)
|
||||
|
||||
printer = Printer::ReceiptPrinter.new(print_settings)
|
||||
filename, sale_receipt_no, printer_name = printer.print_receipt_bill(print_settings,cashier_terminal,sale.sale_items,sale,customer.name, item_price_by_accounts, discount_price_by_accounts, member_info,rebate_amount,shop_details, "VOID",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 print
|
||||
|
||||
# update complete order items in oqs
|
||||
SaleOrder.where("sale_id = '#{ sale_id }'").find_each do |sodr|
|
||||
AssignedOrderItem.where("order_id = '#{ sodr.order_id }'").find_each do |aoi|
|
||||
aoi.delivery_status = 1
|
||||
aoi.save
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
@@ -15,7 +15,8 @@ class Reports::SaleitemController < BaseReportController
|
||||
shift = ShiftSale.where('shift_started_at = ? and shift_closed_at = ? ',shift_sale.shift_started_at, shift_sale.shift_closed_at)
|
||||
end
|
||||
end
|
||||
@sale_data, @other_charges,@discount_data , @cash_data , @card_data , @credit_data , @foc_data , @grand_total , @change_amount = Sale.get_by_shift_items(shift_sale_range,shift, from, to, Sale::SALE_STATUS_COMPLETED)
|
||||
@type = params[:sale_type]
|
||||
@sale_data, @other_charges,@discount_data , @cash_data , @card_data , @credit_data , @foc_data , @grand_total , @change_amount = Sale.get_by_shift_items(shift_sale_range,shift, from, to, Sale::SALE_STATUS_COMPLETED,@type)
|
||||
|
||||
@sale_taxes = Sale.get_separate_tax(shift_sale_range,shift,from,to,nil)
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
class Settings::CommissionersController < ApplicationController
|
||||
load_and_authorize_resource except: [:create]
|
||||
before_action :set_commissioner, only: [:show, :edit, :update, :destroy]
|
||||
before_action :check_user
|
||||
|
||||
# GET /commissioners
|
||||
# GET /commissioners.json
|
||||
@@ -82,7 +83,11 @@ class Settings::CommissionersController < ApplicationController
|
||||
end
|
||||
render json: @transactions
|
||||
end
|
||||
|
||||
def check_user
|
||||
if current_user.nil?
|
||||
redirect_to root_path
|
||||
end
|
||||
end
|
||||
private
|
||||
# Use callbacks to share common setup or constraints between actions.
|
||||
def set_commissioner
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
class Settings::CommissionsController < ApplicationController
|
||||
load_and_authorize_resource except: [:create]
|
||||
before_action :set_commission, only: [:show, :edit, :update, :destroy]
|
||||
before_action :check_user
|
||||
|
||||
# GET /commissions
|
||||
# GET /commissions.json
|
||||
@@ -68,6 +69,12 @@ class Settings::CommissionsController < ApplicationController
|
||||
# end
|
||||
end
|
||||
|
||||
def check_user
|
||||
if current_user.nil?
|
||||
redirect_to root_path
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
# Use callbacks to share common setup or constraints between actions.
|
||||
def set_commission
|
||||
|
||||
@@ -72,8 +72,11 @@ class Settings::MenusController < ApplicationController
|
||||
end
|
||||
|
||||
def import
|
||||
Menu.import(params[:file])
|
||||
redirect_to settings_menus_path, notice: "imported"
|
||||
if params[:file]
|
||||
Menu.import(params[:file])
|
||||
redirect_to settings_menus_path, notice: "Menu was successfully Imported"
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
class Settings::OrderQueueStationsController < ApplicationController
|
||||
load_and_authorize_resource except: [:create]
|
||||
before_action :set_settings_order_queue_station, only: [:show, :edit, :update, :destroy]
|
||||
before_action :check_user
|
||||
|
||||
# GET /settings/order_queue_stations
|
||||
# GET /settings/order_queue_stations.json
|
||||
@@ -67,6 +68,12 @@ class Settings::OrderQueueStationsController < ApplicationController
|
||||
# end
|
||||
end
|
||||
|
||||
def check_user
|
||||
if current_user.nil?
|
||||
redirect_to root_path
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
# Use callbacks to share common setup or constraints between actions.
|
||||
def set_settings_order_queue_station
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
class Settings::ProductsController < ApplicationController
|
||||
load_and_authorize_resource except: [:create]
|
||||
before_action :set_settings_product, only: [:show, :edit, :update, :destroy]
|
||||
before_action :check_user
|
||||
|
||||
# GET /settings/products
|
||||
# GET /settings/products.json
|
||||
@@ -65,6 +66,12 @@ load_and_authorize_resource except: [:create]
|
||||
# end
|
||||
end
|
||||
|
||||
def check_user
|
||||
if current_user.nil?
|
||||
redirect_to root_path
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
# Use callbacks to share common setup or constraints between actions.
|
||||
def set_settings_product
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
class Settings::PromotionProductsController < ApplicationController
|
||||
before_action :set_promotion, only: [:show, :edit, :update, :destroy,:new]
|
||||
before_action :set_promotion_product, only: [:show, :edit, :update, :destroy]
|
||||
before_action :check_user
|
||||
|
||||
# GET /promotion_products
|
||||
# GET /promotion_products.json
|
||||
@@ -63,6 +64,12 @@ class Settings::PromotionProductsController < ApplicationController
|
||||
# end
|
||||
end
|
||||
|
||||
def check_user
|
||||
if current_user.nil?
|
||||
redirect_to root_path
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
# Use callbacks to share common setup or constraints between actions.
|
||||
def set_promotion
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
class Settings::PromotionsController < ApplicationController
|
||||
load_and_authorize_resource except: [:create]
|
||||
before_action :set_promotion, only: [:show, :edit, :update, :destroy]
|
||||
before_action :check_user
|
||||
|
||||
# GET /promotions
|
||||
# GET /promotions.json
|
||||
@@ -119,6 +120,12 @@ class Settings::PromotionsController < ApplicationController
|
||||
render json: res
|
||||
end
|
||||
|
||||
def check_user
|
||||
if current_user.nil?
|
||||
redirect_to root_path
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
# Use callbacks to share common setup or constraints between actions.
|
||||
def set_promotion
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
class Transactions::CreditNotesController < ApplicationController
|
||||
|
||||
before_action :set_transactions_sale, only: [:show, :edit, :update, :destroy]
|
||||
before_action :check_user
|
||||
|
||||
# GET /transactions/sales
|
||||
# GET /transactions/sales.json
|
||||
@@ -25,12 +26,18 @@ class Transactions::CreditNotesController < ApplicationController
|
||||
@credit_notes = 0
|
||||
end
|
||||
end
|
||||
puts "sssssssssssss"
|
||||
puts @credit_notes.to_json
|
||||
|
||||
respond_to do |format|
|
||||
format.html # index.html.erb
|
||||
format.json { render json: @credit_notes }
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def check_user
|
||||
if current_user.nil?
|
||||
redirect_to root_path
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
@@ -1,5 +1,7 @@
|
||||
class Transactions::OrdersController < ApplicationController
|
||||
load_and_authorize_resource except: [:create]
|
||||
before_action :check_user
|
||||
|
||||
def index
|
||||
|
||||
filter = params[:filter]
|
||||
@@ -39,4 +41,10 @@ class Transactions::OrdersController < ApplicationController
|
||||
end
|
||||
end
|
||||
|
||||
def check_user
|
||||
if current_user.nil?
|
||||
redirect_to root_path
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
@@ -1,20 +1,30 @@
|
||||
class Transactions::SalesController < ApplicationController
|
||||
load_and_authorize_resource except: [:create]
|
||||
before_action :set_transactions_sale, only: [:show, :edit, :update, :destroy]
|
||||
before_action :check_user
|
||||
|
||||
# GET /transactions/sales
|
||||
# GET /transactions/sales.json
|
||||
def index
|
||||
|
||||
receipt_no = params[:receipt_no]
|
||||
from = params[:from]
|
||||
to = params[:to]
|
||||
# from = params[:from]
|
||||
# to = params[:to]
|
||||
from, to = get_date_range_from_params
|
||||
@shift = ''
|
||||
if params[:shift_name].to_i != 0
|
||||
@shift = ShiftSale.find(params[:shift_name])
|
||||
end
|
||||
|
||||
if receipt_no.nil? && from.nil? && to.nil?
|
||||
@sales = Sale.where("NOT sale_status = 'void' " ).order("sale_id desc")
|
||||
if @shift.blank?
|
||||
@sales = Sale.where("NOT sale_status='new'").order("sale_id desc")
|
||||
else
|
||||
@sales = Sale.where("NOT sale_status='new' and shift_sale_id ='#{@shift.id}'").order("sale_id desc")
|
||||
end
|
||||
@sales = Kaminari.paginate_array(@sales).page(params[:page]).per(20)
|
||||
else
|
||||
sale = Sale.search(receipt_no,from,to)
|
||||
sale = Sale.search(receipt_no,from,to,@shift)
|
||||
if sale.count > 0
|
||||
@sales = sale
|
||||
@sales = Kaminari.paginate_array(@sales).page(params[:page]).per(20)
|
||||
@@ -25,6 +35,12 @@ class Transactions::SalesController < ApplicationController
|
||||
@receipt_no = receipt_no
|
||||
@from = from
|
||||
@to = to
|
||||
|
||||
if @shift.present?
|
||||
@shift_from = @shift.shift_started_at.nil? ? '-' : @shift.shift_started_at.utc.getlocal.strftime("%e %b %I:%M%p")
|
||||
@shift_to = @shift.shift_closed_at.nil? ? '-' : @shift.shift_closed_at.utc.getlocal.strftime("%e %b %I:%M%p")
|
||||
@shift_data = @shift
|
||||
end
|
||||
|
||||
# if receipt_no.nil? && search_date.nil?
|
||||
# @sales = Sale.where("NOT sale_status = 'void' " ).order("sale_id desc").limit(500)
|
||||
@@ -45,6 +61,24 @@ class Transactions::SalesController < ApplicationController
|
||||
# end
|
||||
# end
|
||||
|
||||
@sale_audits = []
|
||||
@sale_item_audits = []
|
||||
if @sales != 0
|
||||
@sales.each do |sale|
|
||||
sale_audit = SaleAudit.where("(action = 'SALEPAYMENT' or action = 'SALEVOID') and sale_id = ? and remark IS NOT NULL",sale.sale_id)
|
||||
if !sale_audit.nil?
|
||||
sale_audit.each do |audit|
|
||||
@sale_audits.push({sale.sale_id => audit.remark})
|
||||
end
|
||||
end
|
||||
|
||||
sale_item_audit = SaleAudit.where("(action LIKE '%ITEM%') and sale_id = ?",sale.sale_id)
|
||||
if !sale_item_audit.nil? && sale_item_audit.count > 0
|
||||
@sale_item_audits.push({sale.sale_id => sale_item_audit.count})
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
respond_to do |format|
|
||||
format.html # index.html.erb
|
||||
format.json { render json: @sales }
|
||||
@@ -129,6 +163,80 @@ class Transactions::SalesController < ApplicationController
|
||||
end
|
||||
end
|
||||
|
||||
# date range
|
||||
PERIOD = {
|
||||
"today" => 0,
|
||||
"yesterday" => 1,
|
||||
"this_week" => 2,
|
||||
"last_week" => 3,
|
||||
"last_7" => 4,
|
||||
"this_month" => 5,
|
||||
"last_month" => 6,
|
||||
"last_30" => 7,
|
||||
"this_year" => 8,
|
||||
"last_year" => 9
|
||||
}
|
||||
|
||||
def get_date_range_from_params
|
||||
period_type = params[:period_type]
|
||||
period = params[:period]
|
||||
from = params[:from]
|
||||
to = params[:to]
|
||||
day_ref = Time.now.utc.getlocal
|
||||
|
||||
if from.present? && to.present?
|
||||
f_date = DateTime.parse(from)
|
||||
t_date = DateTime.parse(to)
|
||||
f_time = Time.mktime(f_date.year,f_date.month,f_date.day,f_date.hour,f_date.min,f_date.sec)
|
||||
t_time = Time.mktime(t_date.year,t_date.month,t_date.day,t_date.hour,t_date.min,t_date.sec)
|
||||
from = f_time.beginning_of_day.utc.getlocal
|
||||
to = t_time.end_of_day.utc.getlocal
|
||||
else
|
||||
case period.to_i
|
||||
when PERIOD["today"]
|
||||
from = day_ref.beginning_of_day.utc
|
||||
to = day_ref.end_of_day.utc
|
||||
|
||||
when PERIOD["yesterday"]
|
||||
from = (day_ref - 1.day).beginning_of_day.utc
|
||||
to = (day_ref - 1.day).end_of_day.utc
|
||||
|
||||
when PERIOD["this_week"]
|
||||
from = Time.now.beginning_of_week.utc
|
||||
to = Time.now.utc
|
||||
when PERIOD["last_week"]
|
||||
from = (day_ref - 7.day).beginning_of_week.utc
|
||||
to = (day_ref - 7.day).end_of_week.utc
|
||||
when PERIOD["last_7"]
|
||||
from = (day_ref - 7.day).utc
|
||||
to = Time.now.utc
|
||||
when PERIOD["this_month"]
|
||||
from = Time.now.beginning_of_month.utc
|
||||
to = Time.now.utc
|
||||
when PERIOD["last_month"]
|
||||
from = (day_ref - 1.month).beginning_of_month.utc
|
||||
to = (day_ref - 1.month).end_of_month.utc
|
||||
when PERIOD["last_30"]
|
||||
from = (day_ref - 30.day).utc
|
||||
to = Time.now.utc
|
||||
when PERIOD["this_year"]
|
||||
from = Time.now.beginning_of_year.utc
|
||||
to = Time.now.utc
|
||||
when PERIOD["last_year"]
|
||||
from = (day_ref - 1.year).beginning_of_year.utc
|
||||
to = (day_ref - 1.year).end_of_year.utc
|
||||
end
|
||||
end
|
||||
|
||||
return from, to
|
||||
end
|
||||
|
||||
def check_user
|
||||
if current_user.nil?
|
||||
redirect_to root_path
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
# Use callbacks to share common setup or constraints between actions.
|
||||
def set_transactions_sale
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
class Transactions::ShiftSalesController < ApplicationController
|
||||
load_and_authorize_resource except: [:create]
|
||||
before_action :set_transactions_shift_sale, only: [:show, :edit, :update, :destroy]
|
||||
before_action :check_user
|
||||
|
||||
def index
|
||||
|
||||
@@ -53,6 +54,12 @@ class Transactions::ShiftSalesController < ApplicationController
|
||||
end
|
||||
end
|
||||
|
||||
def check_user
|
||||
if current_user.nil?
|
||||
redirect_to root_path
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
# Use callbacks to share common setup or constraints between actions.
|
||||
def set_transactions_shift_sale
|
||||
|
||||
28
app/controllers/transactions/surveys_controller.rb
Normal file
28
app/controllers/transactions/surveys_controller.rb
Normal file
@@ -0,0 +1,28 @@
|
||||
class Transactions::SurveysController < ApplicationController
|
||||
def index
|
||||
filter = params[:filter]
|
||||
from = params[:from]
|
||||
to = params[:to]
|
||||
|
||||
if filter.nil? && from.nil? && to.nil?
|
||||
surveys = Survey.all
|
||||
else
|
||||
surveys = Survey.search(filter,from,to)
|
||||
end
|
||||
|
||||
if !surveys.nil?
|
||||
@surveys = Kaminari.paginate_array(surveys).page(params[:page]).per(20)
|
||||
else
|
||||
@surveys = []
|
||||
end
|
||||
|
||||
@filter = filter
|
||||
@from = from
|
||||
@to = to
|
||||
|
||||
respond_to do |format|
|
||||
format.html # index.html.erb
|
||||
format.json { render json: @surveys }
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -105,7 +105,7 @@ class Ability
|
||||
can :show, :home
|
||||
can :read, Order
|
||||
can :update, Order
|
||||
can :menage, Booking
|
||||
can :manage, Booking
|
||||
can :manage, OrderQueueStation
|
||||
can :read, Sale
|
||||
can :update, Sale
|
||||
|
||||
@@ -12,7 +12,7 @@ class InventoryDefinition < ApplicationRecord
|
||||
end
|
||||
|
||||
def self.find_product_in_inventory(item)
|
||||
product = InventoryDefinition.find_by_item_code(item.product_code)
|
||||
product = InventoryDefinition.find_by_item_code(item.item_instance_code)
|
||||
if product.nil?
|
||||
return false, nil
|
||||
else
|
||||
@@ -21,7 +21,7 @@ class InventoryDefinition < ApplicationRecord
|
||||
end
|
||||
|
||||
def self.check_balance(item,inventory_definition) # item => saleItemOBj
|
||||
stock = StockJournal.where('item_code=?', item.product_code).order('created_at desc').take
|
||||
stock = StockJournal.where('item_code=?', item.item_instance_code).order('created_at desc').take
|
||||
unless stock.nil?
|
||||
modify_balance(item, stock, inventory_definition)
|
||||
else
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
class License
|
||||
include HTTParty
|
||||
|
||||
base_uri "connect.smartsales.dev/api"
|
||||
base_uri "connect.smartsales.asia/api"
|
||||
|
||||
attr_accessor :name, :address_1, :address_2, :township, :city, :country, :email, :phone, :fax, :logo, :subdomain,
|
||||
:plan_activation_date, :plan_next_renewal_date, :plan_max_products,:plan_max_customers, :plan_active_connections,
|
||||
|
||||
@@ -46,30 +46,98 @@ class Menu < ApplicationRecord
|
||||
end
|
||||
|
||||
def self.import(file)
|
||||
spreadsheet = Roo::Spreadsheet.open(file.path)
|
||||
|
||||
spreadsheet = open_spreadsheet(file)
|
||||
sheet_count = spreadsheet.sheets.count-1
|
||||
for i in 0..sheet_count do
|
||||
header = spreadsheet.sheet(i).row(1)
|
||||
sheet_name = spreadsheet.sheets[i]
|
||||
|
||||
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
|
||||
(2..spreadsheet.sheet(i).last_row).each do |ii|
|
||||
row = Hash[[header,spreadsheet.sheet(i).row(ii)].transpose]
|
||||
if sheet_name == "Account"
|
||||
# Account.create(id:row["id"], title: row["title"],account_type: row["account_type"],discount: row["discount"],point: row["point"],bonus: row["bonus"],rebate: row["rebate"])
|
||||
account = Account.find_by_id(row["id"])
|
||||
if account
|
||||
Account.create(title: row["title"],account_type: row["account_type"],discount: row["discount"],point: row["point"],bonus: row["bonus"],rebate: row["rebate"])
|
||||
else
|
||||
Account.create(id:row["id"], title: row["title"],account_type: row["account_type"],discount: row["discount"],point: row["point"],bonus: row["bonus"],rebate: row["rebate"])
|
||||
end
|
||||
elsif sheet_name == "Item Set"
|
||||
# ItemSet.create(id:row["id"], name: row[name], alt_name: row[alt_name], min_selectable_qty: row[min_selectable_qty], max_selectable_qty: row[max_selectable_qty])
|
||||
item_set = ItemSet.find_by_id(row["id"])
|
||||
if item_set
|
||||
ItemSet.create( name: row[name], alt_name: row[alt_name], min_selectable_qty: row[min_selectable_qty], max_selectable_qty: row[max_selectable_qty])
|
||||
else
|
||||
ItemSet.create(id:row["id"], name: row[name], alt_name: row[alt_name], min_selectable_qty: row[min_selectable_qty], max_selectable_qty: row[max_selectable_qty])
|
||||
end
|
||||
elsif sheet_name == "Menu Item Options"
|
||||
# MenuItemOption.create(id:row["id"], option_type: row["option_type"],name: row["name"],value: row["value"])
|
||||
item_options = MenuItemOption.find_by_id(row["id"])
|
||||
if item_options
|
||||
MenuItemOption.create( option_type: row["option_type"],name: row["name"],value: row["value"])
|
||||
else
|
||||
MenuItemOption.create(id:row["id"], option_type: row["option_type"],name: row["name"],value: row["value"])
|
||||
end
|
||||
elsif sheet_name == "Menu Item Attributes"
|
||||
# MenuItemAttribute.create(id:row["id"], attribute_type: row["attribute_type"],name: row["name"],value: row["value"])
|
||||
item_attributes = MenuItemAttribute.find_by_id(row["id"])
|
||||
if item_attributes
|
||||
MenuItemAttribute.create( attribute_type: row["attribute_type"],name: row["name"],value: row["value"])
|
||||
else
|
||||
MenuItemAttribute.create(id:row["id"], attribute_type: row["attribute_type"],name: row["name"],value: row["value"])
|
||||
end
|
||||
elsif sheet_name == "Menu"
|
||||
menu = Menu.find_by_id(row["id"])
|
||||
if menu
|
||||
Menu.create(name: row["name"], is_active: row["is_active"], valid_days: row["valid_days"],valid_time_from: row["valid_time_from"], valid_time_to: row["valid_time_to"], created_by: row["created_by"])
|
||||
else
|
||||
Menu.create(id:row["id"], name: row["name"], is_active: row["is_active"], valid_days: row["valid_days"],valid_time_from: row["valid_time_from"], valid_time_to: row["valid_time_to"], created_by: row["created_by"])
|
||||
end
|
||||
elsif sheet_name == "Menu Category"
|
||||
# MenuCategory.create(id:row["id"], menu_id: row["menu_id"], code: row["code"], name: row["name"], alt_name: row["alt_name"], order_by: row["order_by"], created_by: row["created_by"], menu_category_id: row["menu_category_id"], is_available: row["is_available"])
|
||||
menu_category = MenuCategory.find_by_id(row["id"])
|
||||
if menu_category
|
||||
MenuCategory.create(menu_id: row["menu_id"], code: row["code"], name: row["name"], alt_name: row["alt_name"], order_by: row["order_by"], created_by: row["created_by"], menu_category_id: row["menu_category_id"], is_available: row["is_available"])
|
||||
else
|
||||
MenuCategory.create(id:row["id"], menu_id: row["menu_id"], code: row["code"], name: row["name"], alt_name: row["alt_name"], order_by: row["order_by"], created_by: row["created_by"], menu_category_id: row["menu_category_id"], is_available: row["is_available"])
|
||||
end
|
||||
elsif sheet_name == "Menu Item"
|
||||
# MenuItem.create(id:row["id"], item_code: row["item_code"], name: row["name"], alt_name: row["alt_name"], image_path: row["image_path"], description: row["description"], information: row["information"], unit: row["unit"], type: row["type"], menu_category_id: row["menu_category_id"], item_attributes: row["item_attributes"], item_options: row["item_options"], account_id: row["account_id"], min_qty: row["min_qty"], taxable: row["taxable"], is_sub_item: row["is_sub_item"], is_available: row["is_available"], created_by: row["created_by"])
|
||||
menu_item = MenuItem.find_by_id(row["id"])
|
||||
if menu_item
|
||||
MenuItem.create(item_code: row["item_code"], name: row["name"], alt_name: row["alt_name"], image_path: row["image_path"], description: row["description"], information: row["information"], unit: row["unit"], type: row["type"], menu_category_id: row["menu_category_id"], item_attributes: JSON.parse(row["item_attributes"]), item_options: JSON.parse(row["item_options"]), account_id: row["account_id"], min_qty: row["min_qty"], taxable: row["taxable"], is_sub_item: row["is_sub_item"], is_available: row["is_available"], created_by: row["created_by"])
|
||||
else
|
||||
MenuItem.create(id:row["id"], item_code: row["item_code"], name: row["name"], alt_name: row["alt_name"], image_path: row["image_path"], description: row["description"], information: row["information"], unit: row["unit"], type: row["type"], menu_category_id: row["menu_category_id"], item_attributes: JSON.parse(row["item_attributes"]), item_options: JSON.parse(row["item_options"]), account_id: row["account_id"], min_qty: row["min_qty"], taxable: row["taxable"], is_sub_item: row["is_sub_item"], is_available: row["is_available"], created_by: row["created_by"])
|
||||
end
|
||||
elsif sheet_name == "Menu Item Instance"
|
||||
# MenuItemInstance.create(id:row["id"], menu_item_id: row["menu_item_id"].to_i, item_instance_code: row["item_instance_code"], item_instance_name: row["item_instance_name"], item_attributes: row["item_attributes"], price: row["price"], is_on_promotion: row["is_on_promotion"], promotion_price: row["promotion_price"], is_available: row["is_available"], is_default: row["is_default"])
|
||||
item_instance = MenuItemInstance.find_by_id(row["id"])
|
||||
if item_instance
|
||||
MenuItemInstance.create(menu_item_id: row["menu_item_id"].to_i, item_instance_code: row["item_instance_code"], item_instance_name: row["item_instance_name"], item_attributes: JSON.parse(row["item_attributes"]), price: row["price"], is_on_promotion: row["is_on_promotion"], promotion_price: row["promotion_price"], is_available: row["is_available"], is_default: row["is_default"])
|
||||
else
|
||||
MenuItemInstance.create(id:row["id"], menu_item_id: row["menu_item_id"].to_i, item_instance_code: row["item_instance_code"], item_instance_name: row["item_instance_name"], item_attributes: JSON.parse(row["item_attributes"]), price: row["price"], is_on_promotion: row["is_on_promotion"], promotion_price: row["promotion_price"], is_available: row["is_available"], is_default: row["is_default"])
|
||||
end
|
||||
elsif sheet_name == "Menu Instance Item Set"
|
||||
# MenuInstanceItemSet.create(id:row["id"], item_set_id: row["item_set_id"], menu_item_instance_id: row["menu_item_instance_id"])
|
||||
menu_instance_set = MenuInstanceItemSet.find_by_id(row["id"])
|
||||
if menu_instance_set
|
||||
MenuInstanceItemSet.create(item_set_id: row["item_set_id"], menu_item_instance_id: row["menu_item_instance_id"])
|
||||
else
|
||||
MenuInstanceItemSet.create(id:row["id"], item_set_id: row["item_set_id"], menu_item_instance_id: row["menu_item_instance_id"])
|
||||
end
|
||||
elsif sheet_name == "Menu Item Set"
|
||||
# MenuItemSet.create(id:row["id"], item_set_id: row["item_set_id"], menu_item_id: row["menu_item_id"])
|
||||
menu_item_set = MenuItemSet.find_by_id(row["id"])
|
||||
if menu_item_set
|
||||
MenuItemSet.create(item_set_id: row["item_set_id"], menu_item_id: row["menu_item_id"])
|
||||
else
|
||||
MenuItemSet.create(id:row["id"], item_set_id: row["item_set_id"], menu_item_id: row["menu_item_id"])
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
def self.open_spreadsheet(file)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
class MenuCategory < ApplicationRecord
|
||||
# before_create :generate_menu_category_code
|
||||
|
||||
belongs_to :menu , counter_cache: true
|
||||
belongs_to :menu
|
||||
has_many :children, :class_name => "MenuCategory", foreign_key: "menu_category_id"
|
||||
belongs_to :parent, :class_name => "MenuCategory", foreign_key: "menu_category_id", optional: true
|
||||
has_many :menu_items
|
||||
|
||||
@@ -262,11 +262,11 @@ class Printer::ReceiptPrinter < Printer::PrinterWorker
|
||||
def print_receipt_pdf(filename,receipt_no,print_copies,printer_name)
|
||||
count = print_copies.to_i
|
||||
# if count == 0
|
||||
# self.print("public"+filename, printer_name)
|
||||
# self.print(filename, printer_name)
|
||||
# else
|
||||
begin
|
||||
if count == 1
|
||||
self.print("public"+filename, printer_name)
|
||||
self.print(filename, printer_name)
|
||||
else
|
||||
filename = "public/receipts/receipt_bill_#{receipt_no}_#{count}.pdf"
|
||||
self.print(filename, printer_name)
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -38,7 +38,8 @@ class SaleItem < ApplicationRecord
|
||||
sale_item.product_alt_name = item.product_alt_name
|
||||
sale_item.account_id = item.account_id
|
||||
sale_item.status = type
|
||||
if type == "foc" || type == "promotion" || type == "void"
|
||||
sale_item.remark = type
|
||||
if type == "foc" || type == "promotion" || type == "void" || type == "waste" || type == "spoile"
|
||||
sale_item.qty = qty * (-1)
|
||||
else
|
||||
sale_item.qty = qty
|
||||
|
||||
@@ -208,8 +208,7 @@ class SalePayment < ApplicationRecord
|
||||
self.outstanding_amount = self.sale.grand_total.to_f - self.received_amount.to_f
|
||||
self.payment_status = "paid"
|
||||
payment_method = self.save!
|
||||
sale_update_payment_status(self.received_amount)
|
||||
|
||||
sale_update_payment_status(self.received_amount)
|
||||
return payment_status
|
||||
end
|
||||
|
||||
@@ -325,7 +324,7 @@ class SalePayment < ApplicationRecord
|
||||
sObj = Sale.find(self.sale_id)
|
||||
is_credit = 0
|
||||
is_foc = 0
|
||||
is_cash = false
|
||||
method_status = false
|
||||
sObj.sale_payments.each do |spay|
|
||||
all_received_amount += spay.payment_amount.to_f
|
||||
if spay.payment_method == "creditnote"
|
||||
@@ -334,12 +333,12 @@ class SalePayment < ApplicationRecord
|
||||
if spay.payment_method == "foc"
|
||||
is_foc = 1
|
||||
end
|
||||
if spay.payment_method.to_s == "cash"
|
||||
is_cash = true
|
||||
if spay.payment_method == "cash" || spay.payment_method == "foc" || spay.payment_method == "creditnote"
|
||||
method_status = true
|
||||
end
|
||||
end
|
||||
|
||||
if (self.sale.grand_total <= all_received_amount) && is_cash
|
||||
if (self.sale.grand_total <= all_received_amount) && method_status
|
||||
if is_credit == 0
|
||||
self.sale.payment_status = "paid"
|
||||
else
|
||||
@@ -386,7 +385,7 @@ class SalePayment < ApplicationRecord
|
||||
elsif paid_amount.to_f > 0 #|| paid_amount != "0.0"
|
||||
table_update_status(sObj)
|
||||
update_shift
|
||||
elsif is_cash && paid_amount.to_f == 0
|
||||
elsif method_status && paid_amount.to_f == 0
|
||||
table_update_status(sObj)
|
||||
update_shift
|
||||
end
|
||||
|
||||
@@ -8,7 +8,7 @@ class StockJournal < ApplicationRecord
|
||||
balance = calculate_balance(balance, item.qty)
|
||||
|
||||
journal = StockJournal.new
|
||||
journal.item_code = item.product_code
|
||||
journal.item_code = item.item_instance_code
|
||||
journal.inventory_definition_id = inventory_definition.id
|
||||
journal.debit = item.qty
|
||||
journal.balance = balance
|
||||
@@ -36,12 +36,16 @@ class StockJournal < ApplicationRecord
|
||||
journal.save
|
||||
end
|
||||
|
||||
def self.inventory_balances(today,from,to)
|
||||
def self.inventory_balances(today,from,to,from_time,to_time)
|
||||
if !from.nil? && !to.nil?
|
||||
query = StockJournal.select("mii.item_instance_name as item_instance_name,balance")
|
||||
.joins("join menu_item_instances mii on mii.item_instance_code=stock_journals.item_code")
|
||||
.where("stock_journals.created_at between '#{from}' and '#{to}'")
|
||||
.group("mii.item_instance_name")
|
||||
if !from_time.nil? && !to_time.nil?
|
||||
query = query.where("DATE_FORMAT(CONVERT_TZ(stock_journals.created_at,'+00:00','+06:30'),'%Y-%m-%d') between '#{from}' and '#{to}'")
|
||||
else
|
||||
query = query.where("DATE_FORMAT(CONVERT_TZ(stock_journals.created_at,'+00:00','+06:30'),'%Y-%m-%d') between '#{from}' and '#{to}' and DATE_FORMAT(CONVERT_TZ(stock_journals.created_at,'+00:00','+06:30'),'%H:%M') between '#{from_time}' and '#{to_time}'")
|
||||
end
|
||||
query = query.group("mii.item_instance_name")
|
||||
.order("mii.item_instance_name ASC")
|
||||
else
|
||||
query = StockJournal.select("mii.item_instance_name as item_instance_name,balance")
|
||||
|
||||
@@ -1,2 +1,17 @@
|
||||
class Survey < ApplicationRecord
|
||||
|
||||
def self.search(filter,from,to)
|
||||
if filter.blank?
|
||||
keyword = ''
|
||||
else
|
||||
keyword = "dining_name LIKE ?","%#{filter}%"
|
||||
end
|
||||
|
||||
if from.present? && to.present?
|
||||
survey = Survey.where("DATE_FORMAT(created_at,'%d-%m-%Y') >= ?" + " AND DATE_FORMAT(created_at,'%d-%m-%Y') <= ?", from,to)
|
||||
query = survey.where(keyword)
|
||||
else
|
||||
where("dining_name LIKE ?", "%#{filter}%")
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -110,7 +110,7 @@ class OrderItemPdf < Prawn::Document
|
||||
end
|
||||
|
||||
if alt_name
|
||||
if !(order_item.alt_name).empty?
|
||||
if order_item.alt_name
|
||||
move_down 4
|
||||
font("public/fonts/NotoSansCJKtc-Regular.ttf") do
|
||||
text "(#{order_item.alt_name})", :size => self.item_font_size,:align => :left, :inline_format => true
|
||||
|
||||
@@ -110,7 +110,7 @@ class OrderItemSlimPdf < Prawn::Document
|
||||
end
|
||||
|
||||
# if alt_name
|
||||
# if !(order_item_slim.alt_name).empty?
|
||||
# if order_item_slim.alt_name
|
||||
# move_down 1
|
||||
# font("public/fonts/NotoSansCJKtc-Regular.ttf") do
|
||||
# text "(#{order_item_slim.alt_name})", :size => self.item_font_size,:align => :left, :inline_format => true
|
||||
|
||||
@@ -109,7 +109,7 @@ class OrderSetItemPdf < Prawn::Document
|
||||
end
|
||||
|
||||
if alt_name
|
||||
if !(order_set_item.alt_name).empty?
|
||||
if order_set_item.alt_name
|
||||
move_down 4
|
||||
font("public/fonts/NotoSansCJKtc-Regular.ttf") do
|
||||
text "(#{order_set_item.alt_name})", :size => self.item_font_size,:align => :left, :inline_format => true
|
||||
|
||||
@@ -68,16 +68,48 @@
|
||||
|
||||
<!-- Date range for dashboard -->
|
||||
<div class="row clearfix">
|
||||
<div class="col-lg-4 col-md-4 col-sm-4">
|
||||
<%
|
||||
if !@from.nil?
|
||||
from_date = DateTime.parse(@from).utc.getlocal.strftime("%d-%m-%Y")
|
||||
else
|
||||
from_date = Time.now.utc.getlocal.strftime('%d-%m-%Y')
|
||||
end
|
||||
if !@to.nil?
|
||||
to_date = DateTime.parse(@to).utc.getlocal.strftime("%d-%m-%Y")
|
||||
else
|
||||
to_date = Time.now.utc.getlocal.strftime('%d-%m-%Y')
|
||||
end
|
||||
if !@from_time.nil?
|
||||
from_time = @from_time
|
||||
else
|
||||
from_time = ''
|
||||
end
|
||||
if !@to_time.nil?
|
||||
to_time = @to_time
|
||||
else
|
||||
to_time = ''
|
||||
end
|
||||
%>
|
||||
<div class="col-lg-3 col-md-3 col-sm-3">
|
||||
<label class="font-14"><%= t("views.right_panel.detail.from") %></label>
|
||||
<input data-behaviour='datepicker' class="form-control datepicker" name="from" id="from" type="text" value="<%= Time.now.utc.strftime('%d-%m-%Y') %>" placeholder="From date" style="height: 35px;">
|
||||
<input data-behaviour='datepicker' class="form-control datepicker" name="from" id="from" type="text" value="<%= from_date %>" placeholder="From date" style="height: 35px;">
|
||||
<span id="fromErr" style="color:red;"></span>
|
||||
</div>
|
||||
<div class="col-lg-4 col-md-4 col-sm-4">
|
||||
<div class="col-lg-3 col-md-3 col-sm-3">
|
||||
<label class="font-14"><%= t("views.right_panel.detail.to") %></label>
|
||||
<input data-behaviour='datepicker' class="form-control datepicker" name="to" id="to" type="text" value="<%= Time.now.utc.strftime('%d-%m-%Y') %>" placeholder="To date" style="height: 35px;">
|
||||
<input data-behaviour='datepicker' class="form-control datepicker" name="to" id="to" type="text" value="<%= to_date %>" placeholder="To date" style="height: 35px;">
|
||||
<span id="toErr" style="color:red;"></span>
|
||||
</div>
|
||||
<div class="col-lg-2 col-md-2 col-sm-2">
|
||||
<label class="font-14"><%= t("views.right_panel.detail.from_time") %></label>
|
||||
<input data-behaviour='timepicker' class="form-control timepicker" name="from_time" id="from_time" type="text" value="<%= from_time %>" placeholder="From Time" style="height: 35px;">
|
||||
<span id="from_timeErr" style="color:red;"></span>
|
||||
</div>
|
||||
<div class="col-lg-2 col-md-2 col-sm-2">
|
||||
<label class="font-14"><%= t("views.right_panel.detail.to_time") %></label>
|
||||
<input data-behaviour='timepicker' class="form-control timepicker" name="to_time" id="to_time" type="text" value="<%= to_time %>" placeholder="To time" style="height: 35px;">
|
||||
<span id="to_timeErr" style="color:red;"></span>
|
||||
</div>
|
||||
<div class="col-lg-2 col-md-2 col-sm-2">
|
||||
<label></label><br>
|
||||
<input type="button" value="Generate" class='btn btn-primary btn_generate'>
|
||||
@@ -340,21 +372,53 @@
|
||||
$('.btn_generate').on('click',function(){
|
||||
var from = $("#from").val();
|
||||
var to = $("#to").val();
|
||||
var from_time = $("#from_time").val();
|
||||
var to_time = $("#to_time").val();
|
||||
|
||||
if(check(from,to,from_time,to_time)){
|
||||
var params = '?';
|
||||
if((from!='' && to!='') && (from_time!='' && to_time!='')){
|
||||
params += 'from='+from+'&to='+to+'&from_time='+from_time+'&to_time='+to_time;
|
||||
}else{
|
||||
params += 'from='+from+'&to='+to;
|
||||
}
|
||||
window.location.href = '/dashboard'+params;
|
||||
}
|
||||
});
|
||||
|
||||
function check(from,to,from_time,to_time){
|
||||
var status = true;
|
||||
if((from=='') && (to=='')){
|
||||
status = false;
|
||||
$('#fromErr').html("can't be blank");
|
||||
$('#toErr').html("can't be blank");
|
||||
}else if((from!='') && (to=='')){
|
||||
status = false;
|
||||
$('#fromErr').html("");
|
||||
$('#toErr').html("can't be blank");
|
||||
}else if((from=='') && (to!='')){
|
||||
status = false;
|
||||
$('#fromErr').html("can't be blank");
|
||||
$('#toErr').html("");
|
||||
}else{
|
||||
status = true;
|
||||
$('#fromErr').html("");
|
||||
$('#toErr').html("");
|
||||
}
|
||||
if((from!='') && (to!='')){
|
||||
window.location.href = '/dashboard?from='+from+'&to='+to;
|
||||
|
||||
if(((from_time=='') && (to_time=='')) || ((from_time!='') && (to_time!=''))){
|
||||
status = true;
|
||||
$('#from_timeErr').html("");
|
||||
$('#to_timeErr').html("");
|
||||
}else if((from_time!='') && (to_time=='')){
|
||||
status = false;
|
||||
$('#from_timeErr').html("");
|
||||
$('#to_timeErr').html("can't be blank");
|
||||
}else if((from_time=='') && (to_time!='')){
|
||||
status = false;
|
||||
$('#from_timeErr').html("can't be blank");
|
||||
$('#to_timeErr').html("");
|
||||
}
|
||||
});
|
||||
return status;
|
||||
}
|
||||
</script>
|
||||
5
app/views/layouts/_left_sidebar.html.erb
Executable file → Normal file
5
app/views/layouts/_left_sidebar.html.erb
Executable file → Normal file
@@ -109,6 +109,11 @@
|
||||
<a href="<%= transactions_shift_sales_path %>"><%= (t :shiftsale) %></a>
|
||||
</li>
|
||||
<% end %>
|
||||
<% if can? :menage, Survey %>
|
||||
<li>
|
||||
<a href="<%= transactions_surveys_path %>"><%= t("views.right_panel.detail.survey") %></a>
|
||||
</li>
|
||||
<% end %>
|
||||
</ul>
|
||||
</li>
|
||||
<% if can? :index, :dailysale %>
|
||||
|
||||
@@ -112,7 +112,10 @@ $(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 %>';
|
||||
var booking_id = '';
|
||||
<% if !@booking.nil? %>
|
||||
booking_id = '<%= @booking.booking_id %>';
|
||||
<% end %>
|
||||
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
@@ -144,7 +147,10 @@ $(document).ready(function(){
|
||||
});
|
||||
|
||||
$('#back').on('click', function () {
|
||||
var booking_id = '<%= @booking.booking_id %>';
|
||||
var booking_id = '';
|
||||
<% if !@booking.nil? %>
|
||||
booking_id = '<%= @booking.booking_id %>';
|
||||
<% end %>
|
||||
<% if !@link_type.nil? %>
|
||||
<% if @link_type == 'oqs' %>
|
||||
window.location.href = '/oqs';
|
||||
|
||||
@@ -35,6 +35,7 @@
|
||||
<%end%>
|
||||
</ul>
|
||||
</li>
|
||||
<div id="menu-slimscroll" data-height="0">
|
||||
<ul class="nav nav-tabs flex-column category_list" role="tablist" id="ul-navbar">
|
||||
<li class="nav-item product" data-ref="<%= origami_get_all_product_path %>">
|
||||
<a class="nav-link" data-toggle="tab" href="" role="tab">Products</a>
|
||||
@@ -80,14 +81,15 @@
|
||||
<% end %>
|
||||
<%end %>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="col-md-7 col-lg-7 col-sm-7 m-t-10" >
|
||||
<div class="card">
|
||||
<div class="card-block">
|
||||
<div id="custom-slimscroll">
|
||||
<div class="card-block" style="">
|
||||
<div class="card-text" id="custom-slimscroll">
|
||||
<div class="card-columns custom-card-columns menu_items_list" style="column-gap: 0.5rem;">
|
||||
<!-- append data -->
|
||||
<% @menu.each do |menu| %>
|
||||
@@ -199,7 +201,7 @@
|
||||
|
||||
</div>
|
||||
<div class="card-block">
|
||||
<div class="card-text" id="order-detail-slimscroll" data-height="180">
|
||||
<div class="card-text" id="order-detail-slimscroll" data-height="140">
|
||||
<table class="table table-striped summary-items" id="order-items-table" >
|
||||
<thead>
|
||||
<tr>
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
<div class="icon" >
|
||||
<i class="material-icons">arrow_forward</i>
|
||||
</div>
|
||||
<div class="text font-20 m-l-5" style="line-height: 80px;">Quick Service</div>
|
||||
<div class="text font-20 m-l-5" style="line-height: 80px;"><%= t :quick_service %></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-3 col-md-3 col-sm-4 col-xs-12 cashier_view">
|
||||
@@ -30,7 +30,7 @@
|
||||
<div class="icon" >
|
||||
<i class="material-icons">arrow_forward</i>
|
||||
</div>
|
||||
<div class="text font-20 m-l-5" style="line-height: 80px;">Cashier</div>
|
||||
<div class="text font-20 m-l-5" style="line-height: 80px;"><%= t :dine_in_order %></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -414,7 +414,7 @@ var cashier_type = "<%= @cashier_type %>";
|
||||
var sub_total = $('#order-sub-total').text();
|
||||
var ajax_url = "/origami/" + sale_id + "/discount";
|
||||
|
||||
var params = { 'sale_id': sale_id, 'sub_total': sub_total, 'discount_items': discount_items, 'overall_discount': overall_discount };
|
||||
var params = { 'cashier_type' : cashier_type,'sale_id': sale_id, 'sub_total': sub_total, 'discount_items': discount_items, 'overall_discount': overall_discount };
|
||||
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
@@ -465,7 +465,7 @@ var cashier_type = "<%= @cashier_type %>";
|
||||
}
|
||||
}
|
||||
|
||||
var params = { 'sale_id': sale_id, 'discount_items': JSON.stringify(discount_items) };
|
||||
var params = { 'cashier_type': cashier_type,'sale_id': sale_id, 'discount_items': JSON.stringify(discount_items) };
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "/origami/" + sale_id + "/remove_discount_items",
|
||||
@@ -496,7 +496,7 @@ var cashier_type = "<%= @cashier_type %>";
|
||||
var sale_id = $('#sale-id').text();
|
||||
$.ajax({
|
||||
type: "GET",
|
||||
url: "/origami/" + sale_id + "/remove_all_discount",
|
||||
url: "/origami/" + sale_id + "/" + cashier_type + "/remove_all_discount",
|
||||
success: function(result){
|
||||
swal({
|
||||
title: "Information!",
|
||||
@@ -532,7 +532,7 @@ var cashier_type = "<%= @cashier_type %>";
|
||||
|
||||
// var params = {'sale_id':sale_id, 'sub_total':sub_total, 'account_types':account_types };
|
||||
|
||||
var params = {'sale_id':sale_id, 'sub_total':sub_total };
|
||||
var params = {'cashier_type': cashier_type,'sale_id':sale_id, 'sub_total':sub_total };
|
||||
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
|
||||
@@ -488,6 +488,11 @@
|
||||
<button type="button" class="btn btn-block bg-blue waves-effect" id='edit' <%= (can? :edit, :sale_edit)? ' ': 'disabled=' %> active="true">Edit</button>
|
||||
<button type="button" class="btn btn-block bg-blue waves-effect" data-toggle="modal" data-target="#voidModal" <%= (can? :overall_void, :void)? ' ': 'disabled=' %> > Void</button>
|
||||
<% end %>
|
||||
|
||||
<% if current_login_employee.role != "waiter" %>
|
||||
<button type="button" class="btn btn-block bg-blue waves-effect" data-toggle="modal" data-target="#waste_spoileModal" > Waste & Spoile</button>
|
||||
<% end %>
|
||||
|
||||
<button type="button" id="discount" class="btn btn-block bg-blue waves-effect" <%= (can? :index, :discount)? ' ': 'disabled=' %> active="true">Discount</button>
|
||||
<button type="button" id="other-charges" class="btn btn-block bg-blue waves-effect">Charges</button>
|
||||
|
||||
@@ -498,15 +503,13 @@
|
||||
<% end %>
|
||||
<% if current_login_employee.role != "waiter" %>
|
||||
<!-- first bill not used in cloud -->
|
||||
<% if ENV["SERVER_MODE"] == "cloud" %>
|
||||
<button type="button" id="first_bill" class="btn btn-block bg-blue waves-effect">First Bill</button>
|
||||
<% else %>
|
||||
|
||||
<%if @membership.discount && @obj_sale.customer.membership_id %>
|
||||
<button type="button" class="btn btn-block bg-blue waves-effect" data-toggle="modal" data-target="#paymentModal">First Bill</button>
|
||||
<%else%>
|
||||
<button type="button" id="first_bill" class="btn btn-block bg-blue waves-effect">First Bill</button>
|
||||
<%end%>
|
||||
<% end %>
|
||||
|
||||
<button type="button" id="pay" class="btn btn-block bg-blue waves-effect">Pay</button>
|
||||
<% end %>
|
||||
<% end %>
|
||||
@@ -522,30 +525,31 @@
|
||||
<span class="hidden" id="member_discount"><%= @membership.discount%></span>
|
||||
<span class="hidden" id="membership_id"><%= @obj_sale.customer.membership_id rescue 0%></span>
|
||||
<div class="modal fade" id="paymentModal" tabindex="-1" role="dialog">
|
||||
<div class="modal-dialog" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h4 class="modal-title" id="paymentModalLabel">Choose Payment Method</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<select class="form-control show-tick payment_method" multiple="true" id="payment_method" >
|
||||
<div class="modal-dialog" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h4 class="modal-title" id="paymentModalLabel">Choose Payment Method</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<!-- <select class="form-control show-tick payment_method" multiple="true" id="payment_method" > -->
|
||||
<!-- <option value="Cash">Cash</option> -->
|
||||
<option value="Credit">Credit</option>
|
||||
<% @payment_methods.each do |pay| %>
|
||||
<option value="<%= pay.payment_method %>">
|
||||
<%= pay.payment_method %>
|
||||
</option>
|
||||
<%end %>
|
||||
<button class='btn waves-effect payment_btn green' data-type='Credit' data-value='Credit'>Credit</button>
|
||||
<% @payment_methods.each do |pay| %>
|
||||
<!-- <option value="<%= pay.payment_method %>">
|
||||
<%= pay.payment_method %>
|
||||
</option> -->
|
||||
<button class='btn btn-lg waves-effect payment_btn green' data-type='<%= pay.payment_method %>' data-value='<%= pay.payment_method %>'><%= pay.payment_method %></button>
|
||||
<%end %>
|
||||
|
||||
</select>
|
||||
</div>
|
||||
<div class="modal-footer p-r-30">
|
||||
<button type="button" class="btn btn-link btn-danger waves-effect" data-dismiss="modal">CLOSE</button>
|
||||
<!-- </select> -->
|
||||
</div>
|
||||
<div class="modal-footer p-r-30">
|
||||
<button type="button" class="btn btn-link btn-danger waves-effect" data-dismiss="modal">CLOSE</button>
|
||||
|
||||
<button type="button" class="btn btn-link bg-blue waves-effect choose_payment">SAVE</button>
|
||||
</div>
|
||||
</div>
|
||||
<button type="button" class="btn btn-link bg-blue waves-effect choose_payment">SAVE</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -570,6 +574,32 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="waste_spoileModal" tabindex="-1" role="dialog">
|
||||
<div class="modal-dialog" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h4 class="modal-title" id="waste_spoileModalLabel">Are you sure Waste or Spoile ?</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="row p-r-20">
|
||||
<div class="col-md-3">
|
||||
<button type="button" class="btn btn-lg bg-red waves-effect " data-status="waste" value="waste" id="btn_waste" onclick="waste_and_spoilage('waste')"><strong>Waste</strong></button>
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<button type="button" class="btn btn-lg bg-red waves-effect " data-status="spoile" value="spoile" id="btn_spoile" onclick="waste_and_spoilage('spoile')"><strong>Spoile</strong></button>
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<button type="button" class="btn btn-lg bg-blue waves-effect" data-dismiss="modal"><strong>CLOSE</strong></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer ">
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -726,10 +756,10 @@
|
||||
createReceiptNoInFirstBillData(receipt_no,"");
|
||||
|
||||
// For Server Print - from jade
|
||||
//if ($("#server_mode").val() == "cloud") {
|
||||
if ($("#server_mode").val() == "cloud") {
|
||||
code2lab.printFile(result.filepath.substr(6), result.printer_url);
|
||||
// }
|
||||
|
||||
}
|
||||
|
||||
// console.log(result);
|
||||
// code2lab.printBill(result.filepath, result.printer_model, result.printer_url);
|
||||
location.reload();
|
||||
@@ -737,11 +767,27 @@
|
||||
});
|
||||
});
|
||||
|
||||
// click select option icon for add
|
||||
$(document).on('click', '.payment_btn', function(event){
|
||||
active = $(this).hasClass('selected-payment');
|
||||
value = $(this).data('value');
|
||||
type = $(this).data('type');
|
||||
group = $(this).data('group');
|
||||
payments = $(".payment_btn");
|
||||
|
||||
if (active) {
|
||||
$(this).removeClass('selected-payment');
|
||||
}else{
|
||||
$(this).addClass('selected-payment');
|
||||
}
|
||||
}); //End selecct attribute buttom
|
||||
|
||||
$(".choose_payment").on('click', function () {
|
||||
$( "#loading_wrapper").show();
|
||||
|
||||
var sale_id = $('#sale_id').val();
|
||||
type = $('.payment_method').val();
|
||||
// type = $('.payment_method').val();
|
||||
type = get_selected_attributes('selected-payment');
|
||||
if(parseInt(jQuery.inArray("Credit", type)) == -1){
|
||||
if (parseInt(jQuery.inArray("MPU", type)) != -1 || parseInt(jQuery.inArray("VISA", type)) != -1 || parseInt(jQuery.inArray("JCB", type)) != -1 || parseInt(jQuery.inArray("Master", type)) != -1 || parseInt(jQuery.inArray("UNIONPAY", type)) != -1 || parseInt(jQuery.inArray("Redeem", type)) != -1) {
|
||||
calculate_member_discount(sale_id,"Card");
|
||||
@@ -759,7 +805,11 @@
|
||||
receipt_no = ($("#receipt_no").html()).trim();
|
||||
if((receipt_no!=undefined) && (receipt_no!=""))
|
||||
createReceiptNoInFirstBillData(receipt_no,type);
|
||||
location.reload();
|
||||
// For Server Print - from jade
|
||||
if ($("#server_mode").val() == "cloud") {
|
||||
code2lab.printFile(result.filepath.substr(6), result.printer_url);
|
||||
}
|
||||
location.reload();
|
||||
}
|
||||
});
|
||||
});
|
||||
@@ -809,7 +859,7 @@
|
||||
//split bill process
|
||||
$('#split_bills').click(function(){
|
||||
var dining_id = "<%= @dining.id %>";
|
||||
window.location.href = '/origami/table/' + dining_id + "/split_bills";
|
||||
window.location.href = '/origami/table/' + dining_id + "/" + cashier_type +"/split_bills";
|
||||
});
|
||||
|
||||
$('#move').on('click', function () {
|
||||
@@ -920,8 +970,12 @@
|
||||
type: 'POST',
|
||||
url: ajax_url,
|
||||
data: "remark="+ remark + "&sale_id=" + sale_id,
|
||||
success: function () {
|
||||
window.location.href = '/origami/';
|
||||
success: function (result) {
|
||||
// For Server Print - from jade
|
||||
if ($("#server_mode").val() == "cloud") {
|
||||
code2lab.printFile(result.filepath.substr(6), result.printer_url);
|
||||
}
|
||||
window.location.href = '/origami/';
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -979,4 +1033,48 @@
|
||||
window.location.href = '/oqs/'+ assigned_order_item_id + "/edit/"+dining_id;
|
||||
}
|
||||
});
|
||||
|
||||
// Get Selected Class
|
||||
function get_selected_attributes(selected_class) {
|
||||
var item_row = $('.'+selected_class);
|
||||
var attribute_arr = [];
|
||||
$(item_row).each(function(i){
|
||||
value = $(item_row[i]).attr('data-value');
|
||||
str = value;
|
||||
attribute_arr.push(str);
|
||||
});
|
||||
return attribute_arr;
|
||||
}
|
||||
|
||||
function waste_and_spoilage(remark) {
|
||||
swal({
|
||||
title: "Alert",
|
||||
text: "Are you sure want to " + remark +" ?",
|
||||
type: "warning",
|
||||
showCancelButton: true,
|
||||
confirmButtonColor: "#DD6B55",
|
||||
confirmButtonText: "Yes, " +remark+ " it!",
|
||||
closeOnConfirm: false
|
||||
}, function (isConfirm) {
|
||||
if (isConfirm) {
|
||||
var sale_id = "<%= @obj_sale.sale_id rescue "" %>"
|
||||
var url = "/origami/sale/" + sale_id + '/cashier/waste_and_spoilage';
|
||||
|
||||
console.log(url)
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: url,
|
||||
data: "remark="+ remark + "&sale_id=" + sale_id,
|
||||
success: function (result) {
|
||||
console.log(result)
|
||||
// For Server Print - from jade
|
||||
// if ($("#server_mode").val() == "cloud") {
|
||||
// code2lab.printFile(result.filepath.substr(6), result.printer_url);
|
||||
// }
|
||||
// window.location.href = '/origami/';
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -308,7 +308,7 @@ var cashier_type = "<%= @cashier_type %>";
|
||||
var other_charges_items = JSON.stringify(get_other_item_rows());
|
||||
var ajax_url = "/origami/" + sale_id + "/other_charges";
|
||||
|
||||
var params = { 'sale_id': sale_id, 'sub_total': sub_total, 'other_charges_items': other_charges_items };
|
||||
var params = { 'cashier_type' : cashier_type,'sale_id': sale_id, 'sub_total': sub_total, 'other_charges_items': other_charges_items };
|
||||
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
|
||||
@@ -100,10 +100,10 @@
|
||||
<td class="charges-name"><strong>Tax
|
||||
(<% @i = 0
|
||||
@account_arr.each do |ct| %>
|
||||
<%=ct.name%>
|
||||
<% if @account_arr.count != @i+1%>
|
||||
+ <% @i =+1 %>
|
||||
<%end%>
|
||||
<%=ct.name%>
|
||||
<% if @account_arr.count != @i+1%>
|
||||
+ <% @i =+1 %>
|
||||
<%end%>
|
||||
<%end %>)
|
||||
</strong></td>
|
||||
<td class="item-attr"><strong><span><%= number_with_precision(@sale_data.total_tax, precision: precision.to_i ) rescue number_with_precision(0, precision: precision.to_i )%></span></strong></td>
|
||||
@@ -420,11 +420,11 @@
|
||||
</div>
|
||||
<div class="modal-footer ">
|
||||
<div class="row m-b-10 m-r-30">
|
||||
<% if ENV["SERVER_MODE"] != 'cloud' %>
|
||||
|
||||
<div class="col-md-5 m-r-20">
|
||||
<button type="button" class="btn btn-link bg-red waves-effect print_receipt">Print</button>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
<div class="col-md-5">
|
||||
<button type="button" class="btn btn-link bg-blue waves-effect btn_pdf_close" data-dismiss="modal">CLOSE</button>
|
||||
</div>
|
||||
@@ -445,6 +445,17 @@
|
||||
<div class="modal-body">
|
||||
<input type="hidden" name="paypar_account_no" id="paypar_account_no" />
|
||||
<input type="hidden" name="qr_code" id="qr_code" />
|
||||
<div class="row text-center m-t-20">
|
||||
<% if !@customer_lists.nil? %>
|
||||
<% @customer_lists.each do |cus| %>
|
||||
<% if cus.customer_id != @customer.id %>
|
||||
<div class="col-lg-6 col-md-6 col-sm-6 col-xs-6">
|
||||
<button type="button" class="btn btn-lg btn-link bg-primary waves-effect btn_customer_assign" data-id='<%= cus.customer_id %>'><%= cus.name %></button>
|
||||
</div>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
</div>
|
||||
<div class="row text-center m-t-20">
|
||||
<div class="col-lg-6 col-md-6 col-sm-6 col-xs-6">
|
||||
<button type="button" class="btn btn-lg btn-link bg-primary waves-effect btn_member">Card Member</button>
|
||||
@@ -486,9 +497,9 @@ var customer_name = "<%= @customer.name %>";
|
||||
$(document).ready(function(){
|
||||
//start customer modal popup
|
||||
if((cashier_type=='quick_service') && (customer_id!=undefined) && (customer_id!=null) && (customer_id!="")){
|
||||
if((customer_id == 'CUS-000000000001') && (customer_name == 'WALK-IN')){
|
||||
// if((customer_id == 'CUS-000000000001') && (customer_name == 'WALK-IN')){
|
||||
$("#is_memberModal").modal({show : true, backdrop: false, keyboard : false});
|
||||
}
|
||||
// }
|
||||
}
|
||||
|
||||
/* start check first bill or not*/
|
||||
@@ -623,7 +634,7 @@ var customer_name = "<%= @customer.name %>";
|
||||
$("#sale_receipt_no").val(result.receipt_no);
|
||||
$("#filename").val(result.filename);
|
||||
$("#printer_name").val(result.printer_name);
|
||||
$("#receipt_pdf").attr("src", result.filename);
|
||||
$("#receipt_pdf").attr("src", result.filename.substring(6));
|
||||
$("#pdfModal").modal({show : true, backdrop : false, keyboard : false});
|
||||
$("#pdfModalLabel").text("Sale Completed");
|
||||
$("#changed_amount").text("");
|
||||
@@ -710,8 +721,12 @@ var customer_name = "<%= @customer.name %>";
|
||||
type: 'POST',
|
||||
url: ajax_url,
|
||||
data: "remark="+ remark + "&sale_id=" + sale_id,
|
||||
success: function () {
|
||||
success: function (result) {result
|
||||
customer_display_view(null,"reload");
|
||||
// For Server Print - from jade
|
||||
if ($("#server_mode").val() == "cloud") {
|
||||
code2lab.printFile(result.filepath.substr(6), result.printer_url);
|
||||
}
|
||||
if (cashier_type=="cashier") {
|
||||
window.location.href = '/origami';
|
||||
}else{
|
||||
@@ -922,6 +937,10 @@ var customer_name = "<%= @customer.name %>";
|
||||
title: "Information!",
|
||||
text: 'Thank You !',
|
||||
}, function () {
|
||||
// For Server Print - from jade
|
||||
if ($("#server_mode").val() == "cloud") {
|
||||
code2lab.printFile(result.filepath.substr(6), result.printer_url);
|
||||
}
|
||||
if (cashier_type=="cashier") {
|
||||
window.location.href = '/origami';
|
||||
}else{
|
||||
@@ -997,6 +1016,10 @@ var customer_name = "<%= @customer.name %>";
|
||||
data: params,
|
||||
success:function(result){
|
||||
console.log(result);
|
||||
// For Server Print - from jade
|
||||
if ($("#server_mode").val() == "cloud") {
|
||||
code2lab.printFile(result.filepath.substr(6), result.printer_url);
|
||||
}
|
||||
if (cashier_type=="cashier") {
|
||||
window.location.href = '/origami';
|
||||
}else{
|
||||
@@ -1130,4 +1153,11 @@ var customer_name = "<%= @customer.name %>";
|
||||
$("#sxModal .btn_cancel").on('click',function(){
|
||||
$("#sxModal").hide();
|
||||
});
|
||||
|
||||
$(".btn_customer_assign").on('click', function(){
|
||||
var customer_id = $(this).attr('data-id');
|
||||
var customer_name = $(this).text();
|
||||
var sale_id = $("#sale_id").text() || 0;
|
||||
update_sale("", customer_id, customer_name, sale_id);
|
||||
});
|
||||
</script>
|
||||
@@ -465,15 +465,15 @@
|
||||
<% end %>
|
||||
<% if current_login_employee.role != "waiter" %>
|
||||
<!-- first bill not used in cloud -->
|
||||
<% if ENV["SERVER_MODE"] == "cloud" %>
|
||||
<!--<% if ENV["SERVER_MODE"] == "cloud" %>
|
||||
<button type="button" id="first_bill" class="btn btn-block bg-blue waves-effect">First Bill</button>
|
||||
<% else %>
|
||||
<% else %>-->
|
||||
<%if @membership.discount && @obj_sale.customer.membership_id %>
|
||||
<button type="button" class="btn btn-block bg-blue waves-effect" data-toggle="modal" data-target="#paymentModal">First Bill</button>
|
||||
<%else%>
|
||||
<button type="button" id="first_bill" class="btn btn-block bg-blue waves-effect">First Bill</button>
|
||||
<%end%>
|
||||
<%end%>
|
||||
<!-- <%end%>-->
|
||||
<button type="button" id="pay" class="btn bg-blue btn-block">Pay</button>
|
||||
<% end %>
|
||||
<!-- <button type="button" id="void" class="btn bg-blue btn-block" > Void </button> -->
|
||||
@@ -489,16 +489,13 @@
|
||||
<h4 class="modal-title" id="paymentModalLabel">Choose Payment</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<select class="form-control show-tick payment_method" multiple="true" id="payment_method" >
|
||||
<option value="Cash">Cash</option>
|
||||
<option value="Credit">Credit</option>
|
||||
<button class='btn waves-effect payment_btn green' data-type='Credit' data-value='Credit'>Credit</button>
|
||||
<% @payment_methods.each do |pay| %>
|
||||
<option value="<%= pay.payment_method %>">
|
||||
<%= pay.payment_method %>
|
||||
</option>
|
||||
<%end %>
|
||||
|
||||
</select>
|
||||
<!-- <option value="<%= pay.payment_method %>">
|
||||
<%= pay.payment_method %>
|
||||
</option> -->
|
||||
<button class='btn btn-lg waves-effect payment_btn green' data-type='<%= pay.payment_method %>' data-value='<%= pay.payment_method %>'><%= pay.payment_method %></button>
|
||||
<%end %>
|
||||
</div>
|
||||
<div class="modal-footer p-r-30">
|
||||
<button type="button" class="btn btn-link btn-danger waves-effect" data-dismiss="modal">CLOSE</button>
|
||||
@@ -680,6 +677,21 @@ $(document).ready(function(){
|
||||
|
||||
});
|
||||
|
||||
// click select option icon for add
|
||||
$(document).on('click', '.payment_btn', function(event){
|
||||
active = $(this).hasClass('selected-payment');
|
||||
value = $(this).data('value');
|
||||
type = $(this).data('type');
|
||||
group = $(this).data('group');
|
||||
payments = $(".payment_btn");
|
||||
|
||||
if (active) {
|
||||
$(this).removeClass('selected-payment');
|
||||
}else{
|
||||
$(this).addClass('selected-payment');
|
||||
}
|
||||
}); //End selecct attribute buttom
|
||||
|
||||
// Print for first bill
|
||||
$("#first_bill").on('click', function(){
|
||||
var sale_id = $('#sale_id').val();
|
||||
@@ -691,7 +703,10 @@ $("#first_bill").on('click', function(){
|
||||
receipt_no = ($("#receipt_no").html()).trim();
|
||||
if((receipt_no!=undefined) && (receipt_no!=""))
|
||||
createReceiptNoInFirstBillData(receipt_no,"");
|
||||
|
||||
// For Server Print - from jade
|
||||
if ($("#server_mode").val() == "cloud") {
|
||||
code2lab.printFile(result.filepath.substr(6), result.printer_url);
|
||||
}
|
||||
location.reload();
|
||||
}
|
||||
});
|
||||
@@ -701,7 +716,9 @@ $(".choose_payment").on('click', function () {
|
||||
$( "#loading_wrapper").show();
|
||||
|
||||
var sale_id = $('#sale_id').val();
|
||||
type = $('.payment_method').val();
|
||||
type = get_selected_attributes('selected-payment');
|
||||
|
||||
// type = $('.payment_method').val();
|
||||
if(parseInt(jQuery.inArray("Credit", type)) == -1){
|
||||
if (parseInt(jQuery.inArray("MPU", type)) != -1 || parseInt(jQuery.inArray("VISA", type)) != -1 || parseInt(jQuery.inArray("JCB", type)) != -1 || parseInt(jQuery.inArray("Master", type)) != -1 || parseInt(jQuery.inArray("UNIONPAY", type)) != -1 || parseInt(jQuery.inArray("Redeem", type)) != -1) {
|
||||
calculate_member_discount(sale_id,"Card");
|
||||
@@ -719,6 +736,12 @@ $(".choose_payment").on('click', function () {
|
||||
receipt_no = ($("#receipt_no").html()).trim();
|
||||
if((receipt_no!=undefined) && (receipt_no!=""))
|
||||
createReceiptNoInFirstBillData(receipt_no,type);
|
||||
|
||||
// For Server Print - from jade
|
||||
if ($("#server_mode").val() == "cloud") {
|
||||
code2lab.printFile(result.filepath.substr(6), result.printer_url);
|
||||
}
|
||||
|
||||
location.reload();
|
||||
}
|
||||
});
|
||||
@@ -776,7 +799,7 @@ $('#request_bills').click(function() {
|
||||
//split bill process
|
||||
$('#split_bills').click(function(){
|
||||
var dining_id = "<%= @room.id %>";
|
||||
window.location.href = '/origami/room/' + dining_id + "/split_bills";
|
||||
window.location.href = '/origami/room/' + dining_id + "/" + cashier_type + "/split_bills";
|
||||
});
|
||||
|
||||
$('#move').on('click',function(){
|
||||
@@ -945,4 +968,15 @@ $('#add_invoice').on('click',function(){
|
||||
window.location.href = '/oqs/'+ assigned_order_item_id + "/edit/"+dining_id;
|
||||
}
|
||||
});
|
||||
// Get Selected Class
|
||||
function get_selected_attributes(selected_class) {
|
||||
var item_row = $('.'+selected_class);
|
||||
var attribute_arr = [];
|
||||
$(item_row).each(function(i){
|
||||
value = $(item_row[i]).attr('data-value');
|
||||
str = value;
|
||||
attribute_arr.push(str);
|
||||
});
|
||||
return attribute_arr;
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -58,7 +58,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
var type = '<%= @type %>';
|
||||
var cashier_type = '<%= @cashier_type %>';
|
||||
$('#close_cashier').on('click',function(){
|
||||
var amount = $('#closing_balance_amount').val();
|
||||
var shift_id = "<%= @shift.id rescue ""%>"
|
||||
@@ -73,7 +73,7 @@
|
||||
});
|
||||
|
||||
$('#back').on('click',function(){
|
||||
if(type!='quick_service'){
|
||||
if(cashier_type!='quick_service'){
|
||||
window.location.href = '/origami';
|
||||
}else{
|
||||
window.location.href = '/origami/quick_service';
|
||||
@@ -95,7 +95,7 @@
|
||||
closeOnCancel: false,
|
||||
allowOutsideClick: false
|
||||
}, function () {
|
||||
window.location.href = '/origami/shift/'+type+'/close';
|
||||
window.location.href = '/origami/shift/'+cashier_type+'/close';
|
||||
});
|
||||
}
|
||||
});
|
||||
@@ -120,7 +120,7 @@
|
||||
closeOnCancel: false,
|
||||
allowOutsideClick: false
|
||||
}, function () {
|
||||
window.location.href = '/origami/shift/'+type+'/close';
|
||||
window.location.href = '/origami/shift/'+cashier_type+'/close';
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -184,7 +184,7 @@
|
||||
closeOnCancel: false,
|
||||
allowOutsideClick: false
|
||||
}, function () {
|
||||
window.location.href = '/origami/shift/close';
|
||||
window.location.href = '/origami/shift/'+cashier_type+'/close';
|
||||
});
|
||||
// reqCBBankAlipaySettlement();
|
||||
}
|
||||
|
||||
@@ -333,6 +333,7 @@
|
||||
<script type="text/javascript">
|
||||
var split_sale_id = "";
|
||||
var split_receipt_no = "";
|
||||
var cashier_type = '<%= @cashier_type %>';
|
||||
$(document).ready(function(){
|
||||
$('#back').on('click',function(){
|
||||
backToOrigami();
|
||||
@@ -658,7 +659,7 @@ function orderItemSplitBillProcess(cnt_items){
|
||||
type: "POST",
|
||||
url: ajax_url,
|
||||
dataType: 'JSON',
|
||||
data: {'dining_id' : dining_id, 'type': type, 'customer_id' : customer_id, 'booking_id' : booking_id, 'order_ids' : order_ids, 'arr_order_ids': JSON.stringify(arr_order_ids), 'order_items' : JSON.stringify(order_items), 'orders' : ''},
|
||||
data: {'cashier_type':cashier_type,'dining_id' : dining_id, 'type': type, 'customer_id' : customer_id, 'booking_id' : booking_id, 'order_ids' : order_ids, 'arr_order_ids': JSON.stringify(arr_order_ids), 'order_items' : JSON.stringify(order_items), 'orders' : ''},
|
||||
success: function (result) {
|
||||
if (!result.status) {
|
||||
swal("Information!", result.error_message);
|
||||
@@ -691,7 +692,7 @@ function orderSplitBillProcess(cnt_orders){
|
||||
type: "POST",
|
||||
url: ajax_url,
|
||||
dataType: 'JSON',
|
||||
data: {'dining_id' : dining_id, 'type': type, 'customer_id' : customer_id, 'booking_id' : booking_id, 'order_ids' : [], 'order_items' : '', 'orders' : JSON.stringify(orders), 'arr_order_ids': []},
|
||||
data: {'cashier_type':cashier_type,'dining_id' : dining_id, 'type': type, 'customer_id' : customer_id, 'booking_id' : booking_id, 'order_ids' : [], 'order_items' : '', 'orders' : JSON.stringify(orders), 'arr_order_ids': []},
|
||||
success: function (result) {
|
||||
if (!result.status) {
|
||||
swal("Information!", result.error_message);
|
||||
|
||||
@@ -156,6 +156,15 @@
|
||||
<!-- Column Three -->
|
||||
<div class="col-lg-1 col-md-1 col-sm-1">
|
||||
<button id="back" type="button" class="btn btn-block btn-lg bg-default"> <i class="material-icons">reply</i> <%= t("views.btn.back") %>
|
||||
<% if ENV["SERVER_MODE"] == "cloud" %>
|
||||
<button type="button" id="first_bill" class="btn btn-block bg-blue waves-effect">First Bill</button>
|
||||
<% else %>
|
||||
<%if @membership.discount && @sale.customer.membership_id %>
|
||||
<button type="button" class="btn btn-block bg-blue waves-effect" data-toggle="modal" data-target="#paymentModal">First Bill</button>
|
||||
<%else%>
|
||||
<button type="button" id="first_bill" class="btn btn-block bg-blue waves-effect">First Bill</button>
|
||||
<%end%>
|
||||
<% end %>
|
||||
<button type="button" id="pay" class="btn bg-blue btn-block">Pay</button>
|
||||
<button type="button" class="btn bg-deep-purple btn-block" data-toggle="modal" data-target="#focModal" <%= (can? :foc, :payment)? ' ': 'disabled=' %> active="true"> FOC </button>
|
||||
<button type="button" data-toggle="modal" data-target="#voidModal" class="btn bg-danger btn-block" <%= (can? :overall_void, :void)? ' ': 'disabled=' %> > Void </button>
|
||||
@@ -163,6 +172,38 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- membership paymentmodal -->
|
||||
<input type="hidden" id="server_mode" value="<%= ENV["SERVER_MODE"] %>">
|
||||
<span class="hidden" id="member_discount"><%= @membership.discount%></span>
|
||||
<span class="hidden" id="membership_id"><%= @sale.customer.membership_id rescue 0%></span>
|
||||
<div class="modal fade" id="paymentModal" tabindex="-1" role="dialog">
|
||||
<div class="modal-dialog" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h4 class="modal-title" id="paymentModalLabel">Choose Payment</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<select class="form-control show-tick payment_method" multiple="true" id="payment_method" >
|
||||
<option value="Cash">Cash</option>
|
||||
<option value="Credit">Credit</option>
|
||||
<% @payment_methods.each do |pay| %>
|
||||
<option value="<%= pay.payment_method %>">
|
||||
<%= pay.payment_method %>
|
||||
</option>
|
||||
<%end %>
|
||||
|
||||
</select>
|
||||
</div>
|
||||
<div class="modal-footer p-r-30">
|
||||
<button type="button" class="btn btn-link btn-danger waves-effect" data-dismiss="modal">CLOSE</button>
|
||||
|
||||
<button type="button" class="btn btn-link bg-blue waves-effect choose_payment">SAVE</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- membership paymentmodal -->
|
||||
|
||||
<div class="modal fade" id="voidModal" tabindex="-1" role="dialog">
|
||||
<div class="modal-dialog" role="document">
|
||||
<div class="modal-content">
|
||||
@@ -212,6 +253,24 @@
|
||||
</div>
|
||||
<script>
|
||||
$(document).ready(function(){
|
||||
/* start check first bill or not*/
|
||||
var receipt_no = "";
|
||||
if(($("#receipt_no").html()!=undefined) && ($("#receipt_no").html()!="")){
|
||||
receipt_no = ($("#receipt_no").html()).trim();
|
||||
}
|
||||
|
||||
discount="<%= @membership.discount%>"
|
||||
if ($("#server_mode").val() != "cloud") { // first bill not used in cloud
|
||||
if (discount) {
|
||||
if(checkReceiptNoInFirstBillData(receipt_no,"")){
|
||||
$("#pay").show();
|
||||
}else{
|
||||
$("#pay").hide();
|
||||
}
|
||||
}
|
||||
}
|
||||
/* end check first bill or not*/
|
||||
|
||||
$(".tables").on('click', function(){
|
||||
var dining_id = $(this).attr("data-id");
|
||||
window.location.href = '/origami/table/<%= @table.id %>/table_invoice/' + dining_id;
|
||||
@@ -222,6 +281,68 @@ $(document).ready(function(){
|
||||
// window.location.href = '/origami/sale/<%= @sale.id %>/payment';
|
||||
// });
|
||||
|
||||
// Print for first bill
|
||||
$("#first_bill").on('click', function () {
|
||||
var sale_id = '<%= @sale.id %>';
|
||||
var ajax_url = "/origami/sale/" + sale_id + "/first_bill";
|
||||
|
||||
$.ajax({
|
||||
type: "GET",
|
||||
url: ajax_url,
|
||||
success: function (result) {
|
||||
receipt_no = ($("#receipt_no").html()).trim();
|
||||
if((receipt_no!=undefined) && (receipt_no!=""))
|
||||
createReceiptNoInFirstBillData(receipt_no,"");
|
||||
|
||||
location.reload();
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
$(".choose_payment").on('click', function () {
|
||||
$( "#loading_wrapper").show();
|
||||
|
||||
var sale_id = '<%= @sale.id %>';
|
||||
type = $('.payment_method').val();
|
||||
if(parseInt(jQuery.inArray("Credit", type)) == -1){
|
||||
if (parseInt(jQuery.inArray("MPU", type)) != -1 || parseInt(jQuery.inArray("VISA", type)) != -1 || parseInt(jQuery.inArray("JCB", type)) != -1 || parseInt(jQuery.inArray("Master", type)) != -1 || parseInt(jQuery.inArray("UNIONPAY", type)) != -1 || parseInt(jQuery.inArray("Redeem", type)) != -1) {
|
||||
calculate_member_discount(sale_id,"Card");
|
||||
|
||||
}else{
|
||||
calculate_member_discount(sale_id,"Cash");
|
||||
}
|
||||
}
|
||||
var ajax_url = "/origami/sale/" + sale_id + "/first_bill";
|
||||
$.ajax({
|
||||
type: "GET",
|
||||
url: ajax_url,
|
||||
success: function (result) {
|
||||
$( "#loading_wrapper" ).hide();
|
||||
receipt_no = ($("#receipt_no").html()).trim();
|
||||
if((receipt_no!=undefined) && (receipt_no!=""))
|
||||
createReceiptNoInFirstBillData(receipt_no,type);
|
||||
location.reload();
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
function calculate_member_discount(sale_id,type) {
|
||||
var sub_total = $('#sub-total').text();
|
||||
if (type == "Cash") {
|
||||
is_card = false
|
||||
}else{
|
||||
is_card = true
|
||||
}
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "/origami/" + sale_id + "/member_discount",
|
||||
data: {'sale_id':sale_id, 'sub_total':sub_total,'is_card':is_card },
|
||||
async: false,
|
||||
success:function(result){
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
$('#pay').on('click',function() {
|
||||
var sale_id = '<%= @sale.id %>';
|
||||
|
||||
|
||||
@@ -58,14 +58,14 @@
|
||||
<% total_qty = 0 %>
|
||||
|
||||
<% @sale_data.each do |sale| %>
|
||||
<% grand_total += sale.grand_total %>
|
||||
<% if sale.status_type != "Discount" && sale.status_type != "foc"
|
||||
total_qty += sale.total_item
|
||||
end %>
|
||||
<% if sale.status_type == "foc" && sale.price > 0
|
||||
total_qty += sale.total_item
|
||||
end %>
|
||||
|
||||
<% grand_total += sale.grand_total %>
|
||||
<% if sale.status_type != "Discount" && sale.status_type != "foc"
|
||||
total_qty += sale.total_item
|
||||
end %>
|
||||
<% if sale.status_type == "foc" && sale.price > 0
|
||||
total_qty += sale.total_item
|
||||
end %>
|
||||
<% if !sale.status_type %>
|
||||
<tr>
|
||||
<td> </td>
|
||||
<% if !cate_arr.include?(sale.menu_category_id) %>
|
||||
@@ -81,8 +81,9 @@
|
||||
<td><%= number_with_precision(sale.unit_price , precision:precision.to_i,delimiter:delimiter) rescue '-'%></td>
|
||||
<td><%= number_with_precision(sale.grand_total , precision:precision.to_i,delimiter:delimiter) rescue '-' %></td>
|
||||
</tr>
|
||||
<!-- sub total -->
|
||||
<!-- end sub total -->
|
||||
<!-- sub total -->
|
||||
<!-- end sub total -->
|
||||
<% end %>
|
||||
<% end %>
|
||||
<tr>
|
||||
<td colspan="3"></td>
|
||||
|
||||
@@ -23,31 +23,40 @@
|
||||
<% total_qty = 0 %>
|
||||
|
||||
<% @sale_data.each do |sale| %>
|
||||
<% grand_total += sale.grand_total %>
|
||||
<% if sale.status_type != "Discount" && sale.status_type != "foc"
|
||||
total_qty += sale.total_item
|
||||
grand_total += sale.grand_total
|
||||
end %>
|
||||
<% if sale.status_type == "foc" && sale.price > 0
|
||||
total_qty += sale.total_item
|
||||
grand_total += sale.grand_total
|
||||
end %>
|
||||
|
||||
<tr>
|
||||
<td> </td>
|
||||
<td><%= sale.menu_category_name %></td>
|
||||
<td><%= sale.item_code rescue '-' %></td>
|
||||
<td><%= sale.product_name rescue '-' %></td>
|
||||
<td><%= sale.total_item rescue '-' %></td>
|
||||
<td><%= sale.unit_price rescue '-' %></td>
|
||||
<td><%= sale.grand_total rescue '-' %></td>
|
||||
</tr>
|
||||
<% if !sale.status_type %>
|
||||
<tr>
|
||||
<td> </td>
|
||||
<% if !cate_arr.include?(sale.menu_category_id) %>
|
||||
<td><%= sale.menu_category_name %></td>
|
||||
<% cate_arr.push(sale.menu_category_id) %>
|
||||
<% else %>
|
||||
<% cate_arr = Array.new %>
|
||||
<td> </td>
|
||||
<% end %>
|
||||
<td><%= sale.item_code rescue '-' %></td>
|
||||
<td><%= sale.product_name rescue '-' %></td>
|
||||
<td><%= sale.total_item rescue ' ' %></td>
|
||||
<td><%= sale.unit_price rescue ' ' %></td>
|
||||
<td><%= sale.grand_total rescue ' ' %></td>
|
||||
</tr>
|
||||
<!-- sub total -->
|
||||
<!-- end sub total -->
|
||||
<% end %>
|
||||
<% end %>
|
||||
<tr>
|
||||
<td colspan="3"></td>
|
||||
<td><strong>Total</strong></td>
|
||||
<td><strong><%= total_qty %></strong></td>
|
||||
<td><strong><%= total_qty rescue ' ' %></strong></td>
|
||||
<td></td>
|
||||
<td><strong><%= grand_total rescue '-' %></strong></td>
|
||||
<td><strong><%= grand_total rescue ' ' %></strong></td>
|
||||
</tr>
|
||||
<% end %>
|
||||
</tbody>
|
||||
|
||||
@@ -18,13 +18,25 @@
|
||||
<option value="9">Last year</option>
|
||||
</select>
|
||||
</div>
|
||||
<!-- <input type="hidden" name="report_type" value="sale_item" id="sel_sale_type"> -->
|
||||
<div class="col-lg-3 col-md-3 col-sm-3">
|
||||
<!-- <input type="hidden" name="report_type" value="sale_item" id="sel_sale_type"> -->
|
||||
<div class="col-lg-2 col-md-2 col-sm-2">
|
||||
<label class="font-14">Select Type</label>
|
||||
<select name="sale_type" id="sel_sale_type" class="form-control">
|
||||
<option value="">Select Type</option>
|
||||
<option value="revenue" selected>Revenue Only</option>
|
||||
<option value="all">All Type</option>
|
||||
<option value="discount">Discount Only</option>
|
||||
<option value="void">Void Only</option>
|
||||
<option value="foc">Foc Only</option>
|
||||
<option value="other">Other Amount Only</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-lg-2 col-md-2 col-sm-2">
|
||||
<!-- <label class="">Select Shift Period</label> -->
|
||||
<label class="font-14"><%= t("views.right_panel.detail.from") %></label>
|
||||
<input data-behaviour='datepicker' class="form-control m-t-3 datepicker" name="from" id="from" type="text" placeholder="From date" style="height: 32px;">
|
||||
</div>
|
||||
<div class="col-lg-3 col-md-3 col-sm-3">
|
||||
<div class="col-lg-2 col-md-2 col-sm-2">
|
||||
<label class="font-14"><%= t("views.right_panel.detail.to") %></label>
|
||||
<input data-behaviour='datepicker' class="form-control m-t-3 datepicker" name="to" id="to" type="text" placeholder="To date" style="height: 32px;">
|
||||
</div>
|
||||
@@ -52,7 +64,7 @@
|
||||
$('#frm_report').attr('action',url)
|
||||
$('#frm_report').submit();
|
||||
// window.location = url;
|
||||
});
|
||||
});
|
||||
|
||||
var item = $('#item').val();
|
||||
var payment_type = $('#payment_type');
|
||||
@@ -76,17 +88,18 @@
|
||||
});
|
||||
|
||||
<% if params[:shift_name].to_i > 0%>
|
||||
shift_id = '<%= params[:shift_name] %>'
|
||||
local_date = '<%= @shift_from %> - <%= @shift_to %> '
|
||||
var shift = $('#shift_name');
|
||||
str = '<option value="'+ shift_id +'" '+ 'selected = "selected"' +'>' + local_date + '</option>';
|
||||
shift.append(str);
|
||||
shift_id = '<%= params[:shift_name] %>'
|
||||
local_date = '<%= @shift_from %> - <%= @shift_to %> '
|
||||
var shift = $('#shift_name');
|
||||
str = '<option value="'+ shift_id +'" '+ 'selected = "selected"' +'>' + local_date + '</option>';
|
||||
shift.append(str);
|
||||
<% end %>
|
||||
|
||||
$("#from").val("<%=params[:from] rescue '-'%>");
|
||||
$("#to").val("<%=params[:to] rescue '-'%>");
|
||||
$("#sel_period").val(<%=params[:period] rescue '-'%>);
|
||||
$("#sel_sale_type").val(<%=params[:sale_type] rescue '-'%>);
|
||||
var sale_type = "<%=params[:sale_type]%>";
|
||||
$("#sel_sale_type").val(sale_type);
|
||||
|
||||
|
||||
<% if params[:period_type] == 1 || params[:period_type] == "1" %>
|
||||
|
||||
@@ -57,8 +57,7 @@
|
||||
delimiter = ""
|
||||
end
|
||||
%>
|
||||
<% unless @sale_data.blank? %>
|
||||
<% acc_arr = Array.new %>
|
||||
<% acc_arr = Array.new %>
|
||||
<% cate_arr = Array.new %>
|
||||
|
||||
<% sub_qty = 0 %>
|
||||
@@ -75,24 +74,29 @@
|
||||
<% total_item_foc = 0 %>
|
||||
<% total_item_dis = 0.0 %>
|
||||
<% total_tax = 0 %>
|
||||
|
||||
<% unless @sale_data.blank? %>
|
||||
<% @sale_data.each do |sale| %>
|
||||
<!-- all total qty sum -->
|
||||
|
||||
<% if sale.status_type != "Discount" && sale.status_type != "foc"
|
||||
total_qty += sale.total_item
|
||||
end %>
|
||||
<% if sale.status_type == "foc" && sale.price > 0
|
||||
total_qty += sale.total_item
|
||||
end %>
|
||||
<% if sale.status_type == "Discount"
|
||||
total_qty += sale.total_item*(-1)
|
||||
end %>
|
||||
<!-- end all total qty -->
|
||||
<% if sale.status_type == "foc" && sale.grand_total < 0
|
||||
|
||||
<% if sale.status_type == "foc" && sale.grand_total < 0
|
||||
total_item_foc += sale.grand_total*(-1)
|
||||
end %>
|
||||
|
||||
<% if sale.status_type == "Discount" && sale.grand_total < 0
|
||||
total_item_dis += sale.grand_total*(-1)
|
||||
end %>
|
||||
|
||||
|
||||
<% if !acc_arr.include?(sale.account_id) %>
|
||||
<tr>
|
||||
<td><b><%= sale.account_name %></b></td>
|
||||
@@ -119,7 +123,12 @@
|
||||
<% end %>
|
||||
<td><%= sale.item_code rescue '-' %></td>
|
||||
<td><%= sale.product_name rescue '-' %></td>
|
||||
<td><%= sale.total_item rescue '-' %></td>
|
||||
<% if sale.status_type != "Discount" %>
|
||||
<td><%= sale.total_item rescue '-' %></td>
|
||||
<%else%>
|
||||
<td><%= sale.total_item*(-1) rescue '-' %></td>
|
||||
<% end %>
|
||||
|
||||
<td><%= number_with_precision(sale.unit_price , precision:precision.to_i,delimiter:delimiter) rescue '-'%></td>
|
||||
<td><%= number_with_precision(sale.grand_total , precision:precision.to_i,delimiter:delimiter) rescue '-'%></td>
|
||||
</tr>
|
||||
@@ -130,10 +139,12 @@
|
||||
<% count = count + 1 %>
|
||||
<% sub_total += sale.grand_total %>
|
||||
<% #sub_qty += sale.total_item %>
|
||||
<% if sale.status_type!="Discount" && (!sale.product_name.include? "FOC")
|
||||
<% if sale.status_type !="Discount" && (!sale.product_name.include? "FOC")
|
||||
sub_qty += sale.total_item
|
||||
end %>
|
||||
|
||||
<% if sale.status_type =="Discount"
|
||||
sub_qty += sale.total_item*(-1)
|
||||
end %>
|
||||
<% if count == value %>
|
||||
<tr>
|
||||
<td colspan="3"> </td>
|
||||
@@ -151,7 +162,8 @@
|
||||
<!-- end sub total -->
|
||||
<% end %>
|
||||
<!--Other Charges -->
|
||||
<% if @other_charges.present? %>
|
||||
<% if @type == "other"%>
|
||||
|
||||
<tr>
|
||||
<td><b>Other Charges</b></td>
|
||||
<td colspan="4"> </td>
|
||||
@@ -191,55 +203,38 @@
|
||||
<td style="border-bottom:2px solid grey;"><span><%= number_with_precision(grand_total , precision:precision.to_i,delimiter:delimiter)%></span></td>
|
||||
</tr>
|
||||
<% end %>
|
||||
|
||||
<tr>
|
||||
<td colspan="5"> </td>
|
||||
<td><%= t("views.right_panel.detail.foc_item") %> <%= t("views.right_panel.detail.amount") %></td>
|
||||
<td><span><%= number_with_precision(total_item_foc , precision:precision.to_i,delimiter:delimiter) %></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="5"> </td>
|
||||
<td style="border-bottom:2px solid grey;"><%= t("views.right_panel.detail.item_discount") %> <%= t("views.right_panel.detail.amount") %></td>
|
||||
<td style="border-bottom:2px solid grey;"><span><%= number_with_precision(total_item_dis , precision:precision.to_i,delimiter:delimiter) %></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="5"> </td>
|
||||
<td><%= t("views.right_panel.detail.foc_sales") %></td>
|
||||
<td>
|
||||
<span><%= number_with_precision(@foc_data, precision:precision.to_i, delimiter:delimiter) %></span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="5"> </td>
|
||||
<td style="border-bottom:2px solid grey;"><%= t("views.right_panel.detail.discount") %> <%= t("views.right_panel.detail.amount") %></td>
|
||||
<td style="border-bottom:2px solid grey;">
|
||||
<span>
|
||||
<%= number_with_precision(@discount_data , precision: precision.to_i,delimiter: delimiter) %>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<% if @type == "other"%>
|
||||
|
||||
<% @sale_taxes.each do |tax| %>
|
||||
<!-- <tr>
|
||||
<td colspan="5"> </td>
|
||||
<td><%= tax.tax_name %></td>
|
||||
<td><%= tax.st_amount.round(2) %>
|
||||
<%total_tax += tax.st_amount%>
|
||||
</td>
|
||||
</tr> -->
|
||||
<% end %>
|
||||
<tr>
|
||||
<td colspan="5"> </td>
|
||||
<td style="border-top:2px solid grey;">Net Amount</td>
|
||||
<!-- <td><span class="double_underline"><%= grand_total.to_f - @discount_data.to_f%></span></td> -->
|
||||
<td style="border-top:2px solid grey;"><%= number_with_precision(grand_total.to_f - @discount_data.to_f , precision:precision.to_i,delimiter:delimiter)%></td>
|
||||
</tr>
|
||||
<!-- <tr>
|
||||
<td colspan="5"> </td>
|
||||
<td>Grand Total</td>
|
||||
|
||||
<td><span class="double_underline"><%= @grand_total - @change_amount%></span></td>
|
||||
</tr> -->
|
||||
<tr>
|
||||
<td><b>Other Charges</b></td>
|
||||
<td colspan="4"> </td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<% @other_charges.each do |other| %>
|
||||
<% if other.total_item > 0
|
||||
total_qty += other.total_item
|
||||
end %>
|
||||
<% grand_total +=other.grand_total%>
|
||||
<tr>
|
||||
<td> </td>
|
||||
<td>Other Charges</td>
|
||||
<td><%= other.item_code rescue '-' %></td>
|
||||
<td><%= other.product_name rescue '-' %></td>
|
||||
<td><%= other.total_item rescue '-' %></td>
|
||||
<td> <%= number_with_precision(other.unit_price , precision:precision.to_i,delimiter:delimiter) rescue '-'%></td>
|
||||
<td> <%= number_with_precision(other.grand_total , precision:precision.to_i,delimiter:delimiter) rescue '-'%></td>
|
||||
</tr>
|
||||
<!-- sub total -->
|
||||
|
||||
<% other_sub_total += other.grand_total %>
|
||||
<!-- end sub total -->
|
||||
<% end %>
|
||||
<tr>
|
||||
<td colspan="5"> </td>
|
||||
<td><%= t("views.right_panel.detail.sub_total") %></td>
|
||||
<td ><span><%= number_with_precision(other_sub_total , precision:precision.to_i,delimiter:delimiter)%></span></td>
|
||||
</tr>
|
||||
<%end%>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
@@ -27,10 +27,22 @@
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<% unless @sale_data.blank? %>
|
||||
<% acc_arr = Array.new %>
|
||||
<% if @print_settings.precision.to_i > 0
|
||||
precision = @print_settings.precision
|
||||
else
|
||||
precision = 0
|
||||
end
|
||||
#check delimiter
|
||||
if @print_settings.delimiter
|
||||
delimiter = ","
|
||||
else
|
||||
delimiter = ""
|
||||
end
|
||||
%>
|
||||
<% acc_arr = Array.new %>
|
||||
<% cate_arr = Array.new %>
|
||||
|
||||
<% sub_qty = 0 %>
|
||||
<% sub_total = 0 %>
|
||||
<% other_sub_total = 0 %>
|
||||
<% count = 0 %>
|
||||
@@ -42,14 +54,29 @@
|
||||
<% total_amount = 0 %>
|
||||
<% discount = 0 %>
|
||||
<% total_item_foc = 0 %>
|
||||
<% total_item_dis = 0 %>
|
||||
|
||||
<% total_item_dis = 0.0 %>
|
||||
<% total_tax = 0 %>
|
||||
<% unless @sale_data.blank? %>
|
||||
<% @sale_data.each do |sale| %>
|
||||
|
||||
<% if sale.total_item > 0
|
||||
<!-- all total qty sum -->
|
||||
<!--
|
||||
<% if sale.status_type != "Discount" && sale.status_type != "foc"
|
||||
total_qty += sale.total_item
|
||||
end %>
|
||||
<% if sale.status_type == "foc" && sale.price > 0
|
||||
total_qty += sale.total_item
|
||||
end %>
|
||||
-->
|
||||
<!-- end all total qty -->
|
||||
<!--
|
||||
<% if sale.status_type == "foc" && sale.grand_total < 0
|
||||
total_item_foc += sale.grand_total*(-1)
|
||||
end %>
|
||||
|
||||
<% if sale.status_type == "Discount" && sale.grand_total < 0
|
||||
total_item_dis += sale.grand_total*(-1)
|
||||
end %>
|
||||
-->
|
||||
<% if !acc_arr.include?(sale.account_id) %>
|
||||
<tr>
|
||||
<td><b><%= sale.account_name %></b></td>
|
||||
@@ -58,7 +85,7 @@
|
||||
<td>
|
||||
<% @totalByAccount.each do |account, total| %>
|
||||
<% if sale.account_id == account %>
|
||||
<b><%= total %></b>
|
||||
<b><%= number_with_precision(total, precision:precision.to_i,delimiter:delimiter) %></b>
|
||||
<% grand_total += total %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
@@ -77,95 +104,110 @@
|
||||
<td><%= sale.item_code rescue '-' %></td>
|
||||
<td><%= sale.product_name rescue '-' %></td>
|
||||
<td><%= sale.total_item rescue '-' %></td>
|
||||
<td><%= sale.unit_price rescue '-' %></td>
|
||||
<td><%= sale.grand_total rescue '-' %></td>
|
||||
<td><%= number_with_precision(sale.unit_price , precision:precision.to_i,delimiter:delimiter) rescue '-'%></td>
|
||||
<td><%= number_with_precision(sale.grand_total , precision:precision.to_i,delimiter:delimiter) rescue '-'%></td>
|
||||
</tr>
|
||||
<!-- sub total -->
|
||||
<% @menu_cate_count.each do |key,value| %>
|
||||
<% if sale.menu_category_id == key %>
|
||||
|
||||
<% @menu_cate_count.each do |key,value| %>
|
||||
<% if sale.account_id == key %>
|
||||
<% count = count + 1 %>
|
||||
<% sub_total += sale.grand_total %>
|
||||
<% #sub_qty += sale.total_item %>
|
||||
<% if sale.status_type!="Discount" && (!sale.product_name.include? "FOC")
|
||||
sub_qty += sale.total_item
|
||||
end %>
|
||||
|
||||
<% if count == value %>
|
||||
<tr>
|
||||
<td colspan="5"> </td>
|
||||
<td colspan="3"> </td>
|
||||
<td><b>Total <%= sale.account_name %> Qty </b> </td>
|
||||
<td><b><%= sub_qty %></b></td>
|
||||
<td><%= t("views.right_panel.detail.sub_total") %></td>
|
||||
<td ><span class="underline"><%= sub_total %></span></td>
|
||||
<td ><span class="underline"><%= number_with_precision(sub_total , precision:precision.to_i,delimiter:delimiter)%> </span></td>
|
||||
</tr>
|
||||
<% if sale.status_type === "foc"
|
||||
total_item_foc += sale.grand_total
|
||||
end %>
|
||||
|
||||
<% if sale.status_type === "Discount"
|
||||
total_item_dis += sale.grand_total
|
||||
end %>
|
||||
<% sub_total = 0.0%>
|
||||
<% sub_qty = 0 %>
|
||||
<% count = 0%>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<!-- end sub total -->
|
||||
<% end %>
|
||||
<% end %>
|
||||
<!--Other Charges -->
|
||||
<tr>
|
||||
<td><b>Other Charges</b></td>
|
||||
<td colspan="4"> </td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<% @other_charges.each do |other| %>
|
||||
<% if other.total_item > 0
|
||||
total_qty += other.total_item
|
||||
end %>
|
||||
<% grand_total +=other.grand_total%>
|
||||
<tr>
|
||||
<td> </td>
|
||||
<td>Other Charges</td>
|
||||
<td><%= other.item_code rescue '-' %></td>
|
||||
<td><%= other.product_name rescue '-' %></td>
|
||||
<td><%= other.total_item rescue '-' %></td>
|
||||
<td><%= other.unit_price rescue '-' %></td>
|
||||
<td><%= other.grand_total rescue '-' %></td>
|
||||
<% if @type == "other"%>
|
||||
|
||||
<tr>
|
||||
<td><b>Other Charges</b></td>
|
||||
<td colspan="4"> </td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<!-- sub total -->
|
||||
|
||||
<% other_sub_total += other.grand_total %>
|
||||
<!-- end sub total -->
|
||||
<% end %>
|
||||
<tr>
|
||||
<td colspan="5"> </td>
|
||||
<td><%= t("views.right_panel.detail.sub_total") %></td>
|
||||
<td ><span class="underline"><%= other_sub_total %></span></td>
|
||||
</tr>
|
||||
<% @other_charges.each do |other| %>
|
||||
<% if other.total_item > 0
|
||||
total_qty += other.total_item
|
||||
end %>
|
||||
<% grand_total +=other.grand_total%>
|
||||
<tr>
|
||||
<td> </td>
|
||||
<td>Other Charges</td>
|
||||
<td><%= other.item_code rescue '-' %></td>
|
||||
<td><%= other.product_name rescue '-' %></td>
|
||||
<td><%= other.total_item rescue '-' %></td>
|
||||
<td> <%= number_with_precision(other.unit_price , precision:precision.to_i,delimiter:delimiter) rescue '-'%></td>
|
||||
<td> <%= number_with_precision(other.grand_total , precision:precision.to_i,delimiter:delimiter) rescue '-'%></td>
|
||||
</tr>
|
||||
<!-- sub total -->
|
||||
|
||||
<% other_sub_total += other.grand_total %>
|
||||
<!-- end sub total -->
|
||||
<% end %>
|
||||
<tr>
|
||||
<td colspan="5"> </td>
|
||||
<td><%= t("views.right_panel.detail.sub_total") %></td>
|
||||
<td ><span><%= number_with_precision(other_sub_total , precision:precision.to_i,delimiter:delimiter)%></span></td>
|
||||
</tr>
|
||||
<%end%>
|
||||
<!-- End Other Charges -->
|
||||
<tr style="border-top:2px solid grey;">
|
||||
<td colspan="3"> </td>
|
||||
<td><%= t("views.right_panel.detail.total") %> <%= t("views.right_panel.detail.item") %></td>
|
||||
<td><span><%= total_qty%></span></td>
|
||||
<td><%= t("views.right_panel.detail.net_amount") %></td>
|
||||
<td><span><%= grand_total%></span></td>
|
||||
<td style="border-bottom:2px solid grey;"><%= t("views.right_panel.detail.total") %> <%= t("views.right_panel.detail.amount") %></td>
|
||||
<td style="border-bottom:2px solid grey;"><span><%= number_with_precision(grand_total , precision:precision.to_i,delimiter:delimiter)%></span></td>
|
||||
</tr>
|
||||
<% end %>
|
||||
|
||||
<tr>
|
||||
<td colspan="5"> </td>
|
||||
<td><%= t("views.right_panel.detail.foc_item") %> <%= t("views.right_panel.detail.amount") %></td>
|
||||
<td><span><%= total_item_foc %></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="5"> </td>
|
||||
<td><%= t("views.right_panel.detail.item_discount") %> <%= t("views.right_panel.detail.amount") %></td>
|
||||
<td><span><%= total_item_dis %></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="5"> </td>
|
||||
<td><%= t("views.right_panel.detail.foc_sales") %></td>
|
||||
<td><span><%= @foc_data %></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="5"> </td>
|
||||
<td><%= t("views.right_panel.detail.discount") %> <%= t("views.right_panel.detail.amount") %></td>
|
||||
<td><span><%= @discount_data %></span></td>
|
||||
</tr>
|
||||
<% if @type == "other"%>
|
||||
|
||||
<tr>
|
||||
<td><b>Other Charges</b></td>
|
||||
<td colspan="4"> </td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<% @other_charges.each do |other| %>
|
||||
<% if other.total_item > 0
|
||||
total_qty += other.total_item
|
||||
end %>
|
||||
<% grand_total +=other.grand_total%>
|
||||
<tr>
|
||||
<td> </td>
|
||||
<td>Other Charges</td>
|
||||
<td><%= other.item_code rescue '-' %></td>
|
||||
<td><%= other.product_name rescue '-' %></td>
|
||||
<td><%= other.total_item rescue '-' %></td>
|
||||
<td> <%= number_with_precision(other.unit_price , precision:precision.to_i,delimiter:delimiter) rescue '-'%></td>
|
||||
<td> <%= number_with_precision(other.grand_total , precision:precision.to_i,delimiter:delimiter) rescue '-'%></td>
|
||||
</tr>
|
||||
<!-- sub total -->
|
||||
|
||||
<% other_sub_total += other.grand_total %>
|
||||
<!-- end sub total -->
|
||||
<% end %>
|
||||
<tr>
|
||||
<td colspan="5"> </td>
|
||||
<td><%= t("views.right_panel.detail.sub_total") %></td>
|
||||
<td ><span><%= number_with_precision(other_sub_total , precision:precision.to_i,delimiter:delimiter)%></span></td>
|
||||
</tr>
|
||||
<%end%>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
366
app/views/reports/saleitem/indexbackup.html.erb
Normal file
366
app/views/reports/saleitem/indexbackup.html.erb
Normal file
@@ -0,0 +1,366 @@
|
||||
<div class="page-header">
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item"><a href="<%= dashboard_path %>"><%= t("views.right_panel.button.home") %></a></li>
|
||||
<li class="breadcrumb-item active"><%= t("views.right_panel.detail.sale_item_report") %></li>
|
||||
<span class="float-right">
|
||||
<%= link_to 'Back', dashboard_path %>
|
||||
</span>
|
||||
</ol>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<%= render :partial=>'shift_sale_report_filter',
|
||||
:locals=>{ :period_type => true, :shift_name => true, :report_path =>reports_saleitem_index_path} %>
|
||||
|
||||
<hr />
|
||||
|
||||
<div class="text-right">
|
||||
<a href="javascript:export_to('<%=reports_saleitem_index_path%>.xls')" class = "btn btn-info wave-effects "><%= t("views.btn.exp_to_excel") %></a>
|
||||
</div>
|
||||
|
||||
<div class="margin-top-20">
|
||||
<div class="card">
|
||||
<div class="table-responsive">
|
||||
<table class="table table-striped" id="items_table" border="0">
|
||||
<thead>
|
||||
<tr>
|
||||
<th colspan="7"> <%= t("views.right_panel.detail.from_date") %> : <%= @from.utc.getlocal.strftime("%Y-%b-%d") rescue '-' %> - <%= t("views.right_panel.detail.to_date") %> : <%= @to.utc.getlocal.strftime("%Y-%b-%d") rescue '-'%></th>
|
||||
</tr>
|
||||
<% if @shift_from %>
|
||||
<tr>
|
||||
<% if @shift_data.employee %>
|
||||
<% cashier_name = !@shift_data.nil? ? @shift_data.employee.name : '-' %>
|
||||
<% end %>
|
||||
<th colspan="7"> <%= t("views.right_panel.detail.shift_name") %> = <%= @shift_from %> - <%= @shift_to %> ( <%= cashier_name %> )</th>
|
||||
</tr>
|
||||
<% end %>
|
||||
<tr>
|
||||
<th> </th>
|
||||
<th><%= t("views.right_panel.header.menu_category") %></th>
|
||||
<th><%= t("views.right_panel.detail.code") %></th>
|
||||
<th><%= t("views.right_panel.detail.product") %></th>
|
||||
<th><%= t("views.right_panel.detail.total") %> <%= t("views.right_panel.detail.item") %></th>
|
||||
<th><%= t("views.right_panel.detail.unit_price") %></th>
|
||||
<th><%= t("views.right_panel.detail.revenue") %></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<% if @print_settings.precision.to_i > 0
|
||||
precision = @print_settings.precision
|
||||
else
|
||||
precision = 0
|
||||
end
|
||||
#check delimiter
|
||||
if @print_settings.delimiter
|
||||
delimiter = ","
|
||||
else
|
||||
delimiter = ""
|
||||
end
|
||||
%>
|
||||
<% unless @sale_data.blank? %>
|
||||
<% acc_arr = Array.new %>
|
||||
<% cate_arr = Array.new %>
|
||||
|
||||
<% sub_qty = 0 %>
|
||||
<% sub_total = 0 %>
|
||||
<% other_sub_total = 0 %>
|
||||
<% count = 0 %>
|
||||
<% total_price = 0 %>
|
||||
<% cate_count = 0 %>
|
||||
<% acc_count = 0 %>
|
||||
<% grand_total = 0 %>
|
||||
<% total_qty = 0 %>
|
||||
<% total_amount = 0 %>
|
||||
<% discount = 0 %>
|
||||
<% total_item_foc = 0 %>
|
||||
<% total_item_dis = 0.0 %>
|
||||
<% total_tax = 0 %>
|
||||
|
||||
<% @sale_data.each do |sale| %>
|
||||
<!-- all total qty sum -->
|
||||
<% if sale.status_type != "Discount" && sale.status_type != "foc"
|
||||
total_qty += sale.total_item
|
||||
end %>
|
||||
<% if sale.status_type == "foc" && sale.price > 0
|
||||
total_qty += sale.total_item
|
||||
end %>
|
||||
<!-- end all total qty -->
|
||||
<% if sale.status_type == "foc" && sale.grand_total < 0
|
||||
total_item_foc += sale.grand_total*(-1)
|
||||
end %>
|
||||
|
||||
<% if sale.status_type == "Discount" && sale.grand_total < 0
|
||||
total_item_dis += sale.grand_total*(-1)
|
||||
end %>
|
||||
|
||||
<% if !acc_arr.include?(sale.account_id) %>
|
||||
<tr>
|
||||
<td><b><%= sale.account_name %></b></td>
|
||||
<td colspan="4"> </td>
|
||||
<td><%= t("views.right_panel.detail.total_price_by") %> <%= sale.account_name %></td>
|
||||
<td>
|
||||
<% @totalByAccount.each do |account, total| %>
|
||||
<% if sale.account_id == account %>
|
||||
<b><%= number_with_precision(total, precision:precision.to_i,delimiter:delimiter) %></b>
|
||||
<% grand_total += total %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
</td>
|
||||
</tr>
|
||||
<% acc_arr.push(sale.account_id) %>
|
||||
<% end %>
|
||||
<tr>
|
||||
<td> </td>
|
||||
<% if !cate_arr.include?(sale.menu_category_id) %>
|
||||
<td><%= sale.menu_category_name %></td>
|
||||
<% cate_arr.push(sale.menu_category_id) %>
|
||||
<% else %>
|
||||
<td> </td>
|
||||
<% end %>
|
||||
<td><%= sale.item_code rescue '-' %></td>
|
||||
<td><%= sale.product_name rescue '-' %></td>
|
||||
<td><%= sale.total_item rescue '-' %></td>
|
||||
<td><%= number_with_precision(sale.unit_price , precision:precision.to_i,delimiter:delimiter) rescue '-'%></td>
|
||||
<td><%= number_with_precision(sale.grand_total , precision:precision.to_i,delimiter:delimiter) rescue '-'%></td>
|
||||
</tr>
|
||||
<!-- sub total -->
|
||||
|
||||
<% @menu_cate_count.each do |key,value| %>
|
||||
<% if sale.account_id == key %>
|
||||
<% count = count + 1 %>
|
||||
<% sub_total += sale.grand_total %>
|
||||
<% #sub_qty += sale.total_item %>
|
||||
<% if sale.status_type!="Discount" && (!sale.product_name.include? "FOC")
|
||||
sub_qty += sale.total_item
|
||||
end %>
|
||||
|
||||
<% if count == value %>
|
||||
<tr>
|
||||
<td colspan="3"> </td>
|
||||
<td><b>Total <%= sale.account_name %> Qty </b> </td>
|
||||
<td><b><%= sub_qty %></b></td>
|
||||
<td><%= t("views.right_panel.detail.sub_total") %></td>
|
||||
<td ><span class="underline"><%= number_with_precision(sub_total , precision:precision.to_i,delimiter:delimiter)%> </span></td>
|
||||
</tr>
|
||||
<% sub_total = 0.0%>
|
||||
<% sub_qty = 0 %>
|
||||
<% count = 0%>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<!-- end sub total -->
|
||||
<% end %>
|
||||
<!--Other Charges -->
|
||||
<% if @other_charges.present? %>
|
||||
<tr>
|
||||
<td><b>Other Charges</b></td>
|
||||
<td colspan="4"> </td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<% @other_charges.each do |other| %>
|
||||
<% if other.total_item > 0
|
||||
total_qty += other.total_item
|
||||
end %>
|
||||
<% grand_total +=other.grand_total%>
|
||||
<tr>
|
||||
<td> </td>
|
||||
<td>Other Charges</td>
|
||||
<td><%= other.item_code rescue '-' %></td>
|
||||
<td><%= other.product_name rescue '-' %></td>
|
||||
<td><%= other.total_item rescue '-' %></td>
|
||||
<td> <%= number_with_precision(other.unit_price , precision:precision.to_i,delimiter:delimiter) rescue '-'%></td>
|
||||
<td> <%= number_with_precision(other.grand_total , precision:precision.to_i,delimiter:delimiter) rescue '-'%></td>
|
||||
</tr>
|
||||
<!-- sub total -->
|
||||
|
||||
<% other_sub_total += other.grand_total %>
|
||||
<!-- end sub total -->
|
||||
<% end %>
|
||||
<tr>
|
||||
<td colspan="5"> </td>
|
||||
<td><%= t("views.right_panel.detail.sub_total") %></td>
|
||||
<td ><span><%= number_with_precision(other_sub_total , precision:precision.to_i,delimiter:delimiter)%></span></td>
|
||||
</tr>
|
||||
<%end%>
|
||||
<!-- End Other Charges -->
|
||||
<tr style="border-top:2px solid grey;">
|
||||
<td colspan="3"> </td>
|
||||
<td><%= t("views.right_panel.detail.total") %> <%= t("views.right_panel.detail.item") %></td>
|
||||
<td><span><%= total_qty%></span></td>
|
||||
<td style="border-bottom:2px solid grey;"><%= t("views.right_panel.detail.total") %> <%= t("views.right_panel.detail.amount") %></td>
|
||||
<td style="border-bottom:2px solid grey;"><span><%= number_with_precision(grand_total , precision:precision.to_i,delimiter:delimiter)%></span></td>
|
||||
</tr>
|
||||
<% end %>
|
||||
|
||||
<tr>
|
||||
<td colspan="5"> </td>
|
||||
<td><%= t("views.right_panel.detail.foc_item") %> <%= t("views.right_panel.detail.amount") %></td>
|
||||
<td><span><%= number_with_precision(total_item_foc , precision:precision.to_i,delimiter:delimiter) %></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="5"> </td>
|
||||
<td style="border-bottom:2px solid grey;"><%= t("views.right_panel.detail.item_discount") %> <%= t("views.right_panel.detail.amount") %></td>
|
||||
<td style="border-bottom:2px solid grey;"><span><%= number_with_precision(total_item_dis , precision:precision.to_i,delimiter:delimiter) %></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="5"> </td>
|
||||
<td><%= t("views.right_panel.detail.foc_sales") %></td>
|
||||
<td>
|
||||
<span><%= number_with_precision(@foc_data, precision:precision.to_i, delimiter:delimiter) %></span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="5"> </td>
|
||||
<td style="border-bottom:2px solid grey;"><%= t("views.right_panel.detail.discount") %> <%= t("views.right_panel.detail.amount") %></td>
|
||||
<td style="border-bottom:2px solid grey;">
|
||||
<span>
|
||||
<%= number_with_precision(@discount_data , precision: precision.to_i,delimiter: delimiter) %>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<% @sale_taxes.each do |tax| %>
|
||||
<!-- <tr>
|
||||
<td colspan="5"> </td>
|
||||
<td><%= tax.tax_name %></td>
|
||||
<td><%= tax.st_amount.round(2) %>
|
||||
<%total_tax += tax.st_amount%>
|
||||
</td>
|
||||
</tr> -->
|
||||
<% end %>
|
||||
<tr>
|
||||
<td colspan="5"> </td>
|
||||
<td style="border-top:2px solid grey;">Net Amount</td>
|
||||
<!-- <td><span class="double_underline"><%= grand_total.to_f - @discount_data.to_f%></span></td> -->
|
||||
<td style="border-top:2px solid grey;"><%= number_with_precision(grand_total.to_f - @discount_data.to_f , precision:precision.to_i,delimiter:delimiter)%></td>
|
||||
</tr>
|
||||
<!-- <tr>
|
||||
<td colspan="5"> </td>
|
||||
<td>Grand Total</td>
|
||||
|
||||
<td><span class="double_underline"><%= @grand_total - @change_amount%></span></td>
|
||||
</tr> -->
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
$(function(){
|
||||
|
||||
|
||||
var check_arr = [];
|
||||
|
||||
var search = '<%= params[:period_type] %>';
|
||||
|
||||
if(search){
|
||||
|
||||
if(parseInt(search) == 0){
|
||||
search_by_period();
|
||||
}
|
||||
else{
|
||||
search_by_date();
|
||||
}
|
||||
}else{
|
||||
search_by_period();
|
||||
}
|
||||
|
||||
$('#sel_period').change(function(){
|
||||
search_by_period();
|
||||
});
|
||||
|
||||
function search_by_period(){
|
||||
var period = $('#sel_period').val();
|
||||
var period_type = 0;
|
||||
var from = "";
|
||||
var to = "";
|
||||
|
||||
show_shift_name(period,period_type,from,to,'shift_item');
|
||||
}
|
||||
|
||||
// OK button is clicked
|
||||
$('#from').bootstrapMaterialDatePicker().on('beforeChange', function(e, date){
|
||||
new_date = new Date(date) ;
|
||||
month = parseInt(new_date.getMonth()+1)
|
||||
from = new_date.getDate() + "-" + month + "-" + new_date.getFullYear();
|
||||
$('#from').val(from)
|
||||
search_by_date();
|
||||
});
|
||||
$('#to').bootstrapMaterialDatePicker().on('beforeChange', function(e, date){
|
||||
new_date = new Date(date) ;
|
||||
month = parseInt(new_date.getMonth()+1)
|
||||
to = new_date.getDate() + "-" + month + "-" + new_date.getFullYear();
|
||||
$('#to').val(to)
|
||||
search_by_date();
|
||||
});
|
||||
|
||||
function search_by_date(){
|
||||
from = $("#from").val();
|
||||
to = $("#to").val();
|
||||
var period = 0;
|
||||
var period_type = 1;
|
||||
|
||||
if(to != '' && from != ''){
|
||||
shift_name = from + ',' + to;
|
||||
|
||||
check_arr.push(to);
|
||||
|
||||
console.log(check_arr.length)
|
||||
if(check_arr.length == 1){
|
||||
show_shift_name(period,period_type,from,to,'shift_item');
|
||||
}
|
||||
if(check_arr.length == 3){
|
||||
check_arr = [];
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function show_shift_name(period,period_type,from,to,shift_item){
|
||||
var shift = $('#shift_name');
|
||||
if (from == '' && to == '') {
|
||||
from = $("#from").val();
|
||||
to = $("#to").val();
|
||||
}
|
||||
shift.empty();
|
||||
var selected = '';
|
||||
var str = '';
|
||||
var param_shift = '<%= params[:shift_name]%>';
|
||||
|
||||
url = '<%= reports_get_shift_by_date_path %>';
|
||||
$.get(url, {period :period, period_type :period_type, from :from, to :to, report_type :shift_item} , function(data){
|
||||
console.log(data)
|
||||
|
||||
str = '<option value="0">--- All Shift ---</option>';
|
||||
$(data.message).each(function(index){
|
||||
|
||||
var local_date = data.message[index].local_opening_date + ' - ' + data.message[index].local_closing_date;
|
||||
var sh_date = data.message[index].opening_date + ' - ' + data.message[index].closing_date;
|
||||
var shift_id = data.message[index].shift_id ;
|
||||
|
||||
if(param_shift != ''){
|
||||
if(shift_id == param_shift){
|
||||
selected = 'selected = "selected"';
|
||||
}
|
||||
else{
|
||||
selected = '';
|
||||
}
|
||||
}
|
||||
else{
|
||||
selected = '';
|
||||
}
|
||||
|
||||
|
||||
str += '<option value="'+ shift_id +'" '+ selected +'>' + local_date + '</option>';
|
||||
|
||||
// console.log(sh_date)
|
||||
})
|
||||
shift.append(str);
|
||||
});
|
||||
}
|
||||
|
||||
});
|
||||
</script>
|
||||
@@ -7,12 +7,6 @@
|
||||
</span>
|
||||
</ol>
|
||||
</div>
|
||||
<h4>Import</h4>
|
||||
<%= form_tag import_settings_menus_path, multipart:true do%>
|
||||
<%=file_field_tag :file%>
|
||||
<%=submit_tag "Import CSV"%>
|
||||
<%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>
|
||||
@@ -30,7 +24,16 @@
|
||||
</div>
|
||||
<div class="col-xs-12 col-sm-12 col-md-7 col-lg-7">
|
||||
<div class="m-b-10 clearfix">
|
||||
<div class="float-left">
|
||||
<%= form_tag import_settings_menus_path,class:"col-md-", multipart:true do%>
|
||||
<%=file_field_tag :file, :class => "img-thumbnail col-md-7" %>
|
||||
<%=submit_tag "Import",:class => 'btn btn-primary btn-lg waves-effect' %>
|
||||
<%end%>
|
||||
</div>
|
||||
<%= link_to t("views.btn.new"),new_settings_menu_path,:class => 'btn btn-primary btn-lg float-right waves-effect"' %>
|
||||
|
||||
<%= link_to "Export", settings_menus_path(format: "xlsx"),:class => 'btn btn-info btn-lg waves-effect float-right m-r-10' %>
|
||||
|
||||
</div>
|
||||
<div class="card">
|
||||
<table class="table table-striped">
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
wb = xlsx_package.workbook
|
||||
wb.styles do |s|
|
||||
date = s.add_style(:format_code => "yyyy-mm-dd", :border => Axlsx::STYLE_THIN_BORDER)
|
||||
time_format = wb.styles.add_style :format_code => 'hh:mm:ss'
|
||||
|
||||
wrap_text = s.add_style :sz => 11,
|
||||
:alignment => { :horizontal => :left,:vertical => :center ,
|
||||
:wrap_text => true}
|
||||
@@ -12,75 +13,74 @@ wb.styles do |s|
|
||||
: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
|
||||
wb.add_worksheet(name: "Account") do |sheet|
|
||||
sheet.add_row %w(id title account_type discount point bonus rebate), :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
|
||||
sheet.add_row [acc.id, acc.title,acc.account_type,acc.discount,acc.point,acc.bonus,acc.rebate], :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
|
||||
sheet.add_row %w(id name alt_name min_selectable_qty max_selectable_qty), :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
|
||||
sheet.add_row [set.id,set.name, set.alt_name, set.min_selectable_qty, set.max_selectable_qty], :style=>wrap_text
|
||||
end
|
||||
end
|
||||
|
||||
wb.add_worksheet(name: "Menu Item Options") do |sheet|
|
||||
sheet.add_row %w(id option_type name value), :style=>header_text
|
||||
MenuItemOption.all.each do |option|
|
||||
sheet.add_row [option.id, option.option_type, option.name, option.value], :style=>wrap_text
|
||||
end
|
||||
end
|
||||
|
||||
wb.add_worksheet(name: "Menu Item Attributes") do |sheet|
|
||||
sheet.add_row %w(id attribute_type name value), :style=>header_text
|
||||
MenuItemAttribute.all.each do |attr|
|
||||
sheet.add_row [attr.id, attr.attribute_type,attr.name,attr.value], :style=>wrap_text
|
||||
end
|
||||
end
|
||||
|
||||
wb.add_worksheet(name: "Menu") do |sheet|
|
||||
sheet.add_row %w( id 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.id, menu.name, menu.is_active, menu.valid_days, menu.valid_time_from,menu.valid_time_to, menu.created_by], :style=>[wrap_text,time_format]
|
||||
end
|
||||
end
|
||||
|
||||
wb.add_worksheet(name: "Menu Category") do |sheet|
|
||||
sheet.add_row %w(id menu_id code name alt_name order_by created_by menu_category_id is_available), :style=>header_text
|
||||
MenuCategory.all.each do |mc|
|
||||
sheet.add_row [mc.id, mc.menu_id, mc.code, mc.name, mc.alt_name, mc.order_by, mc.created_by, mc.menu_category_id, mc.is_available], :style=>wrap_text
|
||||
end
|
||||
end
|
||||
|
||||
wb.add_worksheet(name: "Menu Item") do |sheet|
|
||||
sheet.add_row %w(id item_code name alt_name image_path description information unit type menu_category_id item_attributes item_options account_id min_qty taxable is_sub_item is_available created_by), :style=>header_text
|
||||
MenuItem.all.each do |mi|
|
||||
sheet.add_row [mi.id,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], :style=>wrap_text
|
||||
end
|
||||
end
|
||||
|
||||
wb.add_worksheet(name: "Menu Item Instance") do |sheet|
|
||||
sheet.add_row %w(id menu_item_id item_instance_code item_instance_name item_attributes price is_on_promotion promotion_price is_available is_default), :style=>header_text
|
||||
MenuItemInstance.all.each do |mii|
|
||||
sheet.add_row [mii.id, 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], :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
|
||||
sheet.add_row %w(id item_set_id menu_item_instance_id), :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
|
||||
sheet.add_row [miis.id ,miis.item_set_id, miis.menu_item_instance_id], :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
|
||||
sheet.add_row %w(id item_set_id menu_item_id), :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
|
||||
sheet.add_row [mis.id,mis.item_set_id, mis.menu_item_id], :style=>wrap_text
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
165
app/views/transactions/sales/index.html.erb
Executable file → Normal file
165
app/views/transactions/sales/index.html.erb
Executable file → Normal file
@@ -17,17 +17,41 @@
|
||||
<td colspan="8">
|
||||
<%= form_tag transactions_sales_path, :method => :get do %>
|
||||
<div class="row clearfix">
|
||||
<div class="col-lg-4 col-md-4 col-sm-4 col-xs-4">
|
||||
<div class="col-lg-2 col-md-2 col-sm-2 col-xs-2">
|
||||
<label><%= t("views.right_panel.detail.enter_keyboards") %></label>
|
||||
<input type="text" id="receipt_no" name="receipt_no" class="form-control" placeholder="Receipt No/Cashier Name/Status" style="margin-right: 10px">
|
||||
<input type="text" id="receipt_no" name="receipt_no" class="form-control" placeholder="Receipt No/Cashier Name/Status" style="margin-right: 10px;height: 34px;">
|
||||
</div>
|
||||
<div class="col-lg-3 col-md-3 col-sm-3 col-xs-3">
|
||||
<label class=""><%= t("views.right_panel.detail.from") %></label>
|
||||
<input class="form-control datepicker" name="from" id="from" type="text" placeholder="From date">
|
||||
|
||||
<div class="col-lg-2 col-md-2 col-sm-2">
|
||||
<label class="font-14"><%= t("views.right_panel.detail.select_period") %></label>
|
||||
<select name="period" id="sel_period" class="form-control">
|
||||
<option value=""><%= t("views.right_panel.detail.select_period") %></option>
|
||||
<option value="0">Today</option>
|
||||
<option value="1">Yesterday</option>
|
||||
<option value="2">This week</option>
|
||||
<option value="3">Last week</option>
|
||||
<option value="4">Last 7 days</option>
|
||||
<option value="5">This month</option>
|
||||
<option value="6">Last month</option>
|
||||
<option value="7">Last 30 days</option>
|
||||
<option value="8">This year</option>
|
||||
<option value="9">Last year</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-lg-3 col-md-3 col-sm-3 col-xs-3">
|
||||
|
||||
<div class="col-lg-2 col-md-2 col-sm-2 col-xs-2">
|
||||
<label class=""><%= t("views.right_panel.detail.from") %></label>
|
||||
<input class="form-control datepicker" name="from" id="from" type="text" placeholder="From date" style="height: 34px;">
|
||||
</div>
|
||||
<div class="col-lg-2 col-md-2 col-sm-2 col-xs-2">
|
||||
<label class=""><%= t("views.right_panel.detail.to") %></label>
|
||||
<input class="form-control datepicker" name="to" id="to" type="text" placeholder="To date">
|
||||
<input class="form-control datepicker" name="to" id="to" type="text" placeholder="To date" style="height: 34px;">
|
||||
</div>
|
||||
|
||||
<div class="col-lg-2 col-md-2 col-sm-2">
|
||||
<label class="font-14"><%= t("views.right_panel.detail.all_shift") %></label>
|
||||
<select class="form-control select" name="shift_name" id="shift_name" >
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-1 col-md-1 col-sm-1 col-xs-1">
|
||||
@@ -59,6 +83,7 @@
|
||||
<th><%= t("views.right_panel.detail.grand_total") %></th>
|
||||
<th><%= t :cashier %></th>
|
||||
<th><%= t("views.right_panel.detail.sales_status") %></th>
|
||||
<th><%= t("views.right_panel.detail.remark") %></th>
|
||||
<th><%= t("views.right_panel.detail.receipt_date") %></th>
|
||||
</tr>
|
||||
</thead>
|
||||
@@ -67,7 +92,16 @@
|
||||
<% if @sales != 0 %>
|
||||
<% @sales.each do |sale| %>
|
||||
<tr>
|
||||
<td><%= link_to sale.sale_id, transactions_sale_path(sale) %></td>
|
||||
<td>
|
||||
<% if !@sale_item_audits.nil? %>
|
||||
<% @sale_item_audits.each do |audit| %>
|
||||
<%if audit.include?(sale.sale_id) %>
|
||||
<span style="color:#2196f3;">*</span>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<%= link_to sale.sale_id, transactions_sale_path(sale) %>
|
||||
</td>
|
||||
<td><%= sale.receipt_no %></td>
|
||||
<td><%= sale.total_discount %></td>
|
||||
<td><%= sale.total_tax %></td>
|
||||
@@ -75,11 +109,20 @@
|
||||
<td><%= sale.grand_total rescue '-' %></td>
|
||||
<td><%= sale.cashier_name rescue '-' %></td>
|
||||
<td> <%= sale.sale_status %> </td>
|
||||
<td>
|
||||
<% if !@sale_audits.nil? %>
|
||||
<% @sale_audits.each do |audit| %>
|
||||
<%if audit.include?(sale.sale_id) %>
|
||||
<%= audit[sale.sale_id] %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
</td>
|
||||
<td> <%= sale.receipt_date.utc.getlocal.strftime("%d-%m-%Y %I:%M %p") %> </td>
|
||||
</tr>
|
||||
<% end %>
|
||||
<% else %>
|
||||
<tr><td colspan="8"><strong><p style="text-align: center">There is no data for search....</p></strong></td></tr>
|
||||
<tr><td colspan="10"><strong><p style="text-align: center">There is no data for search....</p></strong></td></tr>
|
||||
<% end %>
|
||||
</tbody>
|
||||
</table>
|
||||
@@ -97,9 +140,107 @@
|
||||
|
||||
<script type="text/javascript">
|
||||
$(function(){
|
||||
$("#receipt_no").val("<%=params[:receipt_no]%>");
|
||||
$("#from").val("<%=params[:from]%>");
|
||||
$("#to").val("<%=params[:to]%>");
|
||||
$('#receipt_no').val("<%= params[:receipt_no] %>");
|
||||
$('#from').val("<%= params[:from] %>");
|
||||
$('#to').val("<%= params[:to] %>");
|
||||
$('#sel_period').val("<%= params[:period] %>");
|
||||
|
||||
var check_arr = [];
|
||||
search_by_period();
|
||||
$('#sel_period').change(function(){
|
||||
|
||||
search_by_period();
|
||||
|
||||
});
|
||||
|
||||
function search_by_period(){
|
||||
var period = $('#sel_period').val();
|
||||
var period_type = 0;
|
||||
var from = "";
|
||||
var to = "";
|
||||
|
||||
show_shift_name(period,period_type,from,to,'shift_item');
|
||||
}
|
||||
|
||||
// OK button is clicked
|
||||
$('#from').bootstrapMaterialDatePicker().on('beforeChange', function(e, date){
|
||||
new_date = new Date(date) ;
|
||||
month = parseInt(new_date.getMonth()+1)
|
||||
from = new_date.getDate() + "-" + month + "-" + new_date.getFullYear();
|
||||
$('#from').val(from);
|
||||
search_by_date();
|
||||
});
|
||||
$('#to').bootstrapMaterialDatePicker().on('beforeChange', function(e, date){
|
||||
new_date = new Date(date) ;
|
||||
month = parseInt(new_date.getMonth()+1)
|
||||
to = new_date.getDate() + "-" + month + "-" + new_date.getFullYear();
|
||||
$('#to').val(to);
|
||||
search_by_date();
|
||||
});
|
||||
|
||||
function search_by_date(){
|
||||
|
||||
from = $("#from").val();
|
||||
to = $("#to").val();
|
||||
|
||||
var period = 0;
|
||||
var period_type = 1;
|
||||
|
||||
if(to != '' && from != ''){
|
||||
shift_name = from + ',' + to;
|
||||
|
||||
check_arr.push(to);
|
||||
|
||||
console.log(check_arr.length)
|
||||
if(check_arr.length == 1){
|
||||
show_shift_name(period,period_type,from,to,'shift_item');
|
||||
}
|
||||
if(check_arr.length == 3){
|
||||
check_arr = [];
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function show_shift_name(period,period_type,from,to,shift_item){
|
||||
var shift = $('#shift_name');
|
||||
if (from == '' && to == '') {
|
||||
from = $("#from").val();
|
||||
to = $("#to").val();
|
||||
}
|
||||
shift.empty();
|
||||
|
||||
var str = '';
|
||||
var param_shift = '';
|
||||
var param_shift = '<%= params[:shift_name] rescue '-'%>';
|
||||
|
||||
url = '<%= reports_get_shift_by_date_path %>';
|
||||
|
||||
$.get(url, {period :period, period_type :period_type, from :from, to :to, report_type :shift_item} , function(data){
|
||||
|
||||
str = '<option value="0">--- All Shift ---</option>';
|
||||
$(data.message).each(function(index){
|
||||
|
||||
var local_date = data.message[index].local_opening_date + ' - ' + data.message[index].local_closing_date;
|
||||
var sh_date = data.message[index].opening_date + ' - ' + data.message[index].closing_date;
|
||||
var shift_id = data.message[index].shift_id ;
|
||||
if(param_shift != ''){
|
||||
if(shift_id == param_shift){
|
||||
selected = 'selected = "selected"';
|
||||
}
|
||||
else{
|
||||
selected = '';
|
||||
}
|
||||
}else{
|
||||
selected = '';
|
||||
}
|
||||
str += '<option value="'+ shift_id +'" '+ selected +'>' + local_date + '</option>';
|
||||
|
||||
// console.log(sh_date)
|
||||
})
|
||||
shift.append(str);
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
@@ -52,7 +52,7 @@
|
||||
<td><%= @sale.receipt_no %></td>
|
||||
<td><%= @sale.cashier_name rescue '-' %></td>
|
||||
<td> <%= @sale.sale_status %> </td>
|
||||
<td> <%= @sale.requested_at.strftime("%m-%d-%Y %H:%M %p") %> </td>
|
||||
<td colspan="2"> <%= @sale.requested_at.strftime("%m-%d-%Y %H:%M %p") %> </td>
|
||||
</tr>
|
||||
<tr style="border-top:2px solid #000">
|
||||
<th><%= t :sale %> <%= t("views.right_panel.detail.item_txt") %> <%= t("views.right_panel.detail.name_txt2") %></th>
|
||||
@@ -60,6 +60,7 @@
|
||||
<th><%= t("views.right_panel.detail.unit_price") %></th>
|
||||
<th><%= t("views.right_panel.detail.total_price") %></th>
|
||||
<th><%= t("views.right_panel.detail.created_at") %></th>
|
||||
<th><%= t("views.right_panel.detail.remark") %></th>
|
||||
</tr>
|
||||
<% @sale.sale_items.each do |s| %>
|
||||
|
||||
@@ -69,42 +70,43 @@
|
||||
<td><%= number_with_precision(s.price, :precision => 2, :delimiter => ',') rescue ' '%></td>
|
||||
<td><%= number_with_precision(s.qty * s.price, :precision => 2, :delimiter => ',') rescue ' '%></td>
|
||||
<td><%=l s.created_at.utc.getlocal , :format => :short rescue ' ' %></td>
|
||||
<td><%=s.remark rescue ' '%></td>
|
||||
</tr>
|
||||
<% end %>
|
||||
<tr style="border-top:2px solid #000">
|
||||
<td colspan=2 style="text-align:center"></td>
|
||||
<td><%= t("views.right_panel.detail.total") %></td>
|
||||
<td colspan="2"><%= number_with_precision(@sale.total_amount, :precision => 2, :delimiter => ',') rescue ' '%></td>
|
||||
<td colspan="3"><%= number_with_precision(@sale.total_amount, :precision => 2, :delimiter => ',') rescue ' '%></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan=2 style="text-align:center"></td>
|
||||
<td><%= t("views.right_panel.detail.discount") %></td>
|
||||
<td colspan="2"><%= number_with_precision(@sale.total_discount, :precision => 2, :delimiter => ',') rescue ' '%></td>
|
||||
<td colspan="3"><%= number_with_precision(@sale.total_discount, :precision => 2, :delimiter => ',') rescue ' '%></td>
|
||||
</tr>
|
||||
<% @sale.sale_taxes.each do |r|%>
|
||||
<tr>
|
||||
<td colspan=2 style="text-align:center"></td>
|
||||
<td><%= r.tax_name %> </td>
|
||||
<td colspan="2"><%= number_with_precision(r.tax_payable_amount, :precision => 2, :delimiter => ',') rescue ' '%></td>
|
||||
<td colspan="3"><%= number_with_precision(r.tax_payable_amount, :precision => 2, :delimiter => ',') rescue ' '%></td>
|
||||
</tr>
|
||||
<% end %>
|
||||
<tr>
|
||||
<td colspan=2 style="text-align:center"></td>
|
||||
<td><%= t("views.right_panel.detail.grand_total") %></td>
|
||||
<td colspan="2"><%= number_with_precision(@sale.grand_total, :precision => 2, :delimiter => ',') rescue ' '%></td>
|
||||
<td colspan="3"><%= number_with_precision(@sale.grand_total, :precision => 2, :delimiter => ',') rescue ' '%></td>
|
||||
</tr>
|
||||
<tr><td colspan="5"> <td></tr>
|
||||
<tr>
|
||||
<td colspan=2 style="text-align:center"></td>
|
||||
<td><%= t("views.right_panel.detail.total_pay_amount") %></td>
|
||||
<td colspan="2"><%= number_with_precision(@sale.amount_received, :precision => 2, :delimiter => ',') rescue ' '%></td>
|
||||
<td colspan="3"><%= number_with_precision(@sale.amount_received, :precision => 2, :delimiter => ',') rescue ' '%></td>
|
||||
</tr>
|
||||
|
||||
<% @sale_receivables.each do |r|%>
|
||||
<tr>
|
||||
<td colspan=2 style="text-align:center"></td>
|
||||
<td> <%= r.payment_method.capitalize rescue ' '%> Payment</td>
|
||||
<td colspan="2"><%= number_with_precision(r.payment_amount, :precision => 2, :delimiter => ',') rescue ' '%>
|
||||
<td colspan="3"><%= number_with_precision(r.payment_amount, :precision => 2, :delimiter => ',') rescue ' '%>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -114,7 +116,7 @@
|
||||
<tr>
|
||||
<td colspan=2 style="text-align:center"></td>
|
||||
<td><%= t("views.right_panel.detail.change") %></td>
|
||||
<td colspan="2"><%= number_with_precision(@sale.amount_changed, :precision => 2, :delimiter => ',') rescue ' '%></td>
|
||||
<td colspan="3"><%= number_with_precision(@sale.amount_changed, :precision => 2, :delimiter => ',') rescue ' '%></td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
@@ -258,9 +260,3 @@
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
113
app/views/transactions/surveys/index.html.erb
Normal file
113
app/views/transactions/surveys/index.html.erb
Normal file
@@ -0,0 +1,113 @@
|
||||
<div class="page-header">
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item"><a href="<%= dashboard_path %>"><%= t("views.right_panel.button.home") %></a></li>
|
||||
<li class="breadcrumb-item active"><%= t("views.right_panel.detail.survey") %></li>
|
||||
<span class="float-right">
|
||||
<%= link_to 'Back', dashboard_path %>
|
||||
</span>
|
||||
</ol>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12">
|
||||
<div class="main-box-body clearfix p-l-15 p-r-15">
|
||||
<%= form_tag transactions_surveys_path, :method => :get do %>
|
||||
<div class="row clearfix">
|
||||
<div class="col-lg-3 col-md-3 col-sm-3 col-xs-3">
|
||||
<label class="form-control-label"><%= t("views.right_panel.button.search_keyboard") %></label>
|
||||
<input type="text" id="dining_name" name="filter" placeholder="Dining Name" class="form-control input-md" >
|
||||
</div>
|
||||
|
||||
<div class="col-lg-2 col-md-2 col-sm-2 col-xs-2">
|
||||
<label class="form-control-label"><%= t("views.right_panel.detail.from") %></label>
|
||||
<input class="form-control datepicker" name="from" id="from" type="text" placeholder="From date">
|
||||
</div>
|
||||
|
||||
<div class="col-lg-2 col-md-2 col-sm-2 col-xs-2">
|
||||
<label class="form-control-label"><%= t("views.right_panel.detail.to") %></label>
|
||||
<input class="form-control datepicker" name="to" id="to" type="text" placeholder="To date">
|
||||
</div>
|
||||
|
||||
<div class="form-group col-lg-1 col-md-1 col-sm-1 col-xs-1">
|
||||
<label > </label>
|
||||
<br> <input type="submit" value="Search" class='btn btn-primary btn-md'>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
<div class="card">
|
||||
<div class="table-responsive">
|
||||
<table class="table table-bordered table-striped table-hover">
|
||||
<thead>
|
||||
<th><%= t("views.right_panel.detail.dining") %></th>
|
||||
<th><%= t("views.right_panel.detail.receipt_no") %></th>
|
||||
<th><%= t("views.right_panel.detail.created_by") %></th>
|
||||
<th><%= t("views.right_panel.detail.child") %></th>
|
||||
<th><%= t("views.right_panel.detail.adult") %></th>
|
||||
<th><%= t("views.right_panel.detail.male") %></th>
|
||||
<th><%= t("views.right_panel.detail.female") %></th>
|
||||
<th><%= t("views.right_panel.detail.total") %> <%= t :customer %>
|
||||
<th><%= t("views.right_panel.detail.local") %></th>
|
||||
</th>
|
||||
<th><%= t("views.right_panel.detail.foreigner") %></th>
|
||||
</thead>
|
||||
<tbody>
|
||||
<% total_child = 0 %>
|
||||
<% total_adult = 0 %>
|
||||
<% total_male = 0 %>
|
||||
<% total_female = 0 %>
|
||||
<% total_local = 0 %>
|
||||
<% total_customer = 0 %>
|
||||
<% if !@surveys.nil? %>
|
||||
<% @surveys.each do |survey| %>
|
||||
<% total_child = total_child.to_i + survey.child.to_i %>
|
||||
<% total_adult = total_adult.to_i + survey.adult.to_i %>
|
||||
<% total_male = total_male.to_i + survey.male.to_i %>
|
||||
<% total_female = total_female.to_i + survey.female.to_i %>
|
||||
<% total_local = total_local.to_i + survey.local.to_i %>
|
||||
<% total_customer = total_customer.to_i + survey.total_customer.to_i %>
|
||||
<tr>
|
||||
<td><%= survey.dining_name rescue ' '%></td>
|
||||
<td><%= survey.receipt_no rescue '-'%></td>
|
||||
<td><%= survey.created_by rescue ' '%></td>
|
||||
<td><%= survey.child rescue ' '%></td>
|
||||
<td><%= survey.adult rescue ' '%></td>
|
||||
<td><%= survey.male rescue ' '%></td>
|
||||
<td><%= survey.female rescue ' '%></td>
|
||||
<td><%= survey.total_customer rescue ' '%></td>
|
||||
<td><%= survey.local rescue ' '%></td>
|
||||
<td>
|
||||
<% if !survey.foreigner.nil? %>
|
||||
<% JSON.parse(survey.foreigner).each do |foreign| %>
|
||||
<% foreigner_lists = foreign.split(",") %>
|
||||
<% if !foreigner_lists.empty? %>
|
||||
<% foreigner_lists.each do |fgn| %>
|
||||
<% if !fgn.scan(/\D/).empty? %>
|
||||
<%= fgn %> :<% end %> <%= fgn.to_i unless fgn.match(/[^[:digit:]]+/) %><br>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
</td>
|
||||
</tr>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<tr>
|
||||
<td colspan="3"><strong><%= t("views.right_panel.detail.total") %></strong></td>
|
||||
<td><strong><%= total_child %></strong></td>
|
||||
<td><strong><%= total_adult %></strong></td>
|
||||
<td><strong><%= total_male %></strong></td>
|
||||
<td><strong><%= total_female %></strong></td>
|
||||
<td><strong><%= total_customer %></strong></td>
|
||||
<td colspan="2"><strong><%= total_local %></strong></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<br>
|
||||
<%if !@orders.nil?%>
|
||||
<%= paginate @surveys %>
|
||||
<%end%>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
Binary file not shown.
8
config/locales/en.yml
Executable file → Normal file
8
config/locales/en.yml
Executable file → Normal file
@@ -72,6 +72,8 @@ en:
|
||||
payment: "Payment"
|
||||
backend: "Backend"
|
||||
date_time: "DateTime"
|
||||
dine_in_order: "Dine In Order"
|
||||
quick_service: "Quick Service"
|
||||
|
||||
views:
|
||||
btn:
|
||||
@@ -450,7 +452,11 @@ en:
|
||||
additional_parameter: "Additional parameter"
|
||||
lookup: "Lookup"
|
||||
product_sale_report: "Product Sale"
|
||||
group_type: "Group Type"
|
||||
dining: "Dining"
|
||||
child: "Child"
|
||||
adult: "Adult"
|
||||
foreigner: "Foreigner"
|
||||
local: "Local"
|
||||
|
||||
code_txt: "code "
|
||||
charge_txt: "charge"
|
||||
|
||||
14
config/locales/mm.yml
Executable file → Normal file
14
config/locales/mm.yml
Executable file → Normal file
@@ -65,8 +65,10 @@ mm:
|
||||
sale_audits: "အရောင်းပြင်ဆင်ခြင်းများ"
|
||||
bottom: "အရောင်းအနဲဆုံး"
|
||||
payment: "ငွေပေးချေမှု"
|
||||
backend: "Backend"
|
||||
date_time: "DateTime"
|
||||
backend: "နောက်ကွယ်"
|
||||
date_time: "ရက်စွဲအချိန်"
|
||||
dine_in_order: "Dine In Order"
|
||||
quick_service: "Quick Service"
|
||||
|
||||
views:
|
||||
btn:
|
||||
@@ -444,8 +446,12 @@ mm:
|
||||
additional_parameter: "ထပ်ဖြည့်အကြောင်းအရာ"
|
||||
survey: "ခြုံငုံလေ့လာခြင်း"
|
||||
lookup: "သတ်မှတ်ချက်များ"
|
||||
product_sale_report: "Product Sale"
|
||||
group_type: "Group Type"
|
||||
product_sale_report: "ကုန်ပစ္စည်းရောင်းရမှုအစီရင်ခံစာ"
|
||||
dining: "ဆိုင်စား"
|
||||
child: "ကလေး"
|
||||
adult: "လူကြီး"
|
||||
foreigner: "နိုင်ငံခြားသား"
|
||||
local: "နိုင်ငံသား"
|
||||
|
||||
code_txt: "ကုတ်ဒ် "
|
||||
charge_txt: "ကောက်ခံသည်"
|
||||
|
||||
@@ -55,6 +55,7 @@ scope "(:locale)", locale: /en|mm/ do
|
||||
post "bill" => "bill#create"
|
||||
end
|
||||
get 'view_orders' => "orders#view_orders"
|
||||
post "update_order_item" => "orders#update"
|
||||
|
||||
#Current active bookings
|
||||
resources :bookings, only: [:index, :show, :create, :update]
|
||||
@@ -77,6 +78,8 @@ scope "(:locale)", locale: /en|mm/ do
|
||||
post "check_in" => "check_in_process#check_in_process"
|
||||
post "request_time" => "check_in_process#request_time"
|
||||
post "call_waiter" => "call_waiters#index"
|
||||
#---------Waste and Spoile --------------#
|
||||
post 'sale/:sale_id/:type/waste_and_spoilage' => 'waste_spoile#waste_and_spoilage'
|
||||
end
|
||||
|
||||
|
||||
@@ -84,6 +87,7 @@ scope "(:locale)", locale: /en|mm/ do
|
||||
|
||||
#--------- Cashier ------------#
|
||||
namespace :origami do
|
||||
|
||||
get "dashboard" => "dashboard#index"
|
||||
|
||||
get "quick_service" => "quick_service#index"
|
||||
@@ -95,9 +99,6 @@ scope "(:locale)", locale: /en|mm/ do
|
||||
get "quick_service/modify_order/:sale_id" => "quick_service#modify_order"
|
||||
post 'quick_service/update_modify_order' => "quick_service#update_modify_order", :defaults => { :format => 'json' }
|
||||
|
||||
resources :second_display
|
||||
|
||||
post '/customer_view' => "second_display#customer_view",:as => "customer_view", :defaults => { :format => 'json' }
|
||||
|
||||
resources :cash_ins, only: [:new, :create]
|
||||
resources :cash_outs, only: [:new, :create]
|
||||
@@ -140,7 +141,7 @@ scope "(:locale)", locale: /en|mm/ do
|
||||
# Discount
|
||||
get "/:id/:type/discount" => "discounts#index"
|
||||
post "/:id/discount" => "discounts#create"
|
||||
get "/:id/remove_all_discount" => "discounts#remove_all_discount"
|
||||
get "/:id/:type/remove_all_discount" => "discounts#remove_all_discount"
|
||||
post "/:id/remove_discount_items" => "discounts#remove_discount_items"
|
||||
|
||||
# Discount for Member
|
||||
@@ -177,7 +178,6 @@ 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'
|
||||
@@ -189,13 +189,14 @@ 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"
|
||||
|
||||
#---------Void --------------#
|
||||
post 'sale/:sale_id/:type/void' => 'void#overall_void'
|
||||
|
||||
|
||||
|
||||
#---------Multiple Invoices --------------#
|
||||
get 'table/:table_id/table_invoices' => "table_invoices#index", :as => "table_invoice_index"
|
||||
get 'table/:table_id/table_invoice/:invoice_id' => "table_invoices#show", :as => "table_invoice_show"
|
||||
@@ -240,12 +241,16 @@ scope "(:locale)", locale: /en|mm/ do
|
||||
post "bank_integration/sale_trans", to: "bank_integration#sale_trans", as:"sale_trans"
|
||||
|
||||
#split bill
|
||||
get '/table/:dining_id/split_bills' => 'split_bill#index'
|
||||
get '/room/:dining_id/split_bills' => 'split_bill#index'
|
||||
get '/table/:dining_id/:type/split_bills' => 'split_bill#index'
|
||||
get '/room/:dining_id/:type/split_bills' => 'split_bill#index'
|
||||
post '/split_bills', to: 'split_bill#create', as:"order_item_split_bills"
|
||||
|
||||
post '/split_bills/equal_person', to: 'split_bill#update_sale'
|
||||
|
||||
resources :second_display #second display routes
|
||||
|
||||
post '/customer_view' => "second_display#customer_view",:as => "customer_view", :defaults => { :format => 'json' }
|
||||
|
||||
end
|
||||
|
||||
#--------- Waiter/Ordering Station ------------#
|
||||
@@ -291,16 +296,14 @@ scope "(:locale)", locale: /en|mm/ do
|
||||
|
||||
#--------- System Settings ------------#
|
||||
namespace :settings do
|
||||
resources :shops do
|
||||
resources :display_images
|
||||
end
|
||||
|
||||
resources :shops
|
||||
#employees
|
||||
resources :employees
|
||||
#menu
|
||||
resources :menus do
|
||||
#menu_categories
|
||||
collection { post :import }
|
||||
collection do
|
||||
post :import
|
||||
end
|
||||
resources :menu_categories, only: [:new, :create, :edit, :delete]
|
||||
end
|
||||
|
||||
@@ -386,6 +389,7 @@ scope "(:locale)", locale: /en|mm/ do
|
||||
resources :credit_notes
|
||||
resources :bookings
|
||||
resources :shift_sales
|
||||
resources :surveys
|
||||
|
||||
get "/sales/:sale_id/manual_complete_sale" => "manual_sales#manual_complete_sale", :as => "manual_complete_sale"
|
||||
get "/sales/:sale_id/void" => "manual_sales#void", :as => "void"
|
||||
@@ -437,8 +441,9 @@ 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
|
||||
|
||||
@@ -24,8 +24,8 @@ test:
|
||||
# instead read values from the environment.
|
||||
production:
|
||||
secret_key_base: c4bc81065013f9a3506d385bcbd49586c42e586488144b0de90c7da36867de9fa880f46b5c4f86f0ce9b7c783bb5a73bdb0e5605a47716567294390e726d3e22
|
||||
sx_provision_url: connect.smartsales.dev/api #192.168.1.147:3002/api
|
||||
server_mode: cloud
|
||||
sx_provision_url: connect.smartsales.asia/api #192.168.1.147:3002/api
|
||||
server_mode: application
|
||||
cipher_type: AES-256-CBC
|
||||
sx_key: Wh@t1$C2L
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
---
|
||||
:concurrency: 25
|
||||
:pidfile: ./tmp/pids/sidekiq.pid
|
||||
:pidfile: ./tmp/sidekiq.pid
|
||||
:logfile: ./log/sidekiq.log
|
||||
:queues:
|
||||
- default
|
||||
|
||||
@@ -20,4 +20,26 @@ namespace :clear do
|
||||
SeedGenerator.where("id > 1").update(:current => 0, :next => 1)
|
||||
puts "Clear Data Done."
|
||||
end
|
||||
|
||||
desc "Clear Menu"
|
||||
task :menu => :environment do
|
||||
|
||||
|
||||
MenuItemOption.destroy_all
|
||||
MenuItemAttribute.destroy_all
|
||||
|
||||
MenuItemSet.destroy_all
|
||||
|
||||
MenuInstanceItemSet.destroy_all
|
||||
ItemSet.destroy_all
|
||||
|
||||
MenuItemInstance.destroy_all
|
||||
MenuItem.destroy_all
|
||||
|
||||
MenuCategory.destroy_all
|
||||
Menu.destroy_all
|
||||
|
||||
Account.destroy_all
|
||||
puts "Clear all Menu Done."
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1,483 +0,0 @@
|
||||
%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
|
||||
@@ -1,455 +0,0 @@
|
||||
%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
|
||||
@@ -1,455 +0,0 @@
|
||||
%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
|
||||
@@ -1,455 +0,0 @@
|
||||
%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
|
||||
@@ -1,455 +0,0 @@
|
||||
%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
|
||||
@@ -1,455 +0,0 @@
|
||||
%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
|
||||
@@ -1,455 +0,0 @@
|
||||
%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
|
||||
@@ -1,455 +0,0 @@
|
||||
%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
|
||||
Reference in New Issue
Block a user