130 lines
5.1 KiB
Ruby
Executable File
130 lines
5.1 KiB
Ruby
Executable File
class Reports::ReceiptNoController < BaseReportController
|
|
authorize_resource :class => false
|
|
def index
|
|
@payments = [["All Payment",''], ["Cash Payment","cash"], ["Credit Payment","creditnote"], ["FOC Payment","foc"]]
|
|
@payment_method = PaymentMethodSetting.all
|
|
from, to = get_date_range_from_params
|
|
|
|
@shift_sale_range = ''
|
|
|
|
@shift = ''
|
|
if params[:shift_name].to_i != 0
|
|
|
|
@shift_sale_range = Sale.get_by_shift_sale_by_item(from,to,Sale::SALE_STATUS_COMPLETED)
|
|
|
|
@shift_sale = ShiftSale.find(params[:shift_name])
|
|
if to.blank?
|
|
@shift = ShiftSale.where('shift_started_at = ? and shift_closed_at is NULL ',@shift_sale.shift_started_at)
|
|
else
|
|
if @shift_sale.shift_closed_at.blank?
|
|
@shift = ShiftSale.where('shift_started_at = ? and shift_closed_at is NULL',@shift_sale.shift_started_at)
|
|
else
|
|
@shift = ShiftSale.where('shift_started_at = ? and shift_closed_at = ? ',@shift_sale.shift_started_at, @shift_sale.shift_closed_at)
|
|
end
|
|
end
|
|
end
|
|
|
|
payment_type = params[:payment_type]
|
|
@sale_data = Sale.get_shift_sales_by_receipt_no(@shift_sale_range,@shift,from,to,payment_type)
|
|
@sale_taxes = Sale.get_separate_tax(@shift_sale_range,@shift,from,to,payment_type)
|
|
@tax_profiles = TaxProfile.group('name').order('order_by asc') #.limit(2)
|
|
|
|
@from = from
|
|
@to = to
|
|
# get printer info
|
|
@print_settings = PrintSetting.get_precision_delimiter()
|
|
if @shift.present?
|
|
@shift.each do |sh|
|
|
@shift_from = sh.shift_started_at.nil? ? '-' : sh.shift_started_at.utc.getlocal.strftime("%e %b %I:%M%p")
|
|
@shift_to = sh.shift_closed_at.nil? ? '-' : sh.shift_closed_at.utc.getlocal.strftime("%e %b %I:%M%p")
|
|
@shift_data = sh
|
|
end
|
|
end
|
|
|
|
respond_to do |format|
|
|
format.html
|
|
format.xls
|
|
end
|
|
end
|
|
|
|
def show
|
|
from, to = get_date_range_from_params
|
|
|
|
@sale_data = Sale.get_by_shift_sale_by_item(from,to,Sale::SALE_STATUS_COMPLETED)
|
|
|
|
date_arr = Array.new
|
|
@sale_data.each do |sale|
|
|
local_opening_date = sale.opening_date.nil? ? '-' : sale.opening_date.utc.getlocal.strftime("%e %b %I:%M%p")
|
|
local_closing_date = sale.closing_date.nil? ? '-' : sale.closing_date.utc.getlocal.strftime("%e %b %I:%M%p")
|
|
opening_date = sale.opening_date.nil? ? '-' : sale.opening_date.utc
|
|
closing_date = sale.closing_date.nil? ? '-' : sale.closing_date.utc
|
|
shift_id = sale.id.nil? ? '-' : sale.id
|
|
str = {:shift_id => shift_id, :local_opening_date => local_opening_date, :local_closing_date => local_closing_date, :opening_date => opening_date, :closing_date => closing_date}
|
|
date_arr.push(str)
|
|
end
|
|
|
|
out = {:status => 'ok', :message => date_arr}
|
|
|
|
respond_to do |format|
|
|
format.json { render json: out }
|
|
end
|
|
end
|
|
|
|
def sync_data
|
|
@orders, @order_items, @sales, @sale_items, @sale_taxes, @sale_payments, @sale_orders, @sale_audits, @bookings, @assigned_order_items, @shift_sales = Booking.get_sync_data(params[:sale_id])
|
|
|
|
# Here comes to call the sync api
|
|
# url = "http://192.168.1.176:3000/en/api/sync_data"
|
|
url = Lookup.sync_url
|
|
token = Lookup.get_sync_token
|
|
@message = ''
|
|
# token = Lookup.token
|
|
|
|
unless url.nil? and token.nil?
|
|
begin
|
|
@result = HTTParty.post(url.to_str,
|
|
:body => { :orders => @orders,
|
|
:order_items => @order_items,
|
|
:sale_orders => @sale_orders,
|
|
:sale => @sales,
|
|
:sale_items => @sale_items,
|
|
:sale_audits => @sale_audits,
|
|
:sale_payments => @sale_payments,
|
|
:sale_taxes => @sale_taxes,
|
|
:bookings => @bookings,
|
|
:assigned_order_items => @assigned_order_items,
|
|
:shift_sales => @shift_sales
|
|
}.to_json,
|
|
:headers => {
|
|
'Content-Type' => 'application/json',
|
|
'Authorization' => "Bearer #{token}"
|
|
}, :timeout => 10,
|
|
:verify_ssl => OpenSSL::SSL::VERIFY_NONE,
|
|
:verify => false )
|
|
|
|
rescue HTTParty::Error
|
|
response = { status: false, message: "Can't open membership server "}
|
|
rescue Net::OpenTimeout
|
|
response = { status: false, message: "Can't open membership server "}
|
|
rescue OpenURI::HTTPError
|
|
puts "Fire in here"
|
|
response = { status: false, message: "Can't open membership server "}
|
|
rescue SocketError
|
|
response = { status: false, message: "Can't open server "}
|
|
rescue Errno::EHOSTDOWN
|
|
response = { status: false, message: "Can't open server "}
|
|
rescue Errno::ECONNREFUSED, Timeout::Error, Errno::EINVAL, Errno::ECONNRESET, EOFError, Net::HTTPBadResponse, Net::HTTPHeaderSyntaxError, Net::ProtocolError
|
|
response = { status: false, message: "Can't open membership server"}
|
|
end
|
|
|
|
puts url
|
|
puts response
|
|
@message = @result.parsed_response['message']
|
|
end
|
|
|
|
respond_to do |format|
|
|
format.html { redirect_to '/en/reports/receipt_no/', notice: @message}
|
|
end
|
|
end
|
|
|
|
end |