From ce49f8144033611b205ad1882e2fb9c614a4c685 Mon Sep 17 00:00:00 2001 From: Aung Myo Date: Mon, 6 Nov 2017 13:42:04 +0630 Subject: [PATCH] update update void print and sale item report --- app/controllers/origami/void_controller.rb | 38 +++++++++++++++++++ app/models/sale.rb | 2 +- .../settings/cashier_terminals/index.html.erb | 2 + 3 files changed, 41 insertions(+), 1 deletion(-) diff --git a/app/controllers/origami/void_controller.rb b/app/controllers/origami/void_controller.rb index 27e18e39..0a10332d 100755 --- a/app/controllers/origami/void_controller.rb +++ b/app/controllers/origami/void_controller.rb @@ -46,6 +46,44 @@ class Origami::VoidController < BaseOrigamiController 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_id,sale.cashier_id, action_by,remark,"SALEVOID" ) + # For Print + + member_info = nil + rebate_amount = nil + + # For Cashier by Zone + bookings = Booking.where("sale_id='#{sale_id}'") + if bookings.count > 1 + # for Multiple Booking + table = DiningFacility.find(bookings[0].dining_facility_id) + else + table = DiningFacility.find(bookings[0].dining_facility_id) + end + + cashier_zone = CashierTerminalByZone.find_by_zone_id(table.zone_id) + cashier_terminal = CashierTerminal.find(cashier_zone.cashier_terminal_id) + + unique_code = "ReceiptBillPdf" + customer= Customer.find(sale.customer_id) + + #shop detail + shop_details = Shop.find(1) + # get member information + rebate = MembershipSetting.find_by_rebate(1) + if customer.membership_id != nil && rebate + member_info = Customer.get_member_account(customer) + rebate_amount = Customer.get_membership_transactions(customer,saleObj.receipt_no) + end + # get printer info + print_settings=PrintSetting.find_by_unique_code(unique_code) + # Calculate Food and Beverage Total + item_price_by_accounts = SaleItem.calculate_price_by_accounts(sale.sale_items) + discount_price_by_accounts = SaleItem.get_discount_price_by_accounts(sale.sale_items) + + printer = Printer::ReceiptPrinter.new(print_settings) + printer.print_receipt_bill(print_settings,cashier_terminal,sale.sale_items,sale,customer.name, item_price_by_accounts, discount_price_by_accounts, member_info,rebate_amount,shop_details, "VOID") + + #end print # update complete order items in oqs SaleOrder.where("sale_id = '#{ sale_id }'").find_each do |sodr| diff --git a/app/models/sale.rb b/app/models/sale.rb index ef91fb76..35762674 100755 --- a/app/models/sale.rb +++ b/app/models/sale.rb @@ -614,7 +614,7 @@ def self.get_item_query() " JOIN shift_sales sh ON sh.`id` = sales.shift_sale_id" + " JOIN menu_categories mc ON mc.id = mi.menu_category_id ") # "JOIN employee_accesses ea ON ea.`employee_id` = sales.cashier_id ") - + query = query.where("i.unit_price > 0") query = query.joins(" JOIN accounts acc ON acc.id = mi.account_id") query = query.group('i.product_code ').order("mi.account_id, mi.menu_category_id") end diff --git a/app/views/settings/cashier_terminals/index.html.erb b/app/views/settings/cashier_terminals/index.html.erb index 67ddacbe..32f4dc35 100755 --- a/app/views/settings/cashier_terminals/index.html.erb +++ b/app/views/settings/cashier_terminals/index.html.erb @@ -17,6 +17,7 @@ <%= t("views.right_panel.detail.name") %> + <%= t("views.right_panel.detail.printer_name") %> <%= t("views.right_panel.detail.active") %> <%= t("views.right_panel.detail.login") %>? <%= t("views.right_panel.detail.auto_print") %> @@ -32,6 +33,7 @@ <% @settings_cashier_terminals.each do |settings_cashier_terminal| %> <%= settings_cashier_terminal.name%> + <%= settings_cashier_terminal.printer_name%> <%= settings_cashier_terminal.is_active %> <%= settings_cashier_terminal.is_currently_login %> <%= settings_cashier_terminal.auto_print_receipt %>