shift double update for sx cashier
This commit is contained in:
@@ -34,16 +34,20 @@ class Api::PaymentsController < Api::ApiController
|
||||
|
||||
if status == true && @membership_data["status"] == true
|
||||
sale_payment = SalePayment.new
|
||||
sale_payment.process_payment(sale, current_login_employee, 0, "cash")
|
||||
status = sale_payment.process_payment(sale, current_login_employee, 0, "cash")
|
||||
#card_balance amount for Paymal payment
|
||||
card_balance_amount = SaleAudit.getCardBalanceAmount(params[:sale_id])
|
||||
|
||||
render json: JSON.generate({:status => true, :balance_amount => card_balance_amount,:receipt_no => sale.receipt_no, :message => "Payment successful."})
|
||||
else
|
||||
if @membership_data["card_balance_amount"] != "null"
|
||||
render json: JSON.generate({:status => false, :balance_amount => @membership_data["card_balance_amount"], :error_message => @membership_data["message"]})
|
||||
if @membership_data
|
||||
if @membership_data["card_balance_amount"] != "null"
|
||||
render json: JSON.generate({:status => false, :balance_amount => @membership_data["card_balance_amount"], :error_message => @membership_data["message"]})
|
||||
else
|
||||
render json: JSON.generate({:status => false, :error_message => @membership_data["message"]})
|
||||
end
|
||||
else
|
||||
render json: JSON.generate({:status => false, :error_message => @membership_data["message"]})
|
||||
render json: JSON.generate({:status => false, :error_message => "Payment failed!"})
|
||||
end
|
||||
end
|
||||
else
|
||||
|
||||
@@ -73,39 +73,46 @@ class SalePayment < ApplicationRecord
|
||||
puts "it was something else"
|
||||
end
|
||||
|
||||
#record an payment in sale-audit
|
||||
remark = "Payment #{payment_method}- for Invoice #{invoice.receipt_no} Due [#{amount_due}]| pay amount -> #{cash_amount} | Payment Status ->#{payment_status}"
|
||||
if payment_for
|
||||
shift = ShiftSale.current_open_shift(self.sale.cashier_id)
|
||||
if !shift.nil?
|
||||
shift_sale_id = shift.id
|
||||
if payment_status
|
||||
#record an payment in sale-audit
|
||||
remark = "Payment #{payment_method}- for Invoice #{invoice.receipt_no} Due [#{amount_due}]| pay amount -> #{cash_amount} | Payment Status ->#{payment_status}"
|
||||
if payment_for
|
||||
shift = ShiftSale.current_open_shift(self.sale.cashier_id)
|
||||
if !shift.nil?
|
||||
shift_sale_id = shift.id
|
||||
else
|
||||
shift = ShiftSale.current_shift
|
||||
shift_sale_id = shift.id
|
||||
end
|
||||
|
||||
remark = "#{self.sale_payment_id}||#{shift_sale_id} -> #{remark}"
|
||||
|
||||
sale_audit = SaleAudit.record_payment(invoice.id, remark, action_by.name)
|
||||
if payment_method == "cash"
|
||||
update_shift_for_credit_payment
|
||||
end
|
||||
else
|
||||
shift = ShiftSale.current_shift
|
||||
shift_sale_id = shift.id
|
||||
sale_audit = SaleAudit.record_payment(invoice.id, remark, action_by.name)
|
||||
end
|
||||
|
||||
remark = "#{self.sale_payment_id}||#{shift_sale_id} -> #{remark}"
|
||||
|
||||
sale_audit = SaleAudit.record_payment(invoice.id, remark, action_by.name)
|
||||
if payment_method == "cash"
|
||||
update_shift_for_credit_payment
|
||||
# update complete order items in oqs
|
||||
booking = Booking.find_by_sale_id(sale_id)
|
||||
booking.booking_orders.each do |sodr|
|
||||
assigned =AssignedOrderItem.where("order_id = '#{ sodr.order_id }'").pluck(:assigned_order_item_id)
|
||||
AssignedOrderItem.where('assigned_order_item_id IN (?)', assigned).update_all(delivery_status: true)
|
||||
# AssignedOrderItem.where("order_id = '#{ sodr.order_id }'").find_each do |aoi|
|
||||
# aoi.delivery_status = 1
|
||||
# aoi.save
|
||||
# end
|
||||
end
|
||||
|
||||
return true, self.save,membership_data
|
||||
else
|
||||
sale_audit = SaleAudit.record_payment(invoice.id, remark, action_by.name)
|
||||
#record an payment in sale-audit
|
||||
remark = "Payment failed - Grand Total [#{invoice.grand_total}] | Due [#{amount_due}] | Paid [#{invoice.amount_received}]"
|
||||
sale_audit = SaleAudit.record_payment(invoice.id, remark,action_by.name)
|
||||
return false, "Payment failed"
|
||||
end
|
||||
|
||||
# update complete order items in oqs
|
||||
booking = Booking.find_by_sale_id(sale_id)
|
||||
booking.booking_orders.each do |sodr|
|
||||
assigned =AssignedOrderItem.where("order_id = '#{ sodr.order_id }'").pluck(:assigned_order_item_id)
|
||||
AssignedOrderItem.where('assigned_order_item_id IN (?)', assigned).update_all(delivery_status: true)
|
||||
# AssignedOrderItem.where("order_id = '#{ sodr.order_id }'").find_each do |aoi|
|
||||
# aoi.delivery_status = 1
|
||||
# aoi.save
|
||||
# end
|
||||
end
|
||||
|
||||
return true, self.save,membership_data
|
||||
else
|
||||
#record an payment in sale-audit
|
||||
remark = "No outstanding Amount - Grand Total [#{invoice.grand_total}] | Due [#{amount_due}] | Paid [#{invoice.amount_received}]"
|
||||
@@ -324,7 +331,7 @@ class SalePayment < ApplicationRecord
|
||||
self.outstanding_amount = credit_sale_payment - self.received_amount.to_f
|
||||
end
|
||||
self.payment_status = "paid"
|
||||
payment_method = self.save!
|
||||
payment_status = self.save!
|
||||
if !payment_for
|
||||
sale_update_payment_status(self.received_amount,status)
|
||||
end
|
||||
@@ -346,7 +353,7 @@ class SalePayment < ApplicationRecord
|
||||
# self.outstanding_amount = self.sale.grand_total.to_f - self.received_amount.to_f
|
||||
self.outstanding_amount = 0.00
|
||||
self.payment_status = "paid"
|
||||
payment_method = self.save!
|
||||
payment_status = self.save!
|
||||
# sale_update_payment_status(self.received_amount)
|
||||
sale_update_payment_status(0)
|
||||
return payment_status
|
||||
@@ -360,7 +367,7 @@ class SalePayment < ApplicationRecord
|
||||
self.customer_id = self.customer_id
|
||||
self.outstanding_amount = 0 - self.received_amount.to_f
|
||||
self.payment_status = "outstanding"
|
||||
payment_method = self.save!
|
||||
payment_status = self.save!
|
||||
|
||||
sale_update_payment_status(self.received_amount)
|
||||
return payment_status
|
||||
@@ -378,7 +385,7 @@ class SalePayment < ApplicationRecord
|
||||
self.outstanding_amount = credit_payment[0].payment_amount.to_f - self.received_amount.to_f
|
||||
end
|
||||
self.payment_status = "paid"
|
||||
payment_method = self.save!
|
||||
payment_status = self.save!
|
||||
if payment_for
|
||||
update_shift_for_credit_payment
|
||||
else
|
||||
@@ -396,7 +403,7 @@ class SalePayment < ApplicationRecord
|
||||
self.payment_reference = self.voucher_no
|
||||
self.outstanding_amount = self.sale.grand_total- self.received_amount
|
||||
self.payment_status = "paid"
|
||||
payment_method = self.save!
|
||||
payment_status = self.save!
|
||||
sale_update_payment_status(self.received_amount)
|
||||
|
||||
return payment_status
|
||||
@@ -412,7 +419,7 @@ class SalePayment < ApplicationRecord
|
||||
self.payment_reference = self.giftcard_no
|
||||
self.outstanding_amount = self.sale.grand_total- self.received_amount
|
||||
self.payment_status = "paid"
|
||||
payment_method = self.save!
|
||||
payment_status = self.save!
|
||||
sale_update_payment_status(self.received_amount)
|
||||
|
||||
return payment_status
|
||||
@@ -436,9 +443,9 @@ class SalePayment < ApplicationRecord
|
||||
self.payment_amount = self.received_amount
|
||||
self.payment_reference = self.voucher_no
|
||||
self.outstanding_amount = self.sale.grand_total.to_f - self.received_amount.to_f
|
||||
self.payment_status = "pending"
|
||||
payment_method = self.save!
|
||||
SalePayment.where(:sale_payment_id => self.sale_payment_id).update_all(:payment_status => 'paid')
|
||||
self.payment_status = "paid"
|
||||
payment_status = self.save!
|
||||
# SalePayment.where(:sale_payment_id => self.sale_payment_id).update_all(:payment_status => 'paid')
|
||||
sale_update_payment_status(self.received_amount.to_f)
|
||||
|
||||
else
|
||||
@@ -470,8 +477,8 @@ class SalePayment < ApplicationRecord
|
||||
self.payment_reference = self.voucher_no
|
||||
self.outstanding_amount = self.sale.grand_total.to_f - self.received_amount.to_f
|
||||
self.payment_status = "paid"
|
||||
payment_method = self.save!
|
||||
SalePayment.where(:sale_payment_id => self.sale_payment_id).update_all(:payment_status => 'paid')
|
||||
payment_status = self.save!
|
||||
# SalePayment.where(:sale_payment_id => self.sale_payment_id).update_all(:payment_status => 'paid')
|
||||
sale_update_payment_status(self.received_amount.to_f)
|
||||
|
||||
else
|
||||
@@ -490,7 +497,7 @@ class SalePayment < ApplicationRecord
|
||||
# self.payment_reference = self.payment_reference
|
||||
self.outstanding_amount = self.sale.grand_total- self.received_amount
|
||||
self.payment_status = "paid"
|
||||
payment_method = self.save!
|
||||
payment_status = self.save!
|
||||
sale_update_payment_status(self.received_amount)
|
||||
return payment_status
|
||||
end
|
||||
@@ -520,7 +527,7 @@ class SalePayment < ApplicationRecord
|
||||
self.payment_reference = self.voucher_no
|
||||
self.outstanding_amount = self.sale.grand_total.to_f - self.received_amount.to_f
|
||||
self.payment_status = "paid"
|
||||
payment_method = self.save!
|
||||
payment_status = self.save!
|
||||
SalePayment.where(:sale_payment_id => self.sale_payment_id).update_all(:payment_status => 'paid')
|
||||
sale_update_payment_status(self.received_amount.to_f)
|
||||
|
||||
@@ -539,12 +546,12 @@ class SalePayment < ApplicationRecord
|
||||
self.payment_reference = self.payment_reference
|
||||
self.outstanding_amount = self.sale.grand_total.to_f - self.received_amount.to_f
|
||||
self.payment_status = "paid"
|
||||
payment_method = self.save!
|
||||
payment_status = self.save!
|
||||
sale_update_payment_status(self.received_amount)
|
||||
return payment_status
|
||||
end
|
||||
|
||||
def sale_update_payment_status(paid_amount,check_foc = false)
|
||||
def sale_update_payment_status(paid_amount,check_foc = false)
|
||||
#update amount_outstanding
|
||||
self.sale.amount_received = self.sale.amount_received.to_f + paid_amount.to_f
|
||||
self.sale.save!
|
||||
|
||||
Reference in New Issue
Block a user