heck rounding adjustment error

This commit is contained in:
phyusin
2018-01-28 16:12:59 +06:30
parent d4e2d5be25
commit aa129ad469
9 changed files with 66 additions and 53 deletions

View File

@@ -184,12 +184,16 @@ class Api::OrdersController < Api::ApiController
#checked checkin and checkout time #checked checkin and checkout time
def checkin_checkout_time(booking_id) def checkin_checkout_time(booking_id)
status = true status = true
today = Time.now.utc if !params[:booking_id].nil?
booking = Booking.find(params[:booking_id]) today = Time.now.utc
if !booking.nil? booking = Booking.find(params[:booking_id])
checkout_time = booking.checkout_at.utc if !booking.nil?
if checkout_time <= today if !booking.checkout_at.nil?
status = false checkout_time = booking.checkout_at.utc
if checkout_time <= today
status = false
end
end
end end
end end
return status return status

View File

@@ -46,13 +46,13 @@ class Origami::JcbController < BaseOrigamiController
shop_details = Shop::ShopDetail shop_details = Shop::ShopDetail
# rounding adjustment # rounding adjustment
if shop_details.is_rounding_adj # if shop_details.is_rounding_adj
new_total = Sale.get_rounding_adjustment(saleObj.grand_total) # new_total = Sale.get_rounding_adjustment(saleObj.grand_total)
rounding_adj = new_total-saleObj.grand_total # rounding_adj = new_total-saleObj.grand_total
saleObj.update_attributes(grand_total: new_total,old_grand_total: saleObj.grand_total,rounding_adjustment:rounding_adj) # saleObj.update_attributes(grand_total: new_total,old_grand_total: saleObj.grand_total,rounding_adjustment:rounding_adj)
end # end
saleObj = Sale.find(sale_id) # saleObj = Sale.find(sale_id)
sale_payment = SalePayment.new sale_payment = SalePayment.new
@status, @sale = sale_payment.process_payment(saleObj, @user, cash, "jcb") @status, @sale = sale_payment.process_payment(saleObj, @user, cash, "jcb")
end end

View File

@@ -45,13 +45,13 @@ class Origami::MasterController < BaseOrigamiController
shop_details = Shop::ShopDetail shop_details = Shop::ShopDetail
# rounding adjustment # rounding adjustment
if shop_details.is_rounding_adj # if shop_details.is_rounding_adj
new_total = Sale.get_rounding_adjustment(saleObj.grand_total) # new_total = Sale.get_rounding_adjustment(saleObj.grand_total)
rounding_adj = new_total-saleObj.grand_total # rounding_adj = new_total-saleObj.grand_total
saleObj.update_attributes(grand_total: new_total,old_grand_total: saleObj.grand_total,rounding_adjustment:rounding_adj) # saleObj.update_attributes(grand_total: new_total,old_grand_total: saleObj.grand_total,rounding_adjustment:rounding_adj)
end # end
saleObj = Sale.find(sale_id) # saleObj = Sale.find(sale_id)
sale_payment = SalePayment.new sale_payment = SalePayment.new
@status, @sale = sale_payment.process_payment(saleObj, @user, cash, "master") @status, @sale = sale_payment.process_payment(saleObj, @user, cash, "master")
end end

View File

@@ -45,13 +45,13 @@ class Origami::MpuController < BaseOrigamiController
shop_details = Shop::ShopDetail shop_details = Shop::ShopDetail
# rounding adjustment # rounding adjustment
if shop_details.is_rounding_adj # if shop_details.is_rounding_adj
new_total = Sale.get_rounding_adjustment(saleObj.grand_total) # new_total = Sale.get_rounding_adjustment(saleObj.grand_total)
rounding_adj = new_total-saleObj.grand_total # rounding_adj = new_total-saleObj.grand_total
saleObj.update_attributes(grand_total: new_total,old_grand_total: saleObj.grand_total,rounding_adjustment:rounding_adj) # saleObj.update_attributes(grand_total: new_total,old_grand_total: saleObj.grand_total,rounding_adjustment:rounding_adj)
end # end
saleObj = Sale.find(sale_id) # saleObj = Sale.find(sale_id)
sale_payment = SalePayment.new sale_payment = SalePayment.new
@status, @sale = sale_payment.process_payment(saleObj, @user, cash, "mpu") @status, @sale = sale_payment.process_payment(saleObj, @user, cash, "mpu")
end end

View File

