fix shift_sale double update

This commit is contained in:
Thein Lin Kyaw
2020-06-23 10:29:46 +06:30
parent 3e27990ac4
commit 276e437a07
4 changed files with 19 additions and 34 deletions

View File

@@ -153,7 +153,7 @@ class ShiftSale < ApplicationRecord
payment_methods = SalePayment.where.not(payment_method: ['cash', 'creditnote', 'foc']).distinct.pluck(:payment_method)
Sale.select("sales.sale_id,sale_payments.payment_method as name")
.select("#{payment_methods.map { |method| "SUM(case when (sale_payments.payment_method='#{method}') then sale_payments.payment_amount else 0 end) as #{method}"}.join(', ')}")
.select("#{payment_methods.map { |method| "SUM(case when (sale_payments.payment_method='#{method}') then sale_payments.payment_amount else 0 end) as #{method == 'paypar' ? 'redeem' : method}"}.join(', ')}")
.select("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)