class Origami::RequestBillsController < ApplicationController # Print Request Bill and add to sale tables def print @sale = Sale.new sale_order=SaleOrder.new if shift = ShiftSale.current_open_shift(current_user.id) # if shift_by_terminal = ShiftSale.current_open_shift(get_cashier[0].id) order_id = params[:id] # order_id bk_order = BookingOrder.find_by_order_id(order_id) check_booking = Booking.find_by_booking_id(bk_order.booking_id) if check_booking.sale_id.nil? # Create Sale if it doesn't exist # puts "current_login_employee" # puts current_login_employee.name @status, @sale_id = @sale.generate_invoice_from_booking(check_booking.id,current_login_employee, current_user) @sale_data = Sale.find_by_sale_id(@sale_id) @sale_items = SaleItem.where("sale_id=?",@sale_id) else @sale_data = Sale.find_by_sale_id(check_booking.sale_id) @sale_items = SaleItem.where("sale_id=?",@sale_data.sale_id) end # Bind shift sale id to sale @sale_data.shift_sale_id = shift.id @sale_data.save # Promotion Activation Promotion.promo_activate(@sale) else @status = false @error_message = "No Current Open Shift for This Employee" end # Not Use for these printed bill cannot give customer # unique_code = "ReceiptBillPdf" # #shop detail # shop_details = Shop.find(1) # # customer= Customer.where('customer_id=' +.customer_id) # customer= Customer.find(@sale_data.customer_id) # # get member information # member_info = Customer.get_member_account(customer) # # get printer info # print_settings=PrintSetting.find_by_unique_code(unique_code) # # find order id by sale id # # sale_order = SaleOrder.find_by_sale_id(@sale_data.sale_id) # # Calculate price_by_accounts # item_price_by_accounts = SaleItem.calculate_price_by_accounts(@sale_items) # printer = Printer::ReceiptPrinter.new(print_settings) # printer.print_receipt_bill(print_settings,@sale_items,@sale_data,customer.name, item_price_by_accounts,member_info,shop_details) end #Shop Name in Navbor helper_method :shop_detail def shop_detail @shop = Shop.first end end