Add Account Filture

This commit is contained in:
San Wai Lwin
2018-07-05 15:29:33 +06:30
parent a3c24e8bf6
commit ebaf4ad418
4 changed files with 34 additions and 9 deletions

View File

@@ -911,9 +911,14 @@ def self.get_other_charges()
query = query.group("i.sale_item_id")
end
def self.get_by_shift_items(shift_sale_range, shift, from, to, status,type)
def self.get_by_shift_items(shift_sale_range, shift, from, to, status,type,account_type)
# date_type_selection = get_sql_function_for_report_type(report_type)
if account_type.blank?
account_type = ''
else
account_type = " and acc.title = '#{account_type}'"
end
query = self.get_item_query(type)
discount_query = 0
@@ -929,7 +934,7 @@ def self.get_by_shift_items(shift_sale_range, shift, from, to, status,type)
product = self.get_product_sale()
if shift.present?
query = query.where("sales.shift_sale_id IN (?) and sale_status='completed'",shift.to_a)
query = query.where("sales.shift_sale_id IN (?) #{account_type} and sale_status='completed'",shift.to_a)
if type.nil? || type == 'all' || type == "other"
other_charges = other_charges.where("sales.shift_sale_id IN (?) and sale_status='completed'",shift.to_a)
end
@@ -952,7 +957,7 @@ def self.get_by_shift_items(shift_sale_range, shift, from, to, status,type)
### => get all sales range in shift_sales
elsif shift_sale_range.present?
query = query.where("sales.shift_sale_id IN (?) and sale_status='completed'",shift_sale_range.to_a)
query = query.where("sales.shift_sale_id IN (?) #{account_type} and sale_status='completed'",shift_sale_range.to_a)
if type.nil? || type == 'all' || type == "other"
other_charges = other_charges.where("sales.shift_sale_id IN (?) and sale_status='completed'",shift_sale_range.to_a)
end
@@ -975,11 +980,13 @@ def self.get_by_shift_items(shift_sale_range, shift, from, to, status,type)
total_grand_total = total_cash_amount.to_f + total_card_amount.to_f + total_credit_amount.to_f
else
query = query.where("sales.receipt_date between ? and ? and sale_status='completed'",from,to)
query = query.where("sales.receipt_date between ? and ? #{account_type} and sale_status='completed'",from,to)
if type.nil? || type == 'all' || type == "other"
other_charges = other_charges.where("sales.receipt_date between ? and ? and sale_status='completed'",from,to)
end
product = product.where("sales.receipt_date between ? and ? and sale_status='completed'",from,to)
discount_query = Sale.where("sales.receipt_date between ? and ? and sale_status ='completed'", from,to).sum(:total_discount)
change_amount = Sale.where("sales.receipt_date between ? and ? and sale_status ='completed'", from,to).sum(:amount_changed)
sale_cash = Sale.select("SUM(case when (sale_payments.payment_method = 'mpu' or sale_payments.payment_method = 'visa' or sale_payments.payment_method = 'master' or sale_payments.payment_method = 'jcb' or sale_payments.payment_method = 'paypar' or sale_payments.payment_method = 'unionpay' or sale_payments.payment_method = 'alipay' or sale_payments.payment_method = 'paymal' or sale_payments.payment_method = 'dinga' or sale_payments.payment_method = 'JunctionPay' or sale_payments.payment_method = 'giftvoucher') then (sale_payments.payment_amount) else 0 end) as card_amount,