add payment type filter for order reservation
This commit is contained in:
@@ -365,7 +365,7 @@ class OrderReservation < ApplicationRecord
|
||||
end
|
||||
end
|
||||
|
||||
def self.get_order_reservation_by_shift(shift_sale_range,shift,from,to,provider)
|
||||
def self.get_order_reservation_by_shift(shift_sale_range,shift,from,to,provider,payment_type)
|
||||
## => left join -> show all sales although no orders
|
||||
if provider.blank?
|
||||
provider = ''
|
||||
@@ -374,21 +374,28 @@ class OrderReservation < ApplicationRecord
|
||||
provider = " and deliveries.provider = '#{provider}'"
|
||||
end
|
||||
end
|
||||
if payment_type.blank?
|
||||
payment_type = ''
|
||||
else
|
||||
if payment_type.present?
|
||||
payment_type = " and order_reservations.payment_type = '#{payment_type}'"
|
||||
end
|
||||
end
|
||||
|
||||
query = OrderReservation.select("order_reservations.*, deliveries.provider, deliveries.delivery_fee, customers.name, customers.email")
|
||||
query = OrderReservation.select("order_reservations.*, sales.receipt_date, deliveries.provider, deliveries.delivery_fee, customers.name, customers.email")
|
||||
.joins(" JOIN deliveries on deliveries.order_reservation_id = order_reservations.order_reservation_id")
|
||||
.joins(" JOIN customers on customers.customer_id = order_reservations.customer_id")
|
||||
.joins(" JOIN sales on sales.sale_id = order_reservations.sale_id")
|
||||
if shift.present?
|
||||
query = query.where("sales.shift_sale_id in (?) #{provider} and sales.sale_status= 'completed' and sale_payments.payment_amount != 0", shift.to_a)
|
||||
query = query.where("sales.shift_sale_id in (?) #{provider} #{payment_type} and sales.sale_status= 'completed' and sale_payments.payment_amount != 0", shift.to_a)
|
||||
.joins("join sale_payments on sale_payments.sale_id = sales.sale_id")
|
||||
.group("sales.sale_id")
|
||||
elsif shift_sale_range.present?
|
||||
query = query.where("sales.sale_status='completed' #{provider} and sale_payments.payment_amount != 0 and sales.shift_sale_id in (?)",shift_sale_range.to_a)
|
||||
query = query.where("sales.sale_status='completed' #{provider} #{payment_type} and sale_payments.payment_amount != 0 and sales.shift_sale_id in (?)",shift_sale_range.to_a)
|
||||
.joins("join sale_payments on sale_payments.sale_id = sales.sale_id")
|
||||
.group("sales.sale_id")
|
||||
else
|
||||
query = query.where("sales.sale_status='completed' and sales.receipt_date between ? and ? #{provider} and sale_payments.payment_amount != 0",from,to)
|
||||
query = query.where("sales.sale_status='completed' and sales.receipt_date between ? and ? #{provider} #{payment_type} and sale_payments.payment_amount != 0",from,to)
|
||||
.joins("join sale_payments on sale_payments.sale_id = sales.sale_id")
|
||||
.group("sales.sale_id")
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user