From 9ff5122b72f90a45d4703d5ce317655eca47e561 Mon Sep 17 00:00:00 2001 From: Nweni Date: Fri, 16 Jun 2017 18:21:57 +0630 Subject: [PATCH 1/5] Update --- app/views/origami/home/index.html.erb | 20 ++++++++++---------- lib/tasks/clear_data.rake | 2 +- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/app/views/origami/home/index.html.erb b/app/views/origami/home/index.html.erb index 9f6cd7d6..ad09225b 100644 --- a/app/views/origami/home/index.html.erb +++ b/app/views/origami/home/index.html.erb @@ -82,10 +82,10 @@
-
+
<% @booking_orders.each do |bko| - # No Show completed + # No Show completed if bko.sale_status == 'completed' next end @@ -146,7 +146,7 @@
<% @booking_rooms.each do |rmo| - # No Show completed + # No Show completed if rmo.sale_status == 'completed' next end @@ -207,8 +207,8 @@
<% - @orders.each do |odr| - # No Show completed + @orders.each do |odr| + # No Show completed if odr.sale_status == 'completed' next end @@ -289,7 +289,7 @@

Customer :

- +
@@ -300,14 +300,14 @@ - + <% # For Sale Items sub_total = 0 if @selected_item_type == "Sale" @selected_item.sale_items.each do |sale_item| sub_total += (sale_item.qty*sale_item.unit_price) - %> + %> @@ -319,7 +319,7 @@ %> <% - # For Order Items + # For Order Items if @selected_item_type == "Order" @selected_item.order_items.each do |order_item| sub_total += (order_item.qty*order_item.unit_price) @@ -363,7 +363,7 @@ - +
Price
<%= sale_item.product_name %> <%= sale_item.qty %><%=@selected_item.grand_total rescue 0%>
diff --git a/lib/tasks/clear_data.rake b/lib/tasks/clear_data.rake index 552c2a60..9d4e0ddd 100644 --- a/lib/tasks/clear_data.rake +++ b/lib/tasks/clear_data.rake @@ -11,7 +11,7 @@ namespace :clear do Sale.delete_all SaleAudit.delete_all SalePayment.delete_all - + DiningFacility.update_all(status:'available') puts "Clear Data Done." end end From 29b76adba72e3a66c3904860c1ad29935600ff95 Mon Sep 17 00:00:00 2001 From: Nweni Date: Sat, 17 Jun 2017 11:35:17 +0630 Subject: [PATCH 2/5] Update --- app/controllers/origami/home_controller.rb | 30 +++++++++---------- app/models/order.rb | 4 +-- app/views/origami/home/index.html.erb | 16 +++++----- .../origami/redeem_payments/index.html.erb | 7 +++-- 4 files changed, 30 insertions(+), 27 deletions(-) diff --git a/app/controllers/origami/home_controller.rb b/app/controllers/origami/home_controller.rb index dbde3293..aac40da5 100644 --- a/app/controllers/origami/home_controller.rb +++ b/app/controllers/origami/home_controller.rb @@ -1,8 +1,8 @@ class Origami::HomeController < BaseOrigamiController def index if params[:booking_id] != nil - type=params[:booking_id].split('-')[0]; - # Sale + type=params[:booking_id].split('-')[0]; + # Sale if type == "SAL" @selected_item = Sale.find(params[:booking_id]) @selected_item_type="Sale" @@ -10,23 +10,23 @@ class Origami::HomeController < BaseOrigamiController else @selected_item = Order.find(params[:booking_id]) @selected_item_type="Order" - end - end + end + end @completed_orders = Order.get_completed_order() @booking_orders = Order.get_booking_order_table() - @booking_rooms = Order.get_booking_order_rooms() + @booking_rooms = Order.get_booking_order_rooms() @orders = Order.get_orders() - end + end def item_show selection(params[:booking_id],1) - end + end def selection(selected_id, is_ajax) str = [] - type=selected_id.split('-')[0]; - # Sale + type=selected_id.split('-')[0]; + # Sale if type == "SAL" @order_details = SaleItem.get_order_items_details(params[:booking_id]) @order_details.each do |ord_detail| @@ -37,8 +37,8 @@ class Origami::HomeController < BaseOrigamiController @order_details = OrderItem.get_order_items_details(params[:booking_id]) @order_details.each do |ord_detail| str.push(ord_detail) - end - end + end + end if is_ajax == 1 render :json => str.to_json else @@ -54,21 +54,21 @@ class Origami::HomeController < BaseOrigamiController else sale = Order.find(params[:sale_id]) end - + status = sale.update_attributes(customer_id: params[:customer_id]) - + if status == true render json: JSON.generate({:status => true}) else render json: JSON.generate({:status => false, :error_message => "Record not found"}) - end + end end def get_customer @customer = Customer.find(params[:customer_id]) - + response = Customer.get_member_account(@customer) respond_to do |format| diff --git a/app/models/order.rb b/app/models/order.rb index f3ae798c..9c65304b 100644 --- a/app/models/order.rb +++ b/app/models/order.rb @@ -231,7 +231,7 @@ class Order < ApplicationRecord .joins("left join orders on orders.order_id = booking_orders.order_id") .joins("left join sales on sales.sale_id = bookings.sale_id") .where("(orders.status = 'new' or orders.status = 'billed') and (dining_facilities.type=? and dining_facilities.is_active=?)",DiningFacility::TABLE_TYPE,true) - .group("bookings.booking_id") + .group("bookings.booking_id,sales.receipt_no,orders.status,sales.sale_id,dining_facilities.name,orders.status,orders.order_id") # For PG # booking_orders.order_id IS NOT NULL and dining_facilities.type=? and dining_facilities.is_active=?",DiningFacility::TABLE_TYPE,true # sales.receipt_no,orders.status,sales.sale_id,dining_facilities.name,orders.status,orders.order_id @@ -262,7 +262,7 @@ class Order < ApplicationRecord .joins("left join orders on orders.order_id = booking_orders.order_id") .joins("left join sales on sales.sale_id = bookings.sale_id") .where("(orders.status = 'new' or orders.status = 'billed') and (dining_facilities.type=? and dining_facilities.is_active=?)",DiningFacility::ROOM_TYPE,true) - .group("bookings.booking_id") + .group("bookings.booking_id,sales.receipt_no,orders.status,sales.sale_id,dining_facilities.name,orders.customer_id,orders.order_id") # For PG # booking_orders.order_id IS NOT NULL and dining_facilities.type=? and dining_facilities.is_active=?",DiningFacility::ROOM_TYPE,true # sales.receipt_no,orders.status,sales.sale_id,dining_facilities.name,orders.customer_id,orders.order_id diff --git a/app/views/origami/home/index.html.erb b/app/views/origami/home/index.html.erb index 05d0f28d..ca15cc4c 100644 --- a/app/views/origami/home/index.html.erb +++ b/app/views/origami/home/index.html.erb @@ -354,14 +354,14 @@ Discount: (<%=@selected_item.total_discount rescue 0%>) - - Tax: - <%=@selected_item.total_tax rescue 0%> - - - Grand Total: - <%=@selected_item.grand_total rescue 0%> - + + Tax: + <%=@selected_item.total_tax rescue 0%> + + + Grand Total: + <%=@selected_item.grand_total rescue 0%> + diff --git a/app/views/origami/redeem_payments/index.html.erb b/app/views/origami/redeem_payments/index.html.erb index 0991e562..edca5471 100644 --- a/app/views/origami/redeem_payments/index.html.erb +++ b/app/views/origami/redeem_payments/index.html.erb @@ -21,7 +21,7 @@ <% end %>
- +

