close cashier total foc fixed
This commit is contained in:
@@ -643,18 +643,14 @@ class SalePayment < ApplicationRecord
|
||||
is_foc = sale_payments.any? { |x| x.payment_method == "foc" } || check_foc
|
||||
|
||||
if is_foc
|
||||
total_payment_amount = 0.0
|
||||
else
|
||||
total_payment_amount = sale_payments.sum(&:payment_amount)
|
||||
end
|
||||
|
||||
sale.amount_received = sale.amount_received.to_f + paid_amount.to_f
|
||||
sale.amount_changed = total_payment_amount - sale.grand_total.to_f
|
||||
|
||||
if is_foc
|
||||
sale.amount_received = 0.0
|
||||
sale.amount_changed = 0.0
|
||||
sale.payment_status = 'foc'
|
||||
sale.sale_status = 'completed'
|
||||
elsif sale.grand_total <= total_payment_amount && sale.sale_status == "new"
|
||||
elsif sale.grand_total <= sale_payments.sum(&:payment_amount) && sale.sale_status == "new"
|
||||
sale.amount_received = sale.amount_received + paid_amount
|
||||
sale.amount_changed = sale_payments.sum(&:payment_amount) - sale.grand_total
|
||||
|
||||
sale.payment_status = "paid"
|
||||
if is_credit
|
||||
sale.payment_status = "outstanding"
|
||||
|
||||
@@ -152,11 +152,12 @@ class ShiftSale < ApplicationRecord
|
||||
def self.get_by_shift_other_payment(shift)
|
||||
payment_methods = SalePayment.where.not(payment_method: ['cash', 'creditnote', 'foc']).distinct.pluck(:payment_method)
|
||||
|
||||
other_payment = Sale.select("sale_payments.payment_method as name,
|
||||
other_payment = Sale.select("sales.sale_id,sale_payments.payment_method as name,
|
||||
#{payment_methods.map { |method| "SUM(case when (sale_payments.payment_method='#{method}') then sale_payments.payment_amount else 0 end) as #{method}"}.join(', ')},
|
||||
SUM(case when (sale_payments.payment_method='foc') then (sale_payments.payment_amount) else 0 end) as foc_amount")
|
||||
.joins("join sale_payments on sale_payments.sale_id = sales.sale_id")
|
||||
.where("sales.shift_sale_id =? and sale_status = 'completed' and sale_payments.payment_amount != 0 ", shift.id)
|
||||
return other_payment
|
||||
end
|
||||
|
||||
def self.calculate_total_price_by_accounts(shift,type)
|
||||
|
||||
Reference in New Issue
Block a user