added customer report
This commit is contained in:
@@ -1214,6 +1214,36 @@ def self.get_shift_sales_by_receipt_no(shift_sale_range, shift, from, to, paymen
|
||||
return query
|
||||
end
|
||||
|
||||
def self.get_shift_sales_by_customer(shift_sale_range, shift, from, to, membership_type, customer_filter)
|
||||
## => left join -> show all sales although no orders
|
||||
query = Sale.includes(:sale_items).select("sales.*, sale_payments.*")
|
||||
.select("customers.customer_id, customers.name as customer_name,customers.membership_type as membership_type, dining_facilities.name, dining_facilities.type")
|
||||
.joins("INNER JOIN sale_payments ON sale_payments.sale_id = sales.sale_id")
|
||||
.joins("INNER JOIN bookings ON bookings.sale_id = sales.sale_id")
|
||||
.joins("LEFT JOIN dining_facilities ON dining_facilities.id = bookings.dining_facility_id")
|
||||
.completed.where.not(total_amount: 0)
|
||||
.group("sales.sale_id")
|
||||
|
||||
if customer_filter.present?
|
||||
query = query.joins(sanitize_sql_array(["INNER JOIN customers ON customers.customer_id = sales.customer_id AND " +
|
||||
"customers.name LIKE :filter", filter: "%#{customer_filter}%"]))
|
||||
else
|
||||
query = query.joins(:customer)
|
||||
end
|
||||
if !membership_type.blank?
|
||||
query = query.where("customers.membership_type = (?)", membership_type)
|
||||
end
|
||||
|
||||
if shift.present?
|
||||
query = query.where("sales.shift_sale_id in (?)", shift.to_a)
|
||||
elsif shift_sale_range.present?
|
||||
query = query.where("sales.shift_sale_id in (?)", shift_sale_range.to_a)
|
||||
else
|
||||
query = query.where("sales.receipt_date between ? and ?", from, to)
|
||||
end
|
||||
return query.group_by(&:membership_type)
|
||||
end
|
||||
|
||||
def self.get_shift_sales_by_receipt_no_detail(shift_sale_range, shift, from, to, payment_type, customer_filter)
|
||||
## => left join -> show all sales although no orders
|
||||
puts customer_filter
|
||||
|
||||
Reference in New Issue
Block a user