diff --git a/app/controllers/home_controller.rb b/app/controllers/home_controller.rb index 7d87ea8f..0d155b9e 100755 --- a/app/controllers/home_controller.rb +++ b/app/controllers/home_controller.rb @@ -126,8 +126,11 @@ class HomeController < ApplicationController if !employee_sales.nil? employee_sales.each do |emp| emp_data = [] - emp_data.push([emp.e_name, emp.payment_amount]) - @employee_sales.push({'name' => emp.payment_method, 'data' => emp_data}) + if emp.payment_amount > 0 + emp_data.push([emp.e_name, emp.payment_amount]) + + @employee_sales.push({'name' => emp.payment_method, 'data' => emp_data}) + end end end @inventories = StockJournal.inventory_balances(today,@from,@to,@from_time,@to_time).sum(:balance) diff --git a/app/models/sale.rb b/app/models/sale.rb index ccd25fc5..db9ca306 100644 --- a/app/models/sale.rb +++ b/app/models/sale.rb @@ -725,12 +725,13 @@ class Sale < ApplicationRecord def self.daily_sales_list(from,to) - sub_query = "SELECT (CASE WHEN SUM(sale_payments.payment_amount) > 0 THEN SUM(sale_payments.payment_amount) ELSE 0 END) - FROM sale_payments - INNER JOIN sale_audits sa - ON SUBSTRING_INDEX(sa.remark,'||',1)=sale_payments.sale_payment_id - INNER JOIN sales ON sa.sale_id = sales.sale_id - WHERE sales.sale_status='completed' AND sales.receipt_date between '#{from}' and '#{to}'" + sub_query = "SELECT (CASE WHEN SUM(sale_payments.payment_amount) > 0 THEN + (SUM(sale_payments.payment_amount) + SUM(sale_payments.outstanding_amount)) ELSE 0 END) + FROM sale_payments + INNER JOIN sale_audits sa ON SUBSTRING_INDEX(sa.remark,'||',1)=sale_payments.sale_payment_id + INNER JOIN sales s ON s.sale_id=sa.sale_id + WHERE s.sale_status='completed' + AND DATE_FORMAT(CONVERT_TZ(s.receipt_date,'+00:00','+06:30'),'%Y-%m-%d') = DATE_FORMAT(CONVERT_TZ(sales.receipt_date,'+00:00','+06:30'),'%Y-%m-%d')" payments_total = Sale.select("CAST((CONVERT_TZ(sales.receipt_date,'+00:00','+06:30')) AS DATE) as sale_date, SUM(case when (sale_payments.payment_method='mpu') then sale_payments.payment_amount else 0 end) as mpu_amount, @@ -747,7 +748,7 @@ def self.daily_sales_list(from,to) (CASE WHEN (SUM(case when (sale_payments.payment_method='creditnote') then sale_payments.payment_amount else 0 end)) > 0 THEN (SUM(case when (sale_payments.payment_method='creditnote') then sale_payments.payment_amount else 0 end) - (#{sub_query})) ELSE 0 END) as credit_amount, SUM(case when (sale_payments.payment_method='giftvoucher') then sale_payments.payment_amount else 0 end) as giftvoucher_amount, SUM(case when (sale_payments.payment_method='foc') then sale_payments.payment_amount else 0 end) as foc_amount") - .joins(" left join sale_payments on sale_payments.sale_id = sales.sale_id") + .joins(" join sale_payments on sale_payments.sale_id = sales.sale_id") .where("sale_status = ? AND sales.receipt_date between ? and ? ", 'completed', from, to) .group("DATE_FORMAT((CONVERT_TZ(sales.receipt_date,'+00:00','+06:30')),'%Y-%m-%d')") @@ -1113,7 +1114,8 @@ def self.get_by_shift_sale_credit_payment(shift_sale_range,shift,from,to,filter) INNER JOIN sale_audits ON SUBSTRING_INDEX(sale_audits.remark,'||',1)=sale_payments.sale_payment_id WHERE sale_audits.sale_id = s.sale_id" - sub_query1 = "SELECT (CASE WHEN SUM(payment_amount) > 0 THEN SUM(payment_amount) ELSE 0 END) + sub_query1 = "SELECT (CASE WHEN SUM(payment_amount) > 0 THEN SUM(payment_amount) - + (SUM(payment_amount) - (SELECT SUM(payment_amount) FROM sale_payments WHERE payment_method='creditnote' AND sale_id=s.sale_id)) ELSE 0 END) FROM `sale_payments` INNER JOIN sale_audits ON SUBSTRING_INDEX(sale_audits.remark,'||',1)=sale_payments.sale_payment_id WHERE sale_audits.sale_id = s.sale_id" @@ -1498,7 +1500,7 @@ end else query = query.where('sale_status = "completed" and DATE_FORMAT(CONVERT_TZ(receipt_date,"+00:00","+06:30"),"%Y-%m-%d") between ? and ?',from,to) end - query = query.group("date_format(CONVERT_TZ(receipt_date,'+00:00', 'SYSTEM'), '%I %p')") + query = query.group("date_format(CONVERT_TZ(receipt_date,'+00:00', '+06:30'), '%I %p')") .order('receipt_date') else if current_user.role == 'administrator' || current_user.role == 'manager' || current_user.role == 'account' || current_user.role == 'supervisor' @@ -1508,7 +1510,7 @@ end else query = query.where('sale_status = "completed" and DATE_FORMAT(CONVERT_TZ(receipt_date,"+00:00","+06:30"),"%Y-%m-%d") between ? and ?',from,to) end - query = query.group("date_format(CONVERT_TZ(receipt_date,'+00:00', 'SYSTEM'), '%I %p')") + query = query.group("date_format(CONVERT_TZ(receipt_date,'+00:00', '+06:30'), '%I %p')") .order('receipt_date') else shift = ShiftSale.current_open_shift(current_user.id) @@ -1551,7 +1553,7 @@ end def self.employee_sales(today,current_user,from,to,from_time,to_time) #sub query for credit payment - sub_query = "SELECT (CASE WHEN SUM(sale_payments.payment_amount) > 0 THEN SUM(sale_payments.payment_amount) ELSE 0 END) AS payment_amount + sub_query = "SELECT (CASE WHEN SUM(sale_payments.payment_amount) > 0 THEN SUM(sale_payments.payment_amount) + SUM(sale_payments.outstanding_amount) ELSE 0 END) AS payment_amount FROM sale_payments INNER JOIN sale_audits ON SUBSTRING_INDEX(sale_audits.remark,'||',1)=sale_payments.sale_payment_id INNER JOIN sales ON sale_audits.sale_id = sales.sale_id @@ -1741,7 +1743,7 @@ end end def self.credit_payment(today,current_user=nil,from=nil,to=nil,from_time=nil,to_time=nil) - sub_query = SalePayment.select("(CASE WHEN SUM(sale_payments.payment_amount) > 0 THEN SUM(sale_payments.payment_amount) ELSE 0 END) as total_credit_payment") + sub_query = SalePayment.select("(CASE WHEN SUM(sale_payments.payment_amount) > 0 THEN SUM(sale_payments.payment_amount) + SUM(sale_payments.outstanding_amount) ELSE 0 END) as total_credit_payment") .joins(" JOIN sale_audits ON SUBSTRING_INDEX(sale_audits.remark,'||',1)=sale_payments.sale_payment_id") .joins(" JOIN sales ON sale_audits.sale_id = sales.sale_id") .where("sales.sale_status='completed'") @@ -1969,7 +1971,7 @@ end time_query = " and DATE_FORMAT(CONVERT_TZ(sales.receipt_date, '+00:00', '+06:30'),'%H:%i') between '#{from_time}' and '#{to_time}'" end - sub_query = "SELECT (CASE WHEN SUM(sale_payments.payment_amount) > 0 THEN SUM(sale_payments.payment_amount) ELSE 0 END) + sub_query = "SELECT (CASE WHEN SUM(sale_payments.payment_amount) > 0 THEN SUM(sale_payments.payment_amount) + SUM(sale_payments.outstanding_amount) ELSE 0 END) FROM sale_payments INNER JOIN sale_audits ON SUBSTRING_INDEX(sale_audits.remark,'||',1)=sale_payments.sale_payment_id INNER JOIN sales ON sale_audits.sale_id = sales.sale_id diff --git a/app/models/sale_payment.rb b/app/models/sale_payment.rb index 93395250..41ec593a 100755 --- a/app/models/sale_payment.rb +++ b/app/models/sale_payment.rb @@ -21,7 +21,7 @@ class SalePayment < ApplicationRecord invoice_sale_payments = invoice.sale_payments amount_due = invoice.grand_total end - + invoice_sale_payments.each do |payment| if (payment.payment_status == "paid" ) amount_due = amount_due - payment.payment_amount diff --git a/app/views/transactions/order_reservations/index.html.erb b/app/views/transactions/order_reservations/index.html.erb index 7709e402..f8063fd2 100644 --- a/app/views/transactions/order_reservations/index.html.erb +++ b/app/views/transactions/order_reservations/index.html.erb @@ -116,13 +116,15 @@ discount_amount = order_reservation.discount_amount delivery_fee = order_reservation.delivery_fee ? order_reservation.delivery_fee : 0.0 convenience_charge = order_reservation.convenience_charge - JSON.parse(order_reservation.taxes).each do |tax_data| - if tax_data[0] == "delivery_tax" - delivery_tax = tax_data[1] - elsif tax_data[0] == "convenience_tax" - convenience_tax = tax_data[1] - elsif tax_data[0] == "commercial_tax" - commercial_tax = tax_data[1] + if !JSON.parse(order_reservation.taxes).empty? + JSON.parse(order_reservation.taxes).each do |tax_data| + if tax_data[0] == "delivery_tax" + delivery_tax = tax_data[1] + elsif tax_data[0] == "convenience_tax" + convenience_tax = tax_data[1] + elsif tax_data[0] == "commercial_tax" + commercial_tax = tax_data[1] + end end end %> diff --git a/app/views/transactions/order_reservations/show.html.erb b/app/views/transactions/order_reservations/show.html.erb index ed6d2da8..7ab06b0c 100755 --- a/app/views/transactions/order_reservations/show.html.erb +++ b/app/views/transactions/order_reservations/show.html.erb @@ -104,13 +104,15 @@ discount_amount = @order_reservation.discount_amount delivery_fee = @order_reservation.delivery_fee ? @order_reservation.delivery_fee : 0.0 convenience_charge = @order_reservation.convenience_charge - JSON.parse(@order_reservation.taxes).each do |tax_data| - if tax_data[0] == "delivery_tax" - delivery_tax = tax_data[1] - elsif tax_data[0] == "convenience_tax" - convenience_tax = tax_data[1] - elsif tax_data[0] == "commercial_tax" - commercial_tax = tax_data[1] + if !JSON.parse(order_reservation.taxes).empty? + JSON.parse(@order_reservation.taxes).each do |tax_data| + if tax_data[0] == "delivery_tax" + delivery_tax = tax_data[1] + elsif tax_data[0] == "convenience_tax" + convenience_tax = tax_data[1] + elsif tax_data[0] == "commercial_tax" + commercial_tax = tax_data[1] + end end end total_discount_amount += discount_amount.to_f