@@ -66,7 +66,7 @@
00
-
Nett
+
Nett
Del
Clr
@@ -123,6 +123,9 @@ $(document).on('click', '.cashier_number', function(event){ case 'del' : var cash=$('#used_amount').text(); $('#used_amount').text(cash.substr(0,cash.length-1)); + case 'nett': + alert($('#valid_amount').text()) + $('#used_amount').text($('#valid_amount').text()); break; } From 064f13290619b9a3d88b6c5de608cb69dd2c1bd4 Mon Sep 17 00:00:00 2001 From: Nweni Date: Sat, 17 Jun 2017 12:13:38 +0630 Subject: [PATCH 3/5] Update --- app/views/settings/order_queue_stations/_form.html.erb | 2 +- app/views/settings/order_queue_stations/index.html.erb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/views/settings/order_queue_stations/_form.html.erb b/app/views/settings/order_queue_stations/_form.html.erb index bc76f044..61f134c7 100644 --- a/app/views/settings/order_queue_stations/_form.html.erb +++ b/app/views/settings/order_queue_stations/_form.html.erb @@ -4,7 +4,7 @@
<%= f.input :station_name %> <%= f.input :is_active %> - <%= f.input :auto_print %> + <%= f.input :printer_name %> <%= f.input :font_size %> <%= f.input :print_copy %> diff --git a/app/views/settings/order_queue_stations/index.html.erb b/app/views/settings/order_queue_stations/index.html.erb index 287fb10b..90339f11 100644 --- a/app/views/settings/order_queue_stations/index.html.erb +++ b/app/views/settings/order_queue_stations/index.html.erb @@ -32,7 +32,7 @@ <%= link_to settings_order_queue_station.station_name, settings_order_queue_station_path(settings_order_queue_station) %> <%= settings_order_queue_station.is_active %> - <%= settings_order_queue_station.auto_print %> + <%= settings_order_queue_station.print_copy %> <%= settings_order_queue_station.printer_name %> <%= settings_order_queue_station.cut_per_item %> From b2ed77947eb2f10a8b3f313647100ee082140dd3 Mon Sep 17 00:00:00 2001 From: Nweni Date: Sat, 17 Jun 2017 13:32:16 +0630 Subject: [PATCH 4/5] Update --- app/controllers/api/bill_controller.rb | 16 ++++++++++++++++ app/controllers/origami/payments_controller.rb | 13 ++++++------- app/models/printer/receipt_printer.rb | 3 ++- app/pdf/receipt_bill_pdf.rb | 14 ++++++-------- .../settings/order_queue_stations/_form.html.erb | 4 ++-- .../settings/order_queue_stations/index.html.erb | 2 +- 6 files changed, 33 insertions(+), 19 deletions(-) diff --git a/app/controllers/api/bill_controller.rb b/app/controllers/api/bill_controller.rb index 6b1fb225..5b3ef646 100644 --- a/app/controllers/api/bill_controller.rb +++ b/app/controllers/api/bill_controller.rb @@ -22,6 +22,22 @@ class Api::BillController < Api::ApiController @status, @sale_id = @sale.generate_invoice_from_order(params[:order_id], current_login_employee) end + + unique_code = "ReceiptBillPdf" + customer= Customer.where('customer_id=' + @sale.customer_id) + + # 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 Food and Beverage Total + food_total, beverage_total = SaleItem.calculate_food_beverage(@sale.sale_items) + + printer = Printer::ReceiptPrinter.new(print_settings) + printer.print_receipt_bill(print_settings,@sale.sale_items,@sale,customer.name, food_total, beverage_total) + end diff --git a/app/controllers/origami/payments_controller.rb b/app/controllers/origami/payments_controller.rb index ca497b81..27062c31 100644 --- a/app/controllers/origami/payments_controller.rb +++ b/app/controllers/origami/payments_controller.rb @@ -12,7 +12,7 @@ class Origami::PaymentsController < BaseOrigamiController sale_payment = SalePayment.new sale_payment.process_payment(saleObj, @user, cash, "cash") - unique_code = "ReceiptBillPdf" + unique_code = "ReceiptBillPdf" customer= Customer.find(saleObj.customer_id) # get member information @@ -20,11 +20,10 @@ class Origami::PaymentsController < BaseOrigamiController # get printer info print_settings=PrintSetting.find_by_unique_code(unique_code) - # Calculate Food and Beverage Total food_total, beverage_total = SaleItem.calculate_food_beverage(saleObj.sale_items) - printer = Printer::ReceiptPrinter.new(print_settings) + printer = Printer::ReceiptPrinter.new(print_settings) printer.print_receipt_bill(print_settings,saleObj.sale_items,saleObj,customer.name, food_total, beverage_total, member_info) end end @@ -41,7 +40,7 @@ class Origami::PaymentsController < BaseOrigamiController @sale_data = Sale.find_by_sale_id(sale_id) #get customer amount - @customer = Customer.find(@sale_data.customer_id) + @customer = Customer.find(@sale_data.customer_id) # get member information response = Customer.get_member_account(@customer) @@ -84,19 +83,19 @@ class Origami::PaymentsController < BaseOrigamiController saleObj = Sale.find(sale_id) - unique_code = "ReceiptBillPdf" + unique_code = "ReceiptBillPdf" customer= Customer.find(saleObj.customer_id) # get member information member_info = Customer.get_member_account(customer) - + # get printer info print_settings=PrintSetting.find_by_unique_code(unique_code) # Calculate Food and Beverage Total food_total, beverage_total = SaleItem.calculate_food_beverage(saleObj.sale_items) - printer = Printer::ReceiptPrinter.new(print_settings) + printer = Printer::ReceiptPrinter.new(print_settings) printer.print_receipt_bill(print_settings,saleObj.sale_items,saleObj,customer.name, food_total, beverage_total, member_info) end diff --git a/app/models/printer/receipt_printer.rb b/app/models/printer/receipt_printer.rb index 92468b0e..bfef5588 100644 --- a/app/models/printer/receipt_printer.rb +++ b/app/models/printer/receipt_printer.rb @@ -52,7 +52,7 @@ class Printer::ReceiptPrinter < Printer::PrinterWorker self.print(filename) end - + def print_receipt_payment_by_foc(sale_id) #Use CUPS service #Generate PDF @@ -70,6 +70,7 @@ class Printer::ReceiptPrinter < Printer::PrinterWorker #Generate PDF #Print pdf = ReceiptBillPdf.new(printer_settings, sale_items, sale_data, customer_name, food_total, beverage_total, member_info) + pdf.render_file "tmp/receipt_bill.pdf" self.print("tmp/receipt_bill.pdf") end diff --git a/app/pdf/receipt_bill_pdf.rb b/app/pdf/receipt_bill_pdf.rb index 524ee7e5..c0d8aa74 100644 --- a/app/pdf/receipt_bill_pdf.rb +++ b/app/pdf/receipt_bill_pdf.rb @@ -11,7 +11,6 @@ class ReceiptBillPdf < Prawn::Document self.item_height = 15 self.item_description_width = (self.page_width-20) / 2 self.label_width = 100 - # @item_width = self.page_width.to_i / 2 # @qty_width = @item_width.to_i / 3 # @double = @qty_width * 1.3 @@ -36,7 +35,6 @@ class ReceiptBillPdf < Prawn::Document if member_info != nil member_info(member_info) end - footer end @@ -206,10 +204,10 @@ class ReceiptBillPdf < Prawn::Document # show member information def member_info(member_info) - + move_down 7 - if member_info["status"] == true - member_info["data"].each do |res| + if member_info["status"] == true + member_info["data"].each do |res| move_down 5 y_position = cursor @@ -219,9 +217,9 @@ class ReceiptBillPdf < Prawn::Document bounding_box([self.item_description_width,y_position], :width =>self.label_width) do text "#{ res["balance"] }" , :size => self.item_font_size,:align => :right end - - end - end + + end + end end def footer diff --git a/app/views/settings/order_queue_stations/_form.html.erb b/app/views/settings/order_queue_stations/_form.html.erb index 61f134c7..789d1d27 100644 --- a/app/views/settings/order_queue_stations/_form.html.erb +++ b/app/views/settings/order_queue_stations/_form.html.erb @@ -4,14 +4,14 @@
<%= f.input :station_name %> <%= f.input :is_active %> - + <%= f.input :printer_name %> <%= f.input :font_size %> <%= f.input :print_copy %> <%= f.input :cut_per_item %> <%= f.input :use_alternate_name %> <%= f.input :processing_items, as: :hidden %> - + <%= f.input :auto_print %>
diff --git a/app/views/settings/order_queue_stations/index.html.erb b/app/views/settings/order_queue_stations/index.html.erb index 90339f11..287fb10b 100644 --- a/app/views/settings/order_queue_stations/index.html.erb +++ b/app/views/settings/order_queue_stations/index.html.erb @@ -32,7 +32,7 @@ <%= link_to settings_order_queue_station.station_name, settings_order_queue_station_path(settings_order_queue_station) %> <%= settings_order_queue_station.is_active %> - + <%= settings_order_queue_station.auto_print %> <%= settings_order_queue_station.print_copy %> <%= settings_order_queue_station.printer_name %> <%= settings_order_queue_station.cut_per_item %> From e55ab32fad0f1793fdf3971a255c59925495c0ab Mon Sep 17 00:00:00 2001 From: Nweni Date: Sat, 17 Jun 2017 16:00:56 +0630 Subject: [PATCH 5/5] Update --- app/assets/javascripts/OQS.js | 33 ++++++++++++------------ app/controllers/oqs/home_controller.rb | 33 ++++++++++++------------ app/views/origami/payments/show.html.erb | 2 +- 3 files changed, 34 insertions(+), 34 deletions(-) diff --git a/app/assets/javascripts/OQS.js b/app/assets/javascripts/OQS.js index 9ad540ab..0e44876d 100644 --- a/app/assets/javascripts/OQS.js +++ b/app/assets/javascripts/OQS.js @@ -17,15 +17,16 @@ //= require cable $(document).ready(function(){ + // auto refresh every 10 seconds // setTimeout(function(){ // window.location.reload(1); // }, 10000); - $('.queue_station').on('click',function(){ + $('.queue_station').on('click',function(){ var orderZone=$(this).children().children().children('.order-zone').text(); var orderItem=$(this).children().children().children('.order-item').text(); - var orderQty=$(this).children().children().children('.order-qty').text(); + var orderQty=$(this).children().children().children('.order-qty').text(); var orderBy=$(this).children().children().children().children('.order-by').text(); var orderAt=$(this).children().children().children().children('.order-at').text(); var orderCustomer=$(this).children().children('.order-customer').text(); @@ -44,19 +45,19 @@ $(document).ready(function(){ }); // complete for queue item - $('.order-complete').on('click',function(e){ + $('.order-complete').on('click',function(e){ //e.preventDefault(); - var _self = $(this); // To know in ajax return - var assigned_item_id=$(this).attr('id').substr(15); + var _self = $(this); // To know in ajax return + var assigned_item_id=$(this).attr('id').substr(15); var params = { 'id':assigned_item_id }; - + $.ajax({ type: 'POST', url: '/oqs/update_delivery', data: params, dataType: 'json', - success: function(data){ - for (i = 0; i < data.length; i++) { + success: function(data){ + for (i = 0; i < data.length; i++) { var queue_station = $('#assigned_queue_' + data[i]).parent().parent(".queue_station"); var station = queue_station.parent().parent().attr('id'); @@ -65,7 +66,7 @@ $(document).ready(function(){ // Remove a queue card from current station queue_station.children('.card-footer').remove(); - + // Add removed queue card from station to completed $("#completed").children('.card-columns').append(queue_station); @@ -73,33 +74,33 @@ $(document).ready(function(){ var station_count=parseInt($("#"+station+"_count").text()) - 1; $("#"+station+"_count").text(station_count); } - - // update queue item count in completed station + + // update queue item count in completed station $("#completed_count").text(parseInt($("#completed_count").text()) + data.length); alert("updated!"); // Page reload location.reload(); } - }); + }); }); $('#print_order_item').on('click',function(){ - var assigned_item_id=$('.selected-item').children('.card-block').children('.assigned-order-item').text(); + var assigned_item_id=$('.selected-item').children('.card-block').children('.assigned-order-item').text(); var params = { 'id':assigned_item_id }; $.ajax({ type: 'GET', - url: '/oqs/print/print/'+assigned_item_id, + url: '/oqs/print/print/'+assigned_item_id, success: function(data){ } }); }); $('#print_order_summary').on('click',function(){ - var assigned_item_id=$('.selected-item').children('.card-block').children('.assigned-order-item').text(); + var assigned_item_id=$('.selected-item').children('.card-block').children('.assigned-order-item').text(); var params = { 'id':assigned_item_id }; $.ajax({ type: 'GET', - url: '/oqs/print/print_order_summary/'+assigned_item_id, + url: '/oqs/print/print_order_summary/'+assigned_item_id, success: function(data){ } }); }); diff --git a/app/controllers/oqs/home_controller.rb b/app/controllers/oqs/home_controller.rb index 7af42166..fc439640 100644 --- a/app/controllers/oqs/home_controller.rb +++ b/app/controllers/oqs/home_controller.rb @@ -1,22 +1,22 @@ class Oqs::HomeController < BaseOqsController def index queue_stations=OrderQueueStation.all - + @queue_items_details = queue_items_query(0) - @queue_completed_item = queue_items_query(1) - + @queue_completed_item = queue_items_query(1) + @queue_stations_items=Array.new # Calculate Count for each station tab - queue_stations.each do |que| + queue_stations.each do |que| i=0 - @queue_items_details.each do |qid| - if qid.station_name == que.station_name - i=i+1 - end - end - @queue_stations_items.push({:station_name => que.station_name, :is_active => que.is_active ,:item_count => i }) + @queue_items_details.each do |qid| + if qid.station_name == que.station_name + i=i+1 + end + end + @queue_stations_items.push({:station_name => que.station_name, :is_active => que.is_active ,:item_count => i }) end @queue_stations_items @@ -35,24 +35,23 @@ class Oqs::HomeController < BaseOqsController # update delivery status for completed same order items assigned_items.each do |ai| ai.delivery_status=true - ai.save + ai.save removed_item.push(ai.assigned_order_item_id) - end - render :json => removed_item.to_json + end + render :json => removed_item.to_json end # Query for OQS with status def queue_items_query(status) AssignedOrderItem.select("assigned_order_items.assigned_order_item_id, oqs.station_name, oqs.is_active, df.name as zone, odt.item_code, odt.item_name, odt.price, odt.qty, odt.item_order_by, cus.name as customer_name, odt.created_at") - .joins(" left join order_queue_process_by_zones as oqpz ON oqpz.order_queue_station_id = assigned_order_items.order_queue_station_id + .joins("left join order_queue_process_by_zones as oqpz ON oqpz.order_queue_station_id = assigned_order_items.order_queue_station_id left join dining_facilities as df on df.zone_id = oqpz.zone_id left join order_queue_stations as oqs ON oqs.id = assigned_order_items.order_queue_station_id left join orders as od ON od.order_id = assigned_order_items.order_id left join order_items as odt ON odt.item_code = assigned_order_items.item_code left join customers as cus ON cus.customer_id = od.customer_id") - .where("assigned_order_items.delivery_status = #{status}") + .where("assigned_order_items.delivery_status = #{status}") .group("assigned_order_items.assigned_order_item_id") - .order("odt.item_name DESC") + .order("odt.item_name DESC") end end - diff --git a/app/views/origami/payments/show.html.erb b/app/views/origami/payments/show.html.erb index 995e13e9..9ac19b1a 100644 --- a/app/views/origami/payments/show.html.erb +++ b/app/views/origami/payments/show.html.erb @@ -235,7 +235,7 @@
- +