diff --git a/app/controllers/origami/orders_controller.rb b/app/controllers/origami/orders_controller.rb index bb1a8752..fced3d02 100755 --- a/app/controllers/origami/orders_controller.rb +++ b/app/controllers/origami/orders_controller.rb @@ -5,6 +5,16 @@ class Origami::OrdersController < BaseOrigamiController @complete = Sale.where("DATE_FORMAT(created_at,'%Y-%m-%d') = ? and sale_status != 'new'",DateTime.now.strftime('%Y-%m-%d')) @orders = Order.where("DATE_FORMAT(date,'%Y-%m-%d') = ? and status != 'billed'",DateTime.now.strftime('%Y-%m-%d')).order('date desc') @order = Order.find(params[:order_id]) + booking = Booking.select('bookings.booking_id, bookings.dining_facility_id') + .joins(" JOIN booking_orders as bo on bo.booking_id = bookings.booking_id") + .where("bo.order_id='#{params[:order_id]}'").first() + + @booking = Array.new + if !booking.nil? + dining_facilities = DiningFacility.find_by_id(booking.dining_facility_id) + @booking.push({'booking_id' => booking.booking_id, 'dining_facility_id' => booking.dining_facility_id, 'type' => dining_facilities.type}) + end + sale_order = SaleOrder.find_by_order_id(@order.order_id) if sale_order unless sale_order.sale_id.nil? @@ -12,19 +22,17 @@ class Origami::OrdersController < BaseOrigamiController @sale_status = sale.sale_status end end - - @orders.each do |order| - order.order_items.each_with_index do |item, index| - if !item.set_menu_items.nil? - instance_item_sets = JSON.parse(item.set_menu_items) - arr_instance_item_sets = Array.new - instance_item_sets.each do |instance_item| - item_instance_name = MenuItemInstance.find_by_item_instance_code(instance_item["item_instance_code"]).item_instance_name - arr_instance_item_sets.push(item_instance_name) - item.price = item.price.to_f + instance_item["price"].to_f - end - order.order_items[index].set_menu_items = arr_instance_item_sets + + @order.order_items.each_with_index do |item, order_item_index| + if !item.set_menu_items.nil? + instance_item_sets = JSON.parse(item.set_menu_items) + arr_instance_item_sets = Array.new + instance_item_sets.each do |instance_item| + item_instance_name = MenuItemInstance.find_by_item_instance_code(instance_item["item_instance_code"]).item_instance_name + arr_instance_item_sets.push(item_instance_name) + item.price = item.price.to_f + instance_item["price"].to_f end + @order.order_items[order_item_index].set_menu_items = arr_instance_item_sets end end diff --git a/app/controllers/origami/payments_controller.rb b/app/controllers/origami/payments_controller.rb index adb67963..978d424f 100755 --- a/app/controllers/origami/payments_controller.rb +++ b/app/controllers/origami/payments_controller.rb @@ -8,7 +8,8 @@ class Origami::PaymentsController < BaseOrigamiController sale_data = Sale.find_by_sale_id(sale_id) sale_items = SaleItem.where("sale_id=?",sale_id) member_info = nil - + survey = Survey.find_by_receipt_no(sale_data.receipt_no) + # For Cashier by Zone bookings = Booking.where("sale_id='#{sale_id}'") if bookings.count > 1 @@ -60,7 +61,7 @@ class Origami::PaymentsController < BaseOrigamiController printer = Printer::ReceiptPrinter.new(print_settings) - printer.print_receipt_bill(print_settings,cashier_terminal,sale_items,sale_data,customer.name, item_price_by_accounts, discount_price_by_accounts, member_info, shop_details, "Frt",current_balance,nil) + printer.print_receipt_bill(print_settings,cashier_terminal,sale_items,sale_data,customer.name, item_price_by_accounts, discount_price_by_accounts, member_info, shop_details, "Frt",current_balance,nil,survey) end end @@ -72,6 +73,7 @@ class Origami::PaymentsController < BaseOrigamiController if(Sale.exists?(sale_id)) saleObj = Sale.find(sale_id) shop_details = Shop::ShopDetail + survey = Survey.find_by_receipt_no(saleObj.receipt_no) # rounding adjustment if shop_details.is_rounding_adj a = saleObj.grand_total % 25 # Modulus @@ -139,7 +141,7 @@ class Origami::PaymentsController < BaseOrigamiController discount_price_by_accounts = SaleItem.get_discount_price_by_accounts(saleObj.sale_items) printer = Printer::ReceiptPrinter.new(print_settings) - printer.print_receipt_bill(print_settings,cashier_terminal,saleObj.sale_items,saleObj,customer.name, item_price_by_accounts, discount_price_by_accounts, member_info,rebate_amount,shop_details, "Paid",current_balance,card_data) + printer.print_receipt_bill(print_settings,cashier_terminal,saleObj.sale_items,saleObj,customer.name, item_price_by_accounts, discount_price_by_accounts, member_info,rebate_amount,shop_details, "Paid",current_balance,card_data,survey) end end end @@ -245,7 +247,8 @@ class Origami::PaymentsController < BaseOrigamiController member_info = nil saleObj = Sale.find(sale_id) - + survey = Survey.find_by_receipt_no(saleObj.receipt_no) + # For Cashier by Zone bookings = Booking.where("sale_id='#{sale_id}'") if bookings.count > 1 @@ -292,7 +295,7 @@ class Origami::PaymentsController < BaseOrigamiController discount_price_by_accounts = SaleItem.get_discount_price_by_accounts(saleObj.sale_items) printer = Printer::ReceiptPrinter.new(print_settings) - printer.print_receipt_bill(print_settings,cashier_terminal,saleObj.sale_items,saleObj,customer.name, item_price_by_accounts, discount_price_by_accounts, member_info,rebate_amount,shop_details, "Re-print",current_balance,card_data) + printer.print_receipt_bill(print_settings,cashier_terminal,saleObj.sale_items,saleObj,customer.name, item_price_by_accounts, discount_price_by_accounts, member_info,rebate_amount,shop_details, "Re-print",current_balance,card_data,survey) end end @@ -306,7 +309,8 @@ class Origami::PaymentsController < BaseOrigamiController if(Sale.exists?(sale_id)) saleObj = Sale.find(sale_id) - + survey = Survey.find_by_receipt_no(saleObj.receipt_no) + if saleObj.discount_type == "member_discount" saleObj.update_attributes(rounding_adjustment: 0) saleObj.compute_by_sale_items(sale_id, saleObj.sale_items,0) @@ -344,7 +348,7 @@ class Origami::PaymentsController < BaseOrigamiController discount_price_by_accounts = SaleItem.get_discount_price_by_accounts(saleObj.sale_items) printer = Printer::ReceiptPrinter.new(print_settings) - printer.print_receipt_bill(print_settings,cashier_terminal,saleObj.sale_items,saleObj,customer.name, item_price_by_accounts, discount_price_by_accounts, member_info,rebate_amount,shop_details, "FOC",nil,nil) + printer.print_receipt_bill(print_settings,cashier_terminal,saleObj.sale_items,saleObj,customer.name, item_price_by_accounts, discount_price_by_accounts, member_info,rebate_amount,shop_details, "FOC",nil,nil,survey) end end end diff --git a/app/controllers/origami/split_bill_controller.rb b/app/controllers/origami/split_bill_controller.rb index f2284e15..dd8dd990 100644 --- a/app/controllers/origami/split_bill_controller.rb +++ b/app/controllers/origami/split_bill_controller.rb @@ -18,10 +18,10 @@ class Origami::SplitBillController < BaseOrigamiController if @booking @booking.booking_orders.each do |booking_order| + arr_order_items = Array.new @order = Order.find(booking_order.order_id) if (@order.status == "new") @orders.push(@order) - @order_items.push({'all_order' => @order.order_items}) @order.order_items.each do |item| if !item.set_menu_items.nil? @@ -59,19 +59,19 @@ class Origami::SplitBillController < BaseOrigamiController 'updated_at' => item.updated_at} i += 1 @order_items.push({@order.order_id => arr_item}) + arr_order_items.push(arr_item) end else + arr_order_items.push(item) @order_items.push({@order.order_id => item}) end end + @order_items.push({'all_order' => arr_order_items}) end end else @booking = nil end - - puts "@order_items" - puts @order_items.to_json end def create @@ -160,19 +160,19 @@ class Origami::SplitBillController < BaseOrigamiController if !updated_order_id.empty? order_ids.each do |odr_id| unless updated_order_id.include?(odr_id) - BookingOrder.find_by_order_id(odr_id).delete + # BookingOrder.find_by_order_id(odr_id).delete BookingOrder.create({:booking_id => booking.booking_id, :order_id => odr_id}) end end order_items.each do |order_item| if updated_order_id.include?(order_item["order_id"]) - update_order_item(order_item) + update_order_item(order_id, order_item) end end else order_ids.each do |odr_id| - BookingOrder.find_by_order_id(odr_id).delete + # BookingOrder.find_by_order_id(odr_id).delete BookingOrder.create({:booking_id => booking.booking_id, :order_id => odr_id}) end end @@ -181,12 +181,15 @@ class Origami::SplitBillController < BaseOrigamiController BookingOrder.create({:booking_id => booking.booking_id, :order_id => order_id}) order_items.each do |order_item| - update_order_item(order_item) + update_order_item(order_id, order_item) end end else if order_ids.count == 1 && order_id_count > 0 && order_item_count == 1 BookingOrder.create({:booking_id => booking.booking_id, :order_id => order_ids[0]}) + order_items.each do |order_item| + update_order_item(order_ids[0], order_item) + end else customer = Customer.find(params[:customer_id]) order_type = "dine_in" @@ -214,7 +217,7 @@ class Origami::SplitBillController < BaseOrigamiController BookingOrder.create({:booking_id => booking.booking_id, :order_id => order.order_id}) order_items.each do |order_item| - update_order_item(order_item) + update_order_item(order.id, order_item) end end end @@ -239,7 +242,7 @@ class Origami::SplitBillController < BaseOrigamiController end end - def update_order_item(order_item) + def update_order_item(order_id, order_item) orderItem = OrderItem.find(order_item["id"]) if orderItem.qty.to_f != order_item['qty'].to_f OrderItem.processs_item(orderItem.item_code, @@ -251,13 +254,13 @@ class Origami::SplitBillController < BaseOrigamiController orderItem.price, orderItem.options, orderItem.set_menu_items, - orderItem.order_id, + order_id, orderItem.item_order_by, orderItem.taxable) orderItem.qty = orderItem.qty.to_f - order_item['qty'].to_f else - orderItem.order_id = order.order_id + orderItem.order_id = order_id end orderItem.save! end diff --git a/app/controllers/origami/surveys_controller.rb b/app/controllers/origami/surveys_controller.rb index 90ff4c08..f7d637d6 100644 --- a/app/controllers/origami/surveys_controller.rb +++ b/app/controllers/origami/surveys_controller.rb @@ -30,6 +30,33 @@ class Origami::SurveysController < BaseOrigamiController end # end end + + def create_survey + if shift_by_terminal = ShiftSale.current_open_shift(get_cashier[0].id) + dining_facility = DiningFacility.find(params[:dining_id]) + cashier_zone = CashierTerminalByZone.find_by_zone_id(dining_facility.zone_id) + shift_by_terminal = ShiftSale.find_by_cashier_terminal_id_and_shift_closed_at(cashier_zone.cashier_terminal_id,nil) + + survey = Survey.find_by_receipt_no(params[:receipt_no]) + + if survey.nil? + survey = Survey.new + survey.dining_name = dining_facility.name + survey.receipt_no = params[:receipt_no] + survey.shift_id = shift_by_terminal.id + survey.created_by = current_user.name + survey.total_customer = params[:total_customer] + survey.total_amount = params[:total_amount] + survey.save! + else + survey.total_customer = params[:total_customer] + survey.save! + end + render :json => {status: true} + else + render :json => { status: false, error_message: 'No Current Open Shift!'} + end + end private diff --git a/app/controllers/origami/table_invoices_controller.rb b/app/controllers/origami/table_invoices_controller.rb index a9d5d340..f2dd132a 100755 --- a/app/controllers/origami/table_invoices_controller.rb +++ b/app/controllers/origami/table_invoices_controller.rb @@ -59,6 +59,12 @@ class Origami::TableInvoicesController < BaseOrigamiController @date = @sale.created_at @status_sale = 'sale' @customer = @sale.customer + #for split bill + lookup_spit_bill = Lookup.collection_of('split_bill') + @split_bill = 0 + if !lookup_spit_bill[0].nil? + @split_bill = lookup_spit_bill[0][1] + end end #Shop Name in Navbor diff --git a/app/controllers/origami/void_controller.rb b/app/controllers/origami/void_controller.rb index f9fbe55a..8fb7c0ae 100755 --- a/app/controllers/origami/void_controller.rb +++ b/app/controllers/origami/void_controller.rb @@ -6,6 +6,8 @@ class Origami::VoidController < BaseOrigamiController if Sale.exists?(sale_id) sale = Sale.find_by_sale_id(sale_id) + survey = Survey.find_by_receipt_no(sale.receipt_no) + if sale.discount_type == "member_discount" sale.update_attributes(total_discount: 0) sale.compute_by_sale_items(sale_id, sale.sale_items,0) @@ -107,7 +109,7 @@ class Origami::VoidController < BaseOrigamiController 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",current_balance,nil) + 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",current_balance,nil,survey) end #end print diff --git a/app/models/printer/receipt_printer.rb b/app/models/printer/receipt_printer.rb index 0cf6526f..c60fcc35 100755 --- a/app/models/printer/receipt_printer.rb +++ b/app/models/printer/receipt_printer.rb @@ -173,19 +173,19 @@ class Printer::ReceiptPrinter < Printer::PrinterWorker end #Bill Receipt Print - def print_receipt_bill(printer_settings,cashier_terminal,sale_items,sale_data, customer_name, item_price_by_accounts, discount_price_by_accounts, member_info = nil,rebate_amount=nil,shop_details, printed_status,balance,card_data) + def print_receipt_bill(printer_settings,cashier_terminal,sale_items,sale_data, customer_name, item_price_by_accounts, discount_price_by_accounts, member_info = nil,rebate_amount=nil,shop_details, printed_status,balance,card_data,survey) #Use CUPS service #Generate PDF #Print - pdf = ReceiptBillPdf.new(printer_settings, sale_items, sale_data, customer_name, item_price_by_accounts, discount_price_by_accounts, member_info,rebate_amount,shop_details,printed_status,balance,card_data) + pdf = ReceiptBillPdf.new(printer_settings, sale_items, sale_data, customer_name, item_price_by_accounts, discount_price_by_accounts, member_info,rebate_amount,shop_details,printed_status,balance,card_data,survey) receipt_bill_a5_pdf = Lookup.collection_of("print_settings") #print_settings with name:ReceiptBillA5Pdf if !receipt_bill_a5_pdf.empty? receipt_bill_a5_pdf.each do |receipt_bilA5| if receipt_bilA5[0] == 'ReceiptBillA5Pdf' if receipt_bilA5[1] == '1' - pdf = ReceiptBillA5Pdf.new(printer_settings, sale_items, sale_data, customer_name, item_price_by_accounts, discount_price_by_accounts, member_info,rebate_amount,shop_details,printed_status,balance,card_data) + pdf = ReceiptBillA5Pdf.new(printer_settings, sale_items, sale_data, customer_name, item_price_by_accounts, discount_price_by_accounts, member_info,rebate_amount,shop_details,printed_status,balance,card_data,survey) else - pdf = ReceiptBillPdf.new(printer_settings, sale_items, sale_data, customer_name, item_price_by_accounts, discount_price_by_accounts, member_info,rebate_amount,shop_details,printed_status,balance,card_data) + pdf = ReceiptBillPdf.new(printer_settings, sale_items, sale_data, customer_name, item_price_by_accounts, discount_price_by_accounts, member_info,rebate_amount,shop_details,printed_status,balance,card_data,survey) end end end diff --git a/app/pdf/receipt_bill_a5_pdf.rb b/app/pdf/receipt_bill_a5_pdf.rb index 2dde9c93..898b8cf3 100644 --- a/app/pdf/receipt_bill_a5_pdf.rb +++ b/app/pdf/receipt_bill_a5_pdf.rb @@ -1,7 +1,7 @@ class ReceiptBillA5Pdf < Prawn::Document include ActionView::Helpers::NumberHelper attr_accessor :label_width,:price_column_width,:page_width, :page_height, :margin, :price_width, :item_width, :header_font_size, :item_font_size,:item_height,:qty_width,:total_width,:item_description_width, :description_width, :price_num_width - def initialize(printer_settings, sale_items, sale_data, customer_name, item_price_by_accounts, discount_price_by_accounts, member_info = nil,rebate_amount = nil,shop_details, printed_status,current_balance) + def initialize(printer_settings, sale_items, sale_data, customer_name, item_price_by_accounts, discount_price_by_accounts, member_info = nil,rebate_amount = nil,shop_details, printed_status,current_balance,card_data,survey) self.page_width = printer_settings.page_width self.page_height = printer_settings.page_height self.margin = 15 @@ -65,6 +65,12 @@ class ReceiptBillA5Pdf < Prawn::Document customer(customer_name) + #start card sale trans data + if card_data != nil + card_sale_data(card_data) + end + #end card sale trans data + if discount_price_by_accounts.length > 0 && shop_details.show_account_info discount_account(discount_price_by_accounts,printer_settings.precision,delimiter) end @@ -73,6 +79,12 @@ class ReceiptBillA5Pdf < Prawn::Document items_account(item_price_by_accounts,printer_settings.precision,delimiter) end + #start for individual payment + if !survey.nil? + individual_payment(sale_data, survey, printer_settings.precision, delimiter) + end + #end for individual payment + sign(sale_data) footer(printed_status) @@ -459,6 +471,22 @@ class ReceiptBillA5Pdf < Prawn::Document end end + #individual payment per person + def individual_payment(sale_data, survey, precision, delimiter) + per_person = sale_data.grand_total.to_f / survey.total_customer.to_i + move_down 5 + stroke_horizontal_rule + move_down 5 + y_position = cursor + bounding_box([0,y_position], :width =>self.label_width) do + text "Individual amount", :size => self.item_font_size,:align => :left + end + + bounding_box([self.label_width,y_position], :width =>self.item_description_width) do + text "#{number_with_precision(per_person, :precision => precision.to_i, :delimiter => delimiter)} per person", :size => self.item_font_size,:align => :right + end + end + def sign(sale_data) SalePayment.where('sale_id = ?', sale_data.sale_id).each do |payment| if payment.payment_method == "creditnote" @@ -513,6 +541,29 @@ class ReceiptBillA5Pdf < Prawn::Document move_down 10 end + #start card sale trans data + def card_sale_data(card_data) + if card_data != nil && !card_data.empty? + move_down 5 + stroke_horizontal_rule + move_down 5 + + y_position = cursor + card_data.each do |data| + if data['app'] == 'CUP' + data['app'] = 'UNIONPAY' + elsif data['app'] == 'MASTERCARD' + data['app'] = 'MASTER' + end + text "DATE/TIME: #{data['res_date']} #{data['res_time']} ", :size => @item_font_size, :align => :left + text "BATCH NUM: #{data['batch_no']} TRACE#: #{data['trace']}",:size => @item_font_size, :align => :left + text "RREF NUM: #{data['ref_no']} APPR CODE: #{data['app_code']} ",:size => @item_font_size, :align => :left + text "TID: #{data['tid']} ",:size => @item_font_size, :align => :left + text "#{data['app']} #{data['pan']} ",:size => @item_font_size, :align => :left + end + end + end + #check ReceiptBillAltName included def show_alt_name bill_alt_name = Lookup.collection_of("print_settings") #print_settings with name:ReceiptBillA5Pdf diff --git a/app/pdf/receipt_bill_pdf.rb b/app/pdf/receipt_bill_pdf.rb index d2ad0260..e8ca4bb2 100755 --- a/app/pdf/receipt_bill_pdf.rb +++ b/app/pdf/receipt_bill_pdf.rb @@ -1,7 +1,7 @@ class ReceiptBillPdf < Prawn::Document include ActionView::Helpers::NumberHelper attr_accessor :label_width,:price_column_width,:page_width, :page_height, :margin, :price_width, :item_width, :header_font_size, :item_font_size,:item_height,:qty_width,:total_width,:item_description_width, :description_width, :price_num_width - def initialize(printer_settings, sale_items, sale_data, customer_name, item_price_by_accounts, discount_price_by_accounts, member_info = nil,rebate_amount = nil,shop_details, printed_status,current_balance,card_data) + def initialize(printer_settings, sale_items, sale_data, customer_name, item_price_by_accounts, discount_price_by_accounts, member_info = nil,rebate_amount = nil,shop_details, printed_status,current_balance,card_data,survey) self.page_width = printer_settings.page_width self.page_height = printer_settings.page_height self.margin = 0 @@ -79,6 +79,12 @@ class ReceiptBillPdf < Prawn::Document items_account(item_price_by_accounts,printer_settings.precision,delimiter) end + #start for individual payment + if !survey.nil? + individual_payment(sale_data, survey, printer_settings.precision, delimiter) + end + #end for individual payment + sign(sale_data) footer(printed_status) @@ -465,6 +471,22 @@ class ReceiptBillPdf < Prawn::Document end end + #individual payment per person + def individual_payment(sale_data, survey, precision, delimiter) + per_person = sale_data.grand_total.to_f / survey.total_customer.to_i + move_down 5 + stroke_horizontal_rule + move_down 5 + y_position = cursor + bounding_box([0,y_position], :width =>self.label_width) do + text "Individual amount", :size => self.item_font_size,:align => :left + end + + bounding_box([self.label_width,y_position], :width =>self.item_description_width) do + text "#{number_with_precision(per_person, :precision => precision.to_i, :delimiter => delimiter)} per person", :size => self.item_font_size,:align => :right + end + end + def sign(sale_data) SalePayment.where('sale_id = ?', sale_data.sale_id).each do |payment| if payment.payment_method == "creditnote" diff --git a/app/views/origami/home/show.html.erb b/app/views/origami/home/show.html.erb index 19f308a1..28094ee8 100755 --- a/app/views/origami/home/show.html.erb +++ b/app/views/origami/home/show.html.erb @@ -386,9 +386,14 @@ end %> - - <% if !@spit_bill.nil? && @spit_bill == '1' %> - + + <% if !@split_bill.nil? %> + <% if @split_bill == '1' %> + + + <% else %> + + <% end %> <% end %> <% end %> <% if @sale_array.size > 1 %> @@ -407,6 +412,11 @@ + <% if !@split_bill.nil? %> + <% if @split_bill == '1' %> + + <% end %> + <% end %> diff --git a/app/views/origami/orders/show.html.erb b/app/views/origami/orders/show.html.erb index a1a914fd..4e9d09b1 100755 --- a/app/views/origami/orders/show.html.erb +++ b/app/views/origami/orders/show.html.erb @@ -240,7 +240,8 @@
- + + <% if @sale_status != 'completed' %> <% end %> @@ -285,5 +286,59 @@ }) $('#move').on('click',function(){ - }) + }); + + //order_split + $('#by_order').on('click',function () { + swal({ + title: "Alert", + text: "Are you sure, you want to Split?", + type: "warning", + showCancelButton: true, + confirmButtonColor: "#DD6B55", + confirmButtonText: "Yes, split it!", + closeOnConfirm: false + }, function (isConfirm) { + if(isConfirm){ + orderSplitBillProcess(); + } + }); + }); + + /* function for order items split bill process */ + function orderSplitBillProcess(){ + var booking = JSON.parse('<%= @booking.to_json.html_safe %>'); + var orders = JSON.parse('<%= @orders.to_json.html_safe %>'); + var order = JSON.parse('<%= @order.to_json.html_safe %>'); + var arr_order = []; + arr_order.push({id : order.order_id}); + + var dining_id = booking[0].dining_facility_id || 0; + var type = booking[0].type || ''; + var customer_id = order.customer_id || ''; + var booking_id = ""; + if(orders.length == 1){ + booking_id = booking[0].booking_id; + } + + var ajax_url = "/origami/split_bills"; + $.ajax({ + type: "POST", + url: ajax_url, + dataType: 'JSON', + data: {'dining_id' : dining_id, 'type': type, 'customer_id' : customer_id, 'booking_id' : booking_id, 'order_ids' : [], 'order_items' : '', 'orders' : JSON.stringify(arr_order)}, + success: function (result) { + if (!result.status) { + swal("Information!", result.error_message); + } + else{ + if(type=='Table'){ + window.location.href = '/origami/table/' + dining_id; + }else{ + window.location.href = '/origami/room/' + dining_id; + } + } + } + }); + } diff --git a/app/views/origami/rooms/show.html.erb b/app/views/origami/rooms/show.html.erb index 22affbdc..b367f212 100755 --- a/app/views/origami/rooms/show.html.erb +++ b/app/views/origami/rooms/show.html.erb @@ -365,7 +365,7 @@ %> - <% if !@spit_bill.nil? && @spit_bill == '1' %> + <% if !@split_bill.nil? && @split_bill == '1' %> <% end %> <% end %> diff --git a/app/views/origami/split_bill/index.html.erb b/app/views/origami/split_bill/index.html.erb index 70d9f147..216507ea 100755 --- a/app/views/origami/split_bill/index.html.erb +++ b/app/views/origami/split_bill/index.html.erb @@ -20,18 +20,18 @@
- <% if !@orders.nil? %> + <% if !@orders.empty? %>
@@ -188,13 +188,28 @@
- <% if !@sale_data.nil? %> + <% if !@sale_data.empty? %> + + + + + + - <% @sale_data.each do |sale_data| %> - <% if sale_data.sale_status != 'completed' %> - > - + <% @sale_data.each_with_index do |sale_data, sale_index| %> + <% if sale_data.sale_status != 'completed' && sale_data.sale_status != 'void' %> + <% checked = "" %> + <% if sale_index == 0 %> + <% checked = "checked" %> + <% end %> + data=<%= sale_data.grand_total %> > + + + + <% end %> <% end %> @@ -213,16 +228,94 @@
- - - + + +
+ + + + diff --git a/config/routes.rb b/config/routes.rb index f37c6895..0b21460f 100755 --- a/config/routes.rb +++ b/config/routes.rb @@ -224,6 +224,7 @@ scope "(:locale)", locale: /en|mm/ do get '/table/:dining_id/split_bills' => 'split_bill#index' get '/room/:dining_id/split_bills' => 'split_bill#index' post '/split_bills', to: 'split_bill#create', as:"order_item_split_bills" + post '/split_bills/surveys', to: 'surveys#create_survey' end #--------- Waiter/Ordering Station ------------# diff --git a/lib/tasks/clear_data.rake b/lib/tasks/clear_data.rake index 126d8db7..17dcde74 100755 --- a/lib/tasks/clear_data.rake +++ b/lib/tasks/clear_data.rake @@ -14,6 +14,7 @@ namespace :clear do SalePayment.delete_all ShiftSale.delete_all PaymentJournal.delete_all + Survey.delete_all DiningFacility.update_all(status:'available') CashierTerminal.update_all(is_currently_login: 0) puts "Clear Data Done."
#Receipt No.TotalAction
Receipt No. - <%= sale_data.receipt_no %>
><%= sale_data.receipt_no %><%= sale_data.grand_total %> + +