diff --git a/app/controllers/foodcourt/qrpay_controller.rb b/app/controllers/foodcourt/qrpay_controller.rb index 07fc6e25..e9c88d27 100644 --- a/app/controllers/foodcourt/qrpay_controller.rb +++ b/app/controllers/foodcourt/qrpay_controller.rb @@ -481,7 +481,7 @@ class Foodcourt::QrpayController < BaseFoodcourtController end # remark = "Void Sale ID #{sale_id} | Receipt No #{sale.receipt_no} | Receipt No #{sale.receipt_no} | Table ->#{table.name}" - sale_audit = SaleAudit.record_audit_for_edit(sale.sale_id, current_user.name, action_by,remark, "SALEVOID") + sale_audit = SaleAudit.record_audit_for_edit(sale.sale_id, current_user.name, action_by,remark, "CANCEL_MMQR_PAYMENT") # update complete order items in oqs SaleOrder.where("sale_id = '#{sale.sale_id}'").find_each do |sodr| @@ -561,7 +561,7 @@ class Foodcourt::QrpayController < BaseFoodcourtController current_user.name, action_by, remark, - "SALEVOID" + "CANCEL_MMQR_PAYMENT" ) SaleOrder.where(sale_id: sale.sale_id).find_each do |sodr| diff --git a/app/controllers/reports/void_sale_controller.rb b/app/controllers/reports/void_sale_controller.rb index 498d6225..7c2f0e2e 100755 --- a/app/controllers/reports/void_sale_controller.rb +++ b/app/controllers/reports/void_sale_controller.rb @@ -1,7 +1,7 @@ class Reports::VoidSaleController < BaseReportController authorize_resource :class => false def index - + from, to = get_date_range_from_params # @shift_sale_range = Sale.get_by_shift_sale(from,to,Sale::SALE_STATUS_COMPLETED) @@ -16,7 +16,7 @@ authorize_resource :class => false end end - @sale_data = Sale.get_void_sale(@shift,from,to) + @sale_data = Sale.get_void_sale(@shift, from, to, params[:void_filter]) @from = from @to = to diff --git a/app/models/sale.rb b/app/models/sale.rb index 3c34b2e5..6d46b4ef 100644 --- a/app/models/sale.rb +++ b/app/models/sale.rb @@ -1330,20 +1330,29 @@ def self.get_by_shift_sale_credit_payment(shift_sale_range,shift,from,to,filter, credits = credits.group("sale_payments.sale_payment_id, sales_sale_payments.sale_id") end - def self.get_void_sale(shift,from,to) + def self.get_void_sale(shift,from,to, status) sale_arr = Array.new - query = Sale.select("sales.receipt_no,sales.receipt_date, sales.payment_status, sales.sale_status,sales.total_amount,sales.grand_total, sales.rounding_adjustment") + query = Sale.select("sales.sale_id,sales.receipt_no,sales.receipt_date, sales.payment_status, sales.sale_status,sales.total_amount,sales.grand_total, sales.rounding_adjustment") # .joins("INNER JOIN shift_sales sh ON sh.id = sales.shift_sale_id") # .where("sales.sale_status = 'void' and (sh.shift_started_at between ? and ? # OR sh.shift_closed_at between ? and ? )", from ,to, from, to) + if shift.present? query = query.where("sales.sale_status = 'void' and sales.shift_sale_id in (?)",shift.to_a) else query = query.where("sales.sale_status = 'void' and sales.receipt_date between ? and ? ",from,to) end + if status.present? && status == 'cancelled_mmqr' + query = query.joins("INNER JOIN sale_audits sa ON sa.sale_id = sales.sale_id") + .where("sa.action = 'CANCEL_MMQR_PAYMENT'") + elsif status.present? && status == 'void' + query = query.joins("LEFT JOIN sale_audits sa ON sa.sale_id = sales.sale_id AND sa.action = 'CANCEL_MMQR_PAYMENT'") + .where("sa.sale_id IS NULL") + end + out = {:items => query} sale_arr.push(out) return sale_arr diff --git a/app/views/reports/void_sale/_shift_sale_report_filter.html.erb b/app/views/reports/void_sale/_shift_sale_report_filter.html.erb index 764e780d..176761ce 100755 --- a/app/views/reports/void_sale/_shift_sale_report_filter.html.erb +++ b/app/views/reports/void_sale/_shift_sale_report_filter.html.erb @@ -28,10 +28,18 @@ -
+ +
+ +

