diff --git a/app/models/sale_payment.rb b/app/models/sale_payment.rb index 4a06337b..df3969a8 100755 --- a/app/models/sale_payment.rb +++ b/app/models/sale_payment.rb @@ -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