check order reservation

This commit is contained in:
phyusin
2018-05-07 13:32:58 +06:30
parent be9218dd79
commit 391cc19117
14 changed files with 119 additions and 146 deletions

View File

@@ -237,6 +237,34 @@ class OrderReservation < ApplicationRecord
end
end
def self.get_order_reservation_by_shift(shift_sale_range,shift,from,to,provider)
## => left join -> show all sales although no orders
if provider.blank?
provider = ''
else
if provider.present?
provider = " and deliveries.provider = '#{provider}'"
end
end
query = OrderReservation.joins(" JOIN deliveries on deliveries.order_reservation_id = order_reservations.order_reservation_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)
.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)
.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)
.joins("join sale_payments on sale_payments.sale_id = sales.sale_id")
.group("sales.sale_id")
end
return query
end
private
def generate_custom_id
self.order_reservation_id = SeedGenerator.generate_id(self.class.name, "ODRS")