shift double update for sx cashier

This commit is contained in:
phyusin
2018-11-13 17:21:45 +06:30
parent 00ad7cfeb0
commit fe9b1ace90
2 changed files with 57 additions and 46 deletions

View File

@@ -34,16 +34,20 @@ class Api::PaymentsController < Api::ApiController
if status == true && @membership_data["status"] == true if status == true && @membership_data["status"] == true
sale_payment = SalePayment.new 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 for Paymal payment
card_balance_amount = SaleAudit.getCardBalanceAmount(params[:sale_id]) 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."}) render json: JSON.generate({:status => true, :balance_amount => card_balance_amount,:receipt_no => sale.receipt_no, :message => "Payment successful."})
else else
if @membership_data["card_balance_amount"] != "null" if @membership_data
render json: JSON.generate({:status => false, :balance_amount => @membership_data["card_balance_amount"], :error_message => @membership_data["message"]}) 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 else
render json: JSON.generate({:status => false, :error_message => @membership_data["message"]}) render json: JSON.generate({:status => false, :error_message => "Payment failed!"})
end end
end end
else else

View File

@@ -73,39 +73,46 @@ class SalePayment < ApplicationRecord
puts "it was something else" puts "it was something else"
end end
#record an payment in sale-audit if payment_status
remark = "Payment #{payment_method}- for Invoice #{invoice.receipt_no} Due [#{amount_due}]| pay amount -> #{cash_amount} | Payment Status ->#{payment_status}" #record an payment in sale-audit
if payment_for remark = "Payment #{payment_method}- for Invoice #{invoice.receipt_no} Due [#{amount_due}]| pay amount -> #{cash_amount} | Payment Status ->#{payment_status}"
shift = ShiftSale.current_open_shift(self.sale.cashier_id) if payment_for
if !shift.nil? shift = ShiftSale.current_open_shift(self.sale.cashier_id)
shift_sale_id = shift.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 else
shift = ShiftSale.current_shift sale_audit = SaleAudit.record_payment(invoice.id, remark, action_by.name)
shift_sale_id = shift.id
end end
remark = "#{self.sale_payment_id}||#{shift_sale_id} -> #{remark}" # update complete order items in oqs
booking = Booking.find_by_sale_id(sale_id)
sale_audit = SaleAudit.record_payment(invoice.id, remark, action_by.name) booking.booking_orders.each do |sodr|
if payment_method == "cash" assigned =AssignedOrderItem.where("order_id = '#{ sodr.order_id }'").pluck(:assigned_order_item_id)
update_shift_for_credit_payment 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 end
return true, self.save,membership_data
else 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 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 else
#record an payment in sale-audit #record an payment in sale-audit
remark = "No outstanding Amount - Grand Total [#{invoice.grand_total}] | Due [#{amount_due}] | Paid [#{invoice.amount_received}]" 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 self.outstanding_amount = credit_sale_payment - self.received_amount.to_f
end end
self.payment_status = "paid" self.payment_status = "paid"
payment_method = self.save! payment_status = self.save!
if !payment_for if !payment_for
sale_update_payment_status(self.received_amount,status) sale_update_payment_status(self.received_amount,status)
end 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 = self.sale.grand_total.to_f - self.received_amount.to_f
self.outstanding_amount = 0.00 self.outstanding_amount = 0.00
self.payment_status = "paid" self.payment_status = "paid"
payment_method = self.save! payment_status = self.save!
# sale_update_payment_status(self.received_amount) # sale_update_payment_status(self.received_amount)
sale_update_payment_status(0) sale_update_payment_status(0)
return payment_status return payment_status
@@ -360,7 +367,7 @@ class SalePayment < ApplicationRecord
self.customer_id = self.customer_id self.customer_id = self.customer_id
self.outstanding_amount = 0 - self.received_amount.to_f self.outstanding_amount = 0 - self.received_amount.to_f
self.payment_status = "outstanding" self.payment_status = "outstanding"
payment_method = self.save! payment_status = self.save!
sale_update_payment_status(self.received_amount) sale_update_payment_status(self.received_amount)
return payment_status 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 self.outstanding_amount = credit_payment[0].payment_amount.to_f - self.received_amount.to_f
end end
self.payment_status = "paid" self.payment_status = "paid"
payment_method = self.save! payment_status = self.save!
if payment_for if payment_for
update_shift_for_credit_payment update_shift_for_credit_payment
else else
@@ -396,7 +403,7 @@ class SalePayment < ApplicationRecord
self.payment_reference = self.voucher_no self.payment_reference = self.voucher_no
self.outstanding_amount = self.sale.grand_total- self.received_amount self.outstanding_amount = self.sale.grand_total- self.received_amount
self.payment_status = "paid" self.payment_status = "paid"
payment_method = self.save! payment_status = self.save!
sale_update_payment_status(self.received_amount) sale_update_payment_status(self.received_amount)
return payment_status return payment_status
@@ -412,7 +419,7 @@ class SalePayment < ApplicationRecord
self.payment_reference = self.giftcard_no self.payment_reference = self.giftcard_no
self.outstanding_amount = self.sale.grand_total- self.received_amount self.outstanding_amount = self.sale.grand_total- self.received_amount
self.payment_status = "paid" self.payment_status = "paid"
payment_method = self.save! payment_status = self.save!
sale_update_payment_status(self.received_amount) sale_update_payment_status(self.received_amount)
return payment_status return payment_status
@@ -436,9 +443,9 @@ class SalePayment < ApplicationRecord
self.payment_amount = self.received_amount self.payment_amount = self.received_amount
self.payment_reference = self.voucher_no self.payment_reference = self.voucher_no
self.outstanding_amount = self.sale.grand_total.to_f - self.received_amount.to_f self.outstanding_amount = self.sale.grand_total.to_f - self.received_amount.to_f
self.payment_status = "pending" 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') # SalePayment.where(:sale_payment_id => self.sale_payment_id).update_all(:payment_status => 'paid')
sale_update_payment_status(self.received_amount.to_f) sale_update_payment_status(self.received_amount.to_f)
else else
@@ -470,8 +477,8 @@ class SalePayment < ApplicationRecord
self.payment_reference = self.voucher_no self.payment_reference = self.voucher_no
self.outstanding_amount = self.sale.grand_total.to_f - self.received_amount.to_f self.outstanding_amount = self.sale.grand_total.to_f - self.received_amount.to_f
self.payment_status = "paid" 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') # SalePayment.where(:sale_payment_id => self.sale_payment_id).update_all(:payment_status => 'paid')
sale_update_payment_status(self.received_amount.to_f) sale_update_payment_status(self.received_amount.to_f)
else else
@@ -490,7 +497,7 @@ class SalePayment < ApplicationRecord
# self.payment_reference = self.payment_reference # self.payment_reference = self.payment_reference
self.outstanding_amount = self.sale.grand_total- self.received_amount self.outstanding_amount = self.sale.grand_total- self.received_amount
self.payment_status = "paid" self.payment_status = "paid"
payment_method = self.save! payment_status = self.save!
sale_update_payment_status(self.received_amount) sale_update_payment_status(self.received_amount)
return payment_status return payment_status
end end
@@ -520,7 +527,7 @@ class SalePayment < ApplicationRecord
self.payment_reference = self.voucher_no self.payment_reference = self.voucher_no
self.outstanding_amount = self.sale.grand_total.to_f - self.received_amount.to_f self.outstanding_amount = self.sale.grand_total.to_f - self.received_amount.to_f
self.payment_status = "paid" 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') SalePayment.where(:sale_payment_id => self.sale_payment_id).update_all(:payment_status => 'paid')
sale_update_payment_status(self.received_amount.to_f) sale_update_payment_status(self.received_amount.to_f)
@@ -539,7 +546,7 @@ class SalePayment < ApplicationRecord
self.payment_reference = self.payment_reference self.payment_reference = self.payment_reference
self.outstanding_amount = self.sale.grand_total.to_f - self.received_amount.to_f self.outstanding_amount = self.sale.grand_total.to_f - self.received_amount.to_f
self.payment_status = "paid" self.payment_status = "paid"
payment_method = self.save! payment_status = self.save!
sale_update_payment_status(self.received_amount) sale_update_payment_status(self.received_amount)
return payment_status return payment_status
end end