diff --git a/.gitignore b/.gitignore index 4f0ac524..8489e37c 100755 --- a/.gitignore +++ b/.gitignore @@ -37,7 +37,7 @@ pickle-email-*.html .rbenv-version config/deploy/config/* config/puma.rb -config/shops.json +#config/shops.json !/log/.keep !/tmp/.keep .ruby-version diff --git a/app/assets/javascripts/OQS.js b/app/assets/javascripts/OQS.js index 6068b53f..ffaae308 100755 --- a/app/assets/javascripts/OQS.js +++ b/app/assets/javascripts/OQS.js @@ -217,31 +217,29 @@ $(document).on('turbolinks:load', function() { }); // Print Order Item - $(document).on('click', '#print_order_item', function(event){ - var assigned_item_id = $('.selected-item').children('.card-block').children('.assigned-order-item').text(); - var options = $('.selected-item').children('.card-block').find('.item-options').text(); - var params = { 'options':options }; + // $(document).on('click', '#print_order_item', function(event){ + // var assigned_item_id = $('.selected-item').children('.card-block').children('.assigned-order-item').text(); + // var options = $('.selected-item').children('.card-block').find('.item-options').text(); + // var params = { 'options':options }; - $.ajax({ - type: 'POST', - url: '/oqs/print/print/'+assigned_item_id, - data: params, - success: function(data){ } - }); - }); + // $.ajax({ + // type: 'GET', + // url: '/oqs/print/print/'+assigned_item_id, + // success: function(data){ } + // }); + // }); - // Print Order Summary - // $('#print_order_summary').on('click',function(){ - $(document).on('click', '#print_order_summary', function(event){ - var orderNo = $('.selected-item').attr('data-order-no'); - var table_name=$('.selected-item').children().children().children('.order-zone').text().trim(); - var assigned_item_id=$('.selected-item').children('.card-block').children('.assigned-order-item').text(); - var params = { 'table_name':table_name }; - $.ajax({ - type: 'GET', - url: '/oqs/print/print_order_summary/'+assigned_item_id, - data: params, - success: function(data){ } - }); - }); + // Print Order Summary + // $(document).on('click', '#print_order_summary', function(event){ + // var orderNo = $('.selected-item').attr('data-order-no'); + // var table_name=$('.selected-item').children().children().children('.order-zone').text().trim(); + // var assigned_item_id=$('.selected-item').children('.card-block').children('.assigned-order-item').text(); + // var params = { 'table_name':table_name }; + // $.ajax({ + // type: 'GET', + // url: '/oqs/print/print_order_summary/'+assigned_item_id, + // data: params, + // success: function(data){ } + // }); + // }); }); diff --git a/app/assets/javascripts/origami.js b/app/assets/javascripts/origami.js index 712ce8f7..18368f25 100755 --- a/app/assets/javascripts/origami.js +++ b/app/assets/javascripts/origami.js @@ -163,7 +163,7 @@ function checkReceiptNoInFirstBillData(receipt_no,payment) { } } if (payment) { - return json_data[0]["payment"]; + return status; //json_data[0]["payment"]; }else{ return status; } diff --git a/app/controllers/crm/dining_queues_controller.rb b/app/controllers/crm/dining_queues_controller.rb index 20e58088..8184c660 100755 --- a/app/controllers/crm/dining_queues_controller.rb +++ b/app/controllers/crm/dining_queues_controller.rb @@ -45,13 +45,13 @@ class Crm::DiningQueuesController < BaseCrmController respond_to do |format| if @dining_queue.save - unique_code = "QueueNoPdf" + # unique_code = "QueueNoPdf" - # get printer info - print_settings = PrintSetting.find_by_unique_code(unique_code) + # # get printer info + # print_settings = PrintSetting.find_by_unique_code(unique_code) - printer = Printer::ReceiptPrinter.new(print_settings) - printer.print_queue_no(print_settings,@dining_queue) + # printer = Printer::ReceiptPrinter.new(print_settings) + # printer.print_queue_no(print_settings,@dining_queue) format.html { redirect_to crm_dining_queues_path, notice: 'Queue was successfully created.' } format.json { render :show, status: :created, location: @dining_queue } diff --git a/app/controllers/crm/home_controller.rb b/app/controllers/crm/home_controller.rb index 012f2bc6..13b4ede3 100755 --- a/app/controllers/crm/home_controller.rb +++ b/app/controllers/crm/home_controller.rb @@ -33,13 +33,13 @@ class Crm::HomeController < BaseCrmController end - unique_code="CrmOrderPdf" + # unique_code="CrmOrderPdf" - print_settings = PrintSetting.find_by_unique_code(unique_code) + # print_settings = PrintSetting.find_by_unique_code(unique_code) - printer = Printer::ReceiptPrinter.new(print_settings) + # printer = Printer::ReceiptPrinter.new(print_settings) - printer.print_crm_order(@booking,order_items,print_settings) + # printer.print_crm_order(@booking,order_items,print_settings) end diff --git a/app/controllers/oqs/edit_controller.rb b/app/controllers/oqs/edit_controller.rb index 8ec0725e..368255e5 100755 --- a/app/controllers/oqs/edit_controller.rb +++ b/app/controllers/oqs/edit_controller.rb @@ -17,14 +17,14 @@ class Oqs::EditController < BaseOqsController order_item.save # print - assigned_item = AssignedOrderItem.find_by_instance_code(order_item.item_instance_code) - # order queue stations - oqs = assigned_item.order_queue_station + # assigned_item = AssignedOrderItem.find_by_instance_code(order_item.item_instance_code) + # # order queue stations + # oqs = assigned_item.order_queue_station - unique_code="OrderItemPdf" + # unique_code="OrderItemPdf" - print_settings=PrintSetting.find_by_unique_code(unique_code) - order_queue_printer= Printer::OrderQueuePrinter.new(print_settings) - order_queue_printer.print_order_item(print_settings, oqs, order_item.order_id, order_items_id, print_status=" (Updated)" ) + # print_settings=PrintSetting.find_by_unique_code(unique_code) + # order_queue_printer= Printer::OrderQueuePrinter.new(print_settings) + # order_queue_printer.print_order_item(print_settings, oqs, order_item.order_id, order_items_id, print_status=" (Updated)" ) end end diff --git a/app/controllers/oqs/print_controller.rb b/app/controllers/oqs/print_controller.rb index f432ad29..cc5556e9 100755 --- a/app/controllers/oqs/print_controller.rb +++ b/app/controllers/oqs/print_controller.rb @@ -1,61 +1,61 @@ class Oqs::PrintController < ApplicationController # Print Order Item def print - unique_code="OrderItemPdf" - assigned_item_id = params[:id] - options = params[:options] - assigned_item = AssignedOrderItem.find(assigned_item_id) - assigned_items = AssignedOrderItem.where("item_code='" + assigned_item.item_code + "' AND " + "order_id='" + assigned_item.order_id + "'"); + # unique_code="OrderItemPdf" + # assigned_item_id = params[:id] + # options = params[:options] + # assigned_item = AssignedOrderItem.find(assigned_item_id) + # assigned_items = AssignedOrderItem.where("item_code='" + assigned_item.item_code + "' AND " + "order_id='" + assigned_item.order_id + "'"); - # order queue stations - oqs = assigned_item.order_queue_station - order_item = OrderItem.where("order_id='#{assigned_item.order_id}' AND item_instance_code='#{assigned_item.instance_code}'").first() + # # order queue stations + # oqs = assigned_item.order_queue_station + # order_item = OrderItem.where("order_id='#{assigned_item.order_id}' AND item_instance_code='#{assigned_item.instance_code}'").first() - # Check Printed - print_status = assigned_item.print_status == true ? " (Re-Print)" : "" + # # Check Printed + # print_status = assigned_item.print_status == true ? " (Re-Print)" : "" - # print when complete click - print_settings = PrintSetting.find_by_unique_code(unique_code) - order_queue_printer = Printer::OrderQueuePrinter.new(print_settings) - order_queue_printer.print_order_item(print_settings,oqs, assigned_item.order_id, order_item.order_items_id, print_status, options ) + # # print when complete click + # print_settings = PrintSetting.find_by_unique_code(unique_code) + # order_queue_printer = Printer::OrderQueuePrinter.new(print_settings) + # order_queue_printer.print_order_item(print_settings,oqs, assigned_item.order_id, order_item.order_items_id, print_status, options ) - # update print status for completed same order items - assigned_items.each do |ai| - ai.print_status=true - ai.save - end + # # update print status for completed same order items + # assigned_items.each do |ai| + # ai.print_status=true + # ai.save + # end end # Print Order Details with booking id def print_order_summary - unique_code="OrderSummaryPdf" - assigned_item_id = params[:id] - table_name = params[:table_name] - assigned_item = AssignedOrderItem.find(assigned_item_id) - assigned_items = AssignedOrderItem.where("item_code='" + assigned_item.item_code + "' AND " + "order_id='" + assigned_item.order_id + "'"); + # unique_code="OrderSummaryPdf" + # assigned_item_id = params[:id] + # table_name = params[:table_name] + # assigned_item = AssignedOrderItem.find(assigned_item_id) + # assigned_items = AssignedOrderItem.where("item_code='" + assigned_item.item_code + "' AND " + "order_id='" + assigned_item.order_id + "'"); - # order queue stations - oqs = assigned_item.order_queue_station + # # order queue stations + # oqs = assigned_item.order_queue_station - # Check Printed - print_status = assigned_item.print_status == true ? " (Re-Print)" : "" + # # Check Printed + # print_status = assigned_item.print_status == true ? " (Re-Print)" : "" - # get dining - # dining = DiningFacility.find_by_name(table_name); - # booking = Booking.find_by_dining_facility_id(dining.id) + # # get dining + # # dining = DiningFacility.find_by_name(table_name); + # # booking = Booking.find_by_dining_facility_id(dining.id) - # Get Booking ID - booking_id = BookingOrder.where("order_id='#{assigned_item.order_id}'").pluck(:booking_id)[0] + # # Get Booking ID + # booking_id = BookingOrder.where("order_id='#{assigned_item.order_id}'").pluck(:booking_id)[0] - # print when complete click - print_settings = PrintSetting.find_by_unique_code(unique_code) - order_queue_printer = Printer::OrderQueuePrinter.new(print_settings) - order_queue_printer.print_booking_summary(print_settings,oqs, booking_id, print_status) + # # print when complete click + # print_settings = PrintSetting.find_by_unique_code(unique_code) + # order_queue_printer = Printer::OrderQueuePrinter.new(print_settings) + # order_queue_printer.print_booking_summary(print_settings,oqs, booking_id, print_status) - # update print status for completed same order items - assigned_items.each do |ai| - ai.print_status = true - ai.save - end + # # update print status for completed same order items + # assigned_items.each do |ai| + # ai.print_status = true + # ai.save + # end end end diff --git a/app/controllers/origami/payments_controller.rb b/app/controllers/origami/payments_controller.rb index 8e10b0e1..fecdbfc3 100755 --- a/app/controllers/origami/payments_controller.rb +++ b/app/controllers/origami/payments_controller.rb @@ -21,47 +21,51 @@ class Origami::PaymentsController < BaseOrigamiController cashier_zone = CashierTerminalByZone.find_by_zone_id(table.zone_id) cashier_terminal = CashierTerminal.find(cashier_zone.cashier_terminal_id) - # Print for First Bill to Customer - unique_code = "ReceiptBillPdf" - #shop detail - shop_details = Shop::ShopDetail - # customer= Customer.where('customer_id=' +.customer_id) - customer = Customer.find(sale_data.customer_id) + Rails.logger.debug ENV["SERVER_MODE"] - # rounding adjustment - if shop_details.is_rounding_adj - a = sale_data.grand_total % 25 # Modulus - b = sale_data.grand_total / 25 # Division - #not calculate rounding if modulus is 0 and division is even - #calculate rounding if modulus is zero or not zero and division are not even - if (a != 0.0 && b%2 != 0.0) || (a==0.0 && b%2 !=0) - new_total = Sale.get_rounding_adjustment(sale_data.grand_total) - rounding_adj = new_total-sale_data.grand_total - sale_data.update_attributes(grand_total: new_total,old_grand_total: sale_data.grand_total,rounding_adjustment:rounding_adj) + if ENV["SERVER_MODE"] != "cloud" #no print in cloud server + # Print for First Bill to Customer + unique_code = "ReceiptBillPdf" + #shop detail + shop_details = Shop::ShopDetail + # customer= Customer.where('customer_id=' +.customer_id) + customer = Customer.find(sale_data.customer_id) + + # rounding adjustment + if shop_details.is_rounding_adj + a = sale_data.grand_total % 25 # Modulus + b = sale_data.grand_total / 25 # Division + #not calculate rounding if modulus is 0 and division is even + #calculate rounding if modulus is zero or not zero and division are not even + if (a != 0.0 && b%2 != 0.0) || (a==0.0 && b%2 !=0) + new_total = Sale.get_rounding_adjustment(sale_data.grand_total) + rounding_adj = new_total-sale_data.grand_total + sale_data.update_attributes(grand_total: new_total,old_grand_total: sale_data.grand_total,rounding_adjustment:rounding_adj) + end end + #end rounding adjustment + + # get member information + rebate = MembershipSetting.find_by_rebate(1) + if customer.membership_id != nil && rebate + member_info = Customer.get_member_account(customer) + # current_balance = SaleAudit.paymal_search(sale_id) + current_balance = 0 end - #end rounding adjustment + # get printer info + print_settings=PrintSetting.find_by_unique_code(unique_code) - # get member information - rebate = MembershipSetting.find_by_rebate(1) - if customer.membership_id != nil && rebate - member_info = Customer.get_member_account(customer) - # current_balance = SaleAudit.paymal_search(sale_id) - current_balance = 0 + # 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) + discount_price_by_accounts = SaleItem.get_discount_price_by_accounts(sale_items) + + 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) end - # 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) - discount_price_by_accounts = SaleItem.get_discount_price_by_accounts(sale_items) - - 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) end def create @@ -106,40 +110,42 @@ class Origami::PaymentsController < BaseOrigamiController cashier_terminal = CashierTerminal.find(cashier_zone.cashier_terminal_id) # For Print - unique_code = "ReceiptBillPdf" - customer= Customer.find(saleObj.customer_id) - - # get member information - rebate = MembershipSetting.find_by_rebate(1) - credit_data = SalePayment.find_by_sale_id_and_payment_method(sale_id,'creditnote') - - if customer.membership_id != nil && rebate && credit_data.nil? - member_info = Customer.get_member_account(customer) - rebate_amount = Customer.get_membership_transactions(customer,saleObj.receipt_no) - current_balance = SaleAudit.paymal_search(sale_id) - end - - #for card sale data - card_data = Array.new - card_sale_trans_ref_no = Sale.getCardSaleTrans(sale_id) - if !card_sale_trans_ref_no.nil? - card_sale_trans_ref_no.each do |cash_sale_trans| - card_res_date = cash_sale_trans.res_date.strftime("%Y-%m-%d").to_s - card_res_time = cash_sale_trans.res_time.strftime("%H:%M").to_s - card_no = cash_sale_trans.pan.last(4) - card_no = card_no.rjust(19,"**** **** **** ") - card_data.push({'res_date' => card_res_date, 'res_time' => card_res_time, 'batch_no' => cash_sale_trans.batch_no, 'trace' => cash_sale_trans.trace, 'pan' => card_no, 'app' => cash_sale_trans.app, 'tid' => cash_sale_trans.terminal_id, 'app_code' => cash_sale_trans.app_code, 'ref_no' => cash_sale_trans.ref_no, 'mid' => cash_sale_trans.merchant_id}) - end - 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(saleObj.sale_items) - discount_price_by_accounts = SaleItem.get_discount_price_by_accounts(saleObj.sale_items) + if ENV["SERVER_MODE"] != "cloud" #no print in cloud server + unique_code = "ReceiptBillPdf" + customer= Customer.find(saleObj.customer_id) - 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) + # get member information + rebate = MembershipSetting.find_by_rebate(1) + credit_data = SalePayment.find_by_sale_id_and_payment_method(sale_id,'creditnote') + + if customer.membership_id != nil && rebate && credit_data.nil? + member_info = Customer.get_member_account(customer) + rebate_amount = Customer.get_membership_transactions(customer,saleObj.receipt_no) + current_balance = SaleAudit.paymal_search(sale_id) + end + + #for card sale data + card_data = Array.new + card_sale_trans_ref_no = Sale.getCardSaleTrans(sale_id) + if !card_sale_trans_ref_no.nil? + card_sale_trans_ref_no.each do |cash_sale_trans| + card_res_date = cash_sale_trans.res_date.strftime("%Y-%m-%d").to_s + card_res_time = cash_sale_trans.res_time.strftime("%H:%M").to_s + card_no = cash_sale_trans.pan.last(4) + card_no = card_no.rjust(19,"**** **** **** ") + card_data.push({'res_date' => card_res_date, 'res_time' => card_res_time, 'batch_no' => cash_sale_trans.batch_no, 'trace' => cash_sale_trans.trace, 'pan' => card_no, 'app' => cash_sale_trans.app, 'tid' => cash_sale_trans.terminal_id, 'app_code' => cash_sale_trans.app_code, 'ref_no' => cash_sale_trans.ref_no, 'mid' => cash_sale_trans.merchant_id}) + end + 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(saleObj.sale_items) + 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) + end end end @@ -244,40 +250,42 @@ class Origami::PaymentsController < BaseOrigamiController 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(saleObj.customer_id) + if ENV["SERVER_MODE"] != "cloud" #no print in cloud server + unique_code = "ReceiptBillPdf" + customer= Customer.find(saleObj.customer_id) - #shop detail - shop_details = Shop::ShopDetail - # 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) - current_balance = SaleAudit.paymal_search(sale_id) - end - - #for card sale data - card_data = Array.new - card_sale_trans_ref_no = Sale.getCardSaleTrans(sale_id) - if !card_sale_trans_ref_no.nil? - card_sale_trans_ref_no.each do |cash_sale_trans| - card_res_date = cash_sale_trans.res_date.strftime("%Y-%m-%d").to_s - card_res_time = cash_sale_trans.res_time.strftime("%H:%M").to_s - card_no = cash_sale_trans.pan.last(4) - card_no = card_no.rjust(19,"**** **** **** ") - card_data.push({'res_date' => card_res_date, 'res_time' => card_res_time, 'batch_no' => cash_sale_trans.batch_no, 'trace' => cash_sale_trans.trace, 'pan' => card_no, 'app' => cash_sale_trans.app, 'tid' => cash_sale_trans.terminal_id, 'app_code' => cash_sale_trans.app_code, 'ref_no' => cash_sale_trans.ref_no, 'mid' => cash_sale_trans.merchant_id}) + #shop detail + shop_details = Shop::ShopDetail + # 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) + current_balance = SaleAudit.paymal_search(sale_id) end - end - # get printer info - print_settings=PrintSetting.find_by_unique_code(unique_code) - # Calculate price_by_accounts - item_price_by_accounts = SaleItem.calculate_price_by_accounts(saleObj.sale_items) - 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) + #for card sale data + card_data = Array.new + card_sale_trans_ref_no = Sale.getCardSaleTrans(sale_id) + if !card_sale_trans_ref_no.nil? + card_sale_trans_ref_no.each do |cash_sale_trans| + card_res_date = cash_sale_trans.res_date.strftime("%Y-%m-%d").to_s + card_res_time = cash_sale_trans.res_time.strftime("%H:%M").to_s + card_no = cash_sale_trans.pan.last(4) + card_no = card_no.rjust(19,"**** **** **** ") + card_data.push({'res_date' => card_res_date, 'res_time' => card_res_time, 'batch_no' => cash_sale_trans.batch_no, 'trace' => cash_sale_trans.trace, 'pan' => card_no, 'app' => cash_sale_trans.app, 'tid' => cash_sale_trans.terminal_id, 'app_code' => cash_sale_trans.app_code, 'ref_no' => cash_sale_trans.ref_no, 'mid' => cash_sale_trans.merchant_id}) + end + end + # get printer info + print_settings=PrintSetting.find_by_unique_code(unique_code) + + # Calculate price_by_accounts + item_price_by_accounts = SaleItem.calculate_price_by_accounts(saleObj.sale_items) + 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) + end end def foc @@ -314,20 +322,22 @@ class Origami::PaymentsController < BaseOrigamiController # Re-call Sale Data saleObj = Sale.find(sale_id) - unique_code = "ReceiptBillPdf" - customer= Customer.find(saleObj.customer_id) - - #shop detail - shop_details = Shop::ShopDetail + if ENV["SERVER_MODE"] != "cloud" #no print in cloud server + unique_code = "ReceiptBillPdf" + customer= Customer.find(saleObj.customer_id) + + #shop detail + shop_details = Shop::ShopDetail - # 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(saleObj.sale_items) - discount_price_by_accounts = SaleItem.get_discount_price_by_accounts(saleObj.sale_items) + # 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(saleObj.sale_items) + 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 = 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) + end end end diff --git a/app/controllers/origami/shifts_controller.rb b/app/controllers/origami/shifts_controller.rb index 1c75d3bd..a6a2044d 100755 --- a/app/controllers/origami/shifts_controller.rb +++ b/app/controllers/origami/shifts_controller.rb @@ -55,24 +55,24 @@ class Origami::ShiftsController < BaseOrigamiController end - unique_code = "CloseCashierPdf" - shop_details = Shop.find(1) - #get tax - shift_obj = ShiftSale.where('id =?',@shift.id) - @sale_taxes = Sale.get_separate_tax(shift_obj,from=nil,to=nil,type='') - #other payment details for mpu or visa like card - @other_payment = ShiftSale.get_by_shift_other_payment(@shift) + # unique_code = "CloseCashierPdf" + # shop_details = Shop.find(1) + # #get tax + # shift_obj = ShiftSale.where('id =?',@shift.id) + # @sale_taxes = Sale.get_separate_tax(shift_obj,from=nil,to=nil,type='') + # #other payment details for mpu or visa like card + # @other_payment = ShiftSale.get_by_shift_other_payment(@shift) - # Calculate price_by_accounts - @total_amount_by_account = ShiftSale.calculate_total_price_by_accounts(@shift,'amount') - @total_discount_by_account = ShiftSale.calculate_total_price_by_accounts(@shift,'discount') - @total_member_discount = ShiftSale.get_total_member_discount(@shift) - # get printer info - print_settings = PrintSetting.find_by_unique_code(unique_code) + # # Calculate price_by_accounts + # @total_amount_by_account = ShiftSale.calculate_total_price_by_accounts(@shift,'amount') + # @total_discount_by_account = ShiftSale.calculate_total_price_by_accounts(@shift,'discount') + # @total_member_discount = ShiftSale.get_total_member_discount(@shift) + # # get printer info + # print_settings = PrintSetting.find_by_unique_code(unique_code) - printer = Printer::CashierStationPrinter.new(print_settings) + # printer = Printer::CashierStationPrinter.new(print_settings) - printer.print_close_cashier(print_settings,cashier_terminal,@shift,shop_details,@sale_taxes,@other_payment,@total_amount_by_account,@total_discount_by_account,@total_member_discount) + # printer.print_close_cashier(print_settings,cashier_terminal,@shift,shop_details,@sale_taxes,@other_payment,@total_amount_by_account,@total_discount_by_account,@total_member_discount) end diff --git a/app/controllers/origami/void_controller.rb b/app/controllers/origami/void_controller.rb index fe2ddca8..a0c4a23b 100755 --- a/app/controllers/origami/void_controller.rb +++ b/app/controllers/origami/void_controller.rb @@ -76,26 +76,27 @@ class Origami::VoidController < BaseOrigamiController 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) - current_balance = SaleAudit.paymal_search(sale_id) - 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) + if ENV["SERVER_MODE"] != "cloud" #no print in cloud server + 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",current_balance,nil) + 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) + end #end print diff --git a/app/models/order_queue_station.rb b/app/models/order_queue_station.rb index c8a3a552..8b1d6d7d 100755 --- a/app/models/order_queue_station.rb +++ b/app/models/order_queue_station.rb @@ -78,22 +78,13 @@ class OrderQueueStation < ApplicationRecord end end - if oqs.auto_print - if oqs_order_items.length > 0 - print_slip(oqs, order, oqs_order_items) - is_auto_printed = true - end - end - end - # if oqs.id == oqpbz.order_queue_station_id - # # Auto Printing - # if oqs.auto_print - # if oqs_order_items.length > 0 - # print_slip(oqs, order, oqs_order_items) - # is_auto_printed = true - # end - # end - # end + # if oqs.auto_print + # if oqs_order_items.length > 0 + # print_slip(oqs, order, oqs_order_items) + # is_auto_printed = true + # end + # end + end end # end end @@ -101,33 +92,32 @@ class OrderQueueStation < ApplicationRecord private #Print order_items in 1 slip def print_slip(oqs, order, order_items) - unique_code="OrderSummaryPdf" + # unique_code="OrderSummaryPdf" - print_settings=PrintSetting.find_by_unique_code(unique_code) - order_queue_printer= Printer::OrderQueuePrinter.new(print_settings) - order_queue_printer.print_order_summary(print_settings, oqs,order.order_id, order_items, print_status="") + # print_settings=PrintSetting.find_by_unique_code(unique_code) + # order_queue_printer= Printer::OrderQueuePrinter.new(print_settings) + # order_queue_printer.print_order_summary(print_settings, oqs,order.order_id, order_items, print_status="") - AssignedOrderItem.where("order_id = '#{ order.order_id }'").find_each do |ai| - # update print status for order items - ai.print_status=true - ai.save - end - + # AssignedOrderItem.where("order_id = '#{ order.order_id }'").find_each do |ai| + # # update print status for order items + # ai.print_status=true + # ai.save + # end end #Print order_item in 1 slip per item def print_slip_item(oqs, assigned_item) - unique_code="OrderItemPdf" - order_item = OrderItem.where("order_id='#{assigned_item.order_id}' AND item_instance_code='#{assigned_item.instance_code}'").first() - # print when complete click - print_settings=PrintSetting.find_by_unique_code(unique_code) - order_queue_printer= Printer::OrderQueuePrinter.new(print_settings) - order_queue_printer.print_order_item(print_settings, oqs,item.order_id, order_item.order_items_id, print_status="" ) + # unique_code="OrderItemPdf" + # order_item = OrderItem.where("order_id='#{assigned_item.order_id}' AND item_instance_code='#{assigned_item.instance_code}'").first() + # # print when complete click + # print_settings=PrintSetting.find_by_unique_code(unique_code) + # order_queue_printer= Printer::OrderQueuePrinter.new(print_settings) + # order_queue_printer.print_order_item(print_settings, oqs,item.order_id, order_item.order_items_id, print_status="" ) - # update print status for completed same order items - assigned_order_item.each do |ai| - ai.print_status=true - ai.save - end + # # update print status for completed same order items + # assigned_order_item.each do |ai| + # ai.print_status=true + # ai.save + # end end end diff --git a/app/models/printer/receipt_printer.rb b/app/models/printer/receipt_printer.rb index 49502b3f..ed4fad91 100755 --- a/app/models/printer/receipt_printer.rb +++ b/app/models/printer/receipt_printer.rb @@ -94,7 +94,7 @@ class Printer::ReceiptPrinter < Printer::PrinterWorker # stock check def print_stock_check_result(print_settings,stockcheck, stockcheck_items,checker_name, shop_details) pdf = StockResultPdf.new(print_settings,stockcheck, stockcheck_items,checker_name, shop_details) - pdf.render_file "tmp/print_stock_check_result.pdf" + pdf.render_file "tmp/print_stock_check_result.pdf" self.print("tmp/print_stock_check_result.pdf") end @@ -114,7 +114,7 @@ class Printer::ReceiptPrinter < Printer::PrinterWorker #Generate PDF #Print pdf = CrmOrderPdf.new(booking,order_items,setting) - pdf.render_file "tmp/print_crm_order.pdf" + pdf.render_file "tmp/print_crm_order.pdf" self.print("tmp/print_crm_order.pdf") end diff --git a/app/views/oqs/home/index.html.erb b/app/views/oqs/home/index.html.erb index f5868fa5..e5196917 100755 --- a/app/views/oqs/home/index.html.erb +++ b/app/views/oqs/home/index.html.erb @@ -168,9 +168,8 @@
reply Back - - +
diff --git a/app/views/origami/home/show.html.erb b/app/views/origami/home/show.html.erb index f162be5d..db9dbbb6 100755 --- a/app/views/origami/home/show.html.erb +++ b/app/views/origami/home/show.html.erb @@ -395,12 +395,10 @@ - - <%if @membership.discount && @obj_sale.customer.membership_id %> - - <%else%> + + <% if ENV["SERVER_MODE"] != "cloud" %> - <%end%> + <% end %> <% end %> @@ -410,6 +408,7 @@ <% else %> <% end %> + "> +"> diff --git a/config/secrets.yml b/config/secrets.yml index 37b1f0b0..48ad8e2c 100755 --- a/config/secrets.yml +++ b/config/secrets.yml @@ -24,7 +24,7 @@ test: # instead read values from the environment. production: secret_key_base: c4bc81065013f9a3506d385bcbd49586c42e586488144b0de90c7da36867de9fa880f46b5c4f86f0ce9b7c783bb5a73bdb0e5605a47716567294390e726d3e22 - sx_provision_url: provision.zsai.ws/api #192.168.1.94:3002 + sx_provision_url: connect.smartsales.asia/api #192.168.1.147:3002/api server_mode: cloud cipher_type: AES-256-CBC sx_key: Wh@t1$C2L diff --git a/config/shops.json b/config/shops.json new file mode 100644 index 00000000..f48d28c5 --- /dev/null +++ b/config/shops.json @@ -0,0 +1,11 @@ +{ + "data": [ + { + "lookup": "osaka1-7.zsai.ws", + "value": { + "key": "wwF9Zx9q/LfxSDqSNHYXvfu1eGsBqFEFXoXqGWrEirA=\n", + "iv": "l1rUEZFcPNHrTHWgaODkYQ==\n" + } + } + ] +}