change calculation for change amount in credit payment

This commit is contained in:
phyusin
2018-07-23 16:50:02 +06:30
parent 8626fbd2c2
commit 65d85309b5

View File

@@ -85,6 +85,9 @@ class SalePayment < ApplicationRecord
remark = "#{self.sale_payment_id}||#{shift_sale_id} -> #{remark}"
sale_audit = SaleAudit.record_payment(invoice.id, remark, action_by)
if payment_method == "cash"
update_shift_for_credit_payment
end
else
sale_audit = SaleAudit.record_payment(invoice.id, remark, action_by)
end
@@ -319,9 +322,7 @@ class SalePayment < ApplicationRecord
end
self.payment_status = "paid"
payment_method = self.save!
if payment_for
update_shift_for_credit_payment
else
if !payment_for
sale_update_payment_status(self.received_amount,status)
end
return payment_status
@@ -641,10 +642,11 @@ class SalePayment < ApplicationRecord
if credit_payment_left == 0 || credit_payment_left >= self.received_amount.to_f
shift.cash_sales = shift.cash_sales.to_f + self.received_amount.to_f
else
shift.cash_sales = shift.cash_sales.to_f + credit_payment_left
extra_changed_amount = self.received_amount.to_f - credit_payment_left
self.sale.amount_received = self.sale.amount_received.to_f + extra_changed_amount.to_f
self.sale.amount_changed = self.sale.amount_changed.to_f + extra_changed_amount.to_f
# extra_changed_amount = self.received_amount.to_f + credit_payment_left
shift.cash_sales = shift.cash_sales.to_f + (self.received_amount.to_f + credit_payment_left)
self.sale.amount_received = self.sale.amount_received.to_f - credit_payment_left
self.sale.amount_changed = self.sale.amount_changed.to_f - credit_payment_left
self.sale.save!
end
else
@@ -653,7 +655,7 @@ class SalePayment < ApplicationRecord
if credit_payment_left == 0 || credit_payment_left >= self.received_amount.to_f
shift.credit_sales = shift.credit_sales.to_f - self.received_amount.to_f
else
shift.cash_sales = shift.credit_sales.to_f - credit_payment_left
shift.credit_sales = shift.credit_sales.to_f - (self.received_amount.to_f + credit_payment_left)
end
shift.save
end
@@ -894,7 +896,7 @@ class SalePayment < ApplicationRecord
join sale_audits on SUBSTRING_INDEX(remark,'||',1)=sale_payment_id
where sale_payments.sale_id = '#{self.sale_id}'"
query = SalePayment.select("(CASE WHEN (SUM(payment_amount) - (#{sql})) > 0 THEN (SUM(payment_amount) - (#{sql})) ELSE 0 END) as payment_amount")
query = SalePayment.select("(SUM(payment_amount) - (#{sql})) as payment_amount")
.where("sale_payments.payment_method = 'creditnote' AND sale_payments.sale_id = '#{self.sale_id}'")
return query
end