diff --git a/app/views/reports/void_sale/index.html.erb b/app/views/reports/void_sale/index.html.erb index 3e121244..bded37e8 100755 --- a/app/views/reports/void_sale/index.html.erb +++ b/app/views/reports/void_sale/index.html.erb @@ -48,7 +48,7 @@ <%= t("views.right_panel.detail.grand_total") %> <%= t("views.right_panel.detail.rnd_adj_sh") %> <%= t("views.right_panel.detail.grand_total") %> +
<%= t("views.right_panel.detail.rnd_adj_sh") %> - + Status @@ -65,7 +65,9 @@ <%= number_format(item.grand_total.to_f , precision: precision.to_i ,delimiter: delimiter) rescue '-'%> <%= number_format(item.rounding_adjustment.to_f, precision: precision.to_i ,delimiter: delimiter) rescue '-' %> <%= number_format(item.grand_total.to_f + item.rounding_adjustment.to_f , precision: precision.to_i ,delimiter: delimiter) rescue '-'%> - + + <%= item.sale_audits.where(action: 'CANCEL_MMQR_PAYMENT').exists? ? "payment cancelled (mmqr)" : item.sale_status rescue '-' %> + <% total_amount = total_amount.to_f + item.total_amount.to_f %> @@ -74,7 +76,7 @@ <% grand_rounding_adjustment = grand_rounding_adjustment.to_f + item.grand_total.to_f + item.rounding_adjustment.to_f %> <% end %> <% end %> - + Total Void Amount : <%= number_format(total_amount, precision: precision.to_i ,delimiter: delimiter) rescue '-' %> <%= number_format(grand_total, precision: precision.to_i ,delimiter: delimiter) rescue '-' %> diff --git a/app/views/reports/void_sale/index.xls.erb b/app/views/reports/void_sale/index.xls.erb index d0f6c39e..88bcb9dc 100755 --- a/app/views/reports/void_sale/index.xls.erb +++ b/app/views/reports/void_sale/index.xls.erb @@ -32,7 +32,7 @@ <%= t("views.right_panel.detail.grand_total") %> <%= t("views.right_panel.detail.rnd_adj_sh") %> <%= t("views.right_panel.detail.grand_total") %> +
<%= t("views.right_panel.detail.rnd_adj_sh") %> - + Status @@ -49,7 +49,7 @@ <%= item.grand_total.to_f rescue '-'%> <%= item.rounding_adjustment.to_f rescue '-' %> <%= item.grand_total.to_f + item.rounding_adjustment.to_f rescue '-'%> - + <%= item.sale_audits.where(action: 'CANCEL_MMQR_PAYMENT').exists? ? "payment cancelled (mmqr)" : item.sale_status rescue '-' %> <% total_amount = total_amount.to_f + item.total_amount.to_f %> diff --git a/app/views/transactions/sales/index.html.erb b/app/views/transactions/sales/index.html.erb index 0ea20046..53ded697 100644 --- a/app/views/transactions/sales/index.html.erb +++ b/app/views/transactions/sales/index.html.erb @@ -114,7 +114,7 @@ <%= sale.total_amount %> <%= sale.grand_total rescue '-' %> <%= sale.cashier_name rescue '-' %> - <%= sale.sale_status %> + <%= sale.sale_audits.where(action: 'CANCEL_MMQR_PAYMENT').exists? ? "payment cancelled (mmqr)" : sale.sale_status %> <%= sale.receipt_date.strftime("%d-%m-%Y %I:%M %p") %> <% end %>