@@ -28,7 +28,6 @@ class Origami::PaymentsController < BaseOrigamiController
shop_details = Shop::ShopDetail shop_details = Shop::ShopDetail
# customer= Customer.where('customer_id=' +.customer_id) # customer= Customer.where('customer_id=' +.customer_id)
customer = Customer.find(sale_data.customer_id) customer = Customer.find(sale_data.customer_id)
# rounding adjustment # rounding adjustment
if shop_details.is_rounding_adj if shop_details.is_rounding_adj
a = sale_data.grand_total % 25 # Modulus a = sale_data.grand_total % 25 # Modulus
@@ -42,7 +41,6 @@ class Origami::PaymentsController < BaseOrigamiController
end end
end end
#end rounding adjustment #end rounding adjustment
# get member information # get member information
rebate = MembershipSetting.find_by_rebate(1) rebate = MembershipSetting.find_by_rebate(1)
if customer.membership_id != nil && rebate if customer.membership_id != nil && rebate
@@ -74,7 +72,6 @@ class Origami::PaymentsController < BaseOrigamiController
if(Sale.exists?(sale_id)) if(Sale.exists?(sale_id))
saleObj = Sale.find(sale_id) saleObj = Sale.find(sale_id)
shop_details = Shop::ShopDetail shop_details = Shop::ShopDetail
# rounding adjustment # rounding adjustment
if shop_details.is_rounding_adj if shop_details.is_rounding_adj
a = saleObj.grand_total % 25 # Modulus a = saleObj.grand_total % 25 # Modulus
@@ -167,12 +164,7 @@ class Origami::PaymentsController < BaseOrigamiController
@table_no = '' @table_no = ''
@shop = Shop::ShopDetail @shop = Shop::ShopDetail
if @shop.is_rounding_adj @rounding_adj = @sale_data.rounding_adjustment
new_total = Sale.get_rounding_adjustment(@sale_data.grand_total)
else
new_total = @sale_data.grand_total
end
@rounding_adj = new_total-@sale_data.grand_total
#get customer amount #get customer amount
@customer = Customer.find(@sale_data.customer_id) @customer = Customer.find(@sale_data.customer_id)

View File

@@ -6,12 +6,13 @@ class Origami::RedeemPaymentsController < BaseOrigamiController
sale_data = Sale.find_by_sale_id(@sale_id) sale_data = Sale.find_by_sale_id(@sale_id)
@shop = Shop::ShopDetail @shop = Shop::ShopDetail
if @shop.is_rounding_adj # if @shop.is_rounding_adj
new_total = Sale.get_rounding_adjustment(sale_data.grand_total) # new_total = Sale.get_rounding_adjustment(sale_data.grand_total)
else # else
new_total = sale_data.grand_total # new_total = sale_data.grand_total
end # end
@rounding_adj = new_total-sale_data.grand_total # @rounding_adj = new_total-sale_data.grand_total
@rounding_adj = sale_data.rounding_adjustment
@payparcount = 0 @payparcount = 0
others = 0 others = 0

View File

@@ -46,13 +46,13 @@ class Origami::UnionpayController < BaseOrigamiController
shop_details = Shop::ShopDetail shop_details = Shop::ShopDetail
# rounding adjustment # rounding adjustment
if shop_details.is_rounding_adj # if shop_details.is_rounding_adj
new_total = Sale.get_rounding_adjustment(saleObj.grand_total) # new_total = Sale.get_rounding_adjustment(saleObj.grand_total)
rounding_adj = new_total-saleObj.grand_total # rounding_adj = new_total-saleObj.grand_total
saleObj.update_attributes(grand_total: new_total,old_grand_total: saleObj.grand_total,rounding_adjustment:rounding_adj) # saleObj.update_attributes(grand_total: new_total,old_grand_total: saleObj.grand_total,rounding_adjustment:rounding_adj)
end # end
saleObj = Sale.find(sale_id) # saleObj = Sale.find(sale_id)
#end rounding adjustment #end rounding adjustment
sale_payment = SalePayment.new sale_payment = SalePayment.new
@status, @sale = sale_payment.process_payment(saleObj, @user, cash, "unionpay") @status, @sale = sale_payment.process_payment(saleObj, @user, cash, "unionpay")

View File

@@ -44,13 +44,13 @@ class Origami::VisaController < BaseOrigamiController
shop_details = Shop::ShopDetail shop_details = Shop::ShopDetail
# rounding adjustment # rounding adjustment
if shop_details.is_rounding_adj # if shop_details.is_rounding_adj
new_total = Sale.get_rounding_adjustment(saleObj.grand_total) # new_total = Sale.get_rounding_adjustment(saleObj.grand_total)
rounding_adj = new_total-saleObj.grand_total # rounding_adj = new_total-saleObj.grand_total
saleObj.update_attributes(grand_total: new_total,old_grand_total: saleObj.grand_total,rounding_adjustment:rounding_adj) # saleObj.update_attributes(grand_total: new_total,old_grand_total: saleObj.grand_total,rounding_adjustment:rounding_adj)
end # end
saleObj = Sale.find(sale_id) # saleObj = Sale.find(sale_id)
#end rounding adjustment #end rounding adjustment
sale_payment = SalePayment.new sale_payment = SalePayment.new
@status, @sale = sale_payment.process_payment(saleObj, @user, cash, "visa") @status, @sale = sale_payment.process_payment(saleObj, @user, cash, "visa")

View File

@@ -470,8 +470,24 @@ class Sale < ApplicationRecord
end end
def adjust_rounding def adjust_rounding
self.grand_total saleObj = Sale.find(self.sale_id)
self.rounding_adjustment = 0.00 shop_details = Shop::ShopDetail
# rounding adjustment
if shop_details.is_rounding_adj
a = saleObj.grand_total % 25 # Modulus
b = saleObj.grand_total / 25 # Division
#not calculate rounding if modulus is 0 and division is even
#calculate rounding if modulus is zero or not zero and division are not even
if (a != 0.0 && b%2 != 0.0) || (a==0.0 && b%2 !=0)
new_total = Sale.get_rounding_adjustment(saleObj.grand_total)
self.rounding_adjustment = new_total-saleObj.grand_total
else
self.rounding_adjustment = 0.00
end
else
self.rounding_adjustment = 0.00
end
end end
#Generate new Receipt No when it is not assigned #Generate new Receipt No when it is not assigned