From f60b3d554a4a8058e5a2bca3857bb67b9b44b9c3 Mon Sep 17 00:00:00 2001 From: Yan Date: Mon, 26 Jun 2017 16:23:00 +0630 Subject: [PATCH] add table and order no in oqs --- app/assets/javascripts/OQS.js | 2 +- app/controllers/oqs/home_controller.rb | 2 +- app/models/order_queue_station.rb | 19 +++++++++--------- app/models/printer/order_queue_printer.rb | 6 +++--- app/pdf/order_item_pdf.rb | 11 ++++++++--- app/pdf/order_summary_pdf.rb | 11 ++++++++--- app/views/oqs/home/index.html.erb | 24 +++++++++++------------ 7 files changed, 43 insertions(+), 32 deletions(-) diff --git a/app/assets/javascripts/OQS.js b/app/assets/javascripts/OQS.js index 30a8e264..ce21f509 100644 --- a/app/assets/javascripts/OQS.js +++ b/app/assets/javascripts/OQS.js @@ -26,7 +26,7 @@ $(document).ready(function(){ $('.queue_station').on('click',function(){ var orderZone=$(this).children().children().children('.order-zone').text().trim(); // var orderItem=$(this).children().children().children('.order-item').text(); - //var assigned_item_id = $(this).children().find(".assigned-order-item").text(); + var assigned_item_id = $(this).children().find(".assigned-order-item").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(); diff --git a/app/controllers/oqs/home_controller.rb b/app/controllers/oqs/home_controller.rb index 64fd840d..9887df6c 100644 --- a/app/controllers/oqs/home_controller.rb +++ b/app/controllers/oqs/home_controller.rb @@ -109,7 +109,7 @@ class Oqs::HomeController < BaseOqsController # queue_items.push(queue_item) # end # return queue_items - 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, odt.options, cus.name as customer_name, odt.created_at") + AssignedOrderItem.select("assigned_order_items.assigned_order_item_id, oqs.station_name, oqs.is_active, df.name as zone, df.type, odt.order_id, odt.item_code, odt.item_name, odt.price, odt.qty, odt.item_order_by, odt.options, cus.name as customer_name, odt.created_at") .joins(" 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 AND odt.order_id = assigned_order_items.order_id diff --git a/app/models/order_queue_station.rb b/app/models/order_queue_station.rb index aaa69bcc..4166f7af 100644 --- a/app/models/order_queue_station.rb +++ b/app/models/order_queue_station.rb @@ -22,7 +22,8 @@ class OrderQueueStation < ApplicationRecord #Assign OQS id to order Items oqs_stations.each do |oqs| - is_auto_printed = false + is_auto_printed = false + oqs_order_items = [] #Get List of items - pq_items = JSON.parse(oqs.processing_items) @@ -37,16 +38,16 @@ class OrderQueueStation < ApplicationRecord # else AssignedOrderItem.assigned_order_item(order, order_item.item_code, oqs) - # end - - # Auto Printing - # ToDo per item per printer - if oqs.auto_print && is_auto_printed == false - print_slip(oqs, order, order_items) - is_auto_printed = true - end + oqs_order_items.push(order_item) + # end end end + end + # Auto Printing + # ToDo per item per printer + if oqs.auto_print && is_auto_printed == false + print_slip(oqs, order, oqs_order_items) + is_auto_printed = true end end end diff --git a/app/models/printer/order_queue_printer.rb b/app/models/printer/order_queue_printer.rb index f8fb5027..8535bcc2 100644 --- a/app/models/printer/order_queue_printer.rb +++ b/app/models/printer/order_queue_printer.rb @@ -103,7 +103,7 @@ class Printer::OrderQueuePrinter < Printer::PrinterWorker # Query for OQS with status def print_query(type, id) if type == "order_item" - OrderItem.select("order_items.item_code, order_items.item_name, order_items.qty, order_items.price, order_items.options, order_items.item_order_by as order_by, order_items.created_at as order_at, cus.name as customer, df.name as dining") + OrderItem.select("order_items.order_id, order_items.item_code, order_items.item_name, order_items.qty, order_items.price, order_items.options, order_items.item_order_by as order_by, order_items.created_at as order_at, cus.name as customer, df.type, df.name as dining") .joins("left join orders ON orders.order_id = order_items.order_id left join booking_orders AS bo ON bo.order_id=order_items.order_id left join bookings AS b ON b.booking_id = bo.booking_id @@ -112,7 +112,7 @@ class Printer::OrderQueuePrinter < Printer::PrinterWorker .where("order_items.item_code = '#{ id }'") .group("order_items.item_code") elsif type == "order_summary" - OrderItem.select("order_items.item_code, order_items.item_name, order_items.qty, order_items.price, order_items.options, order_items.item_order_by as order_by, order_items.created_at as order_at, cus.name as customer, df.name as dining") + OrderItem.select("order_items.order_id, order_items.item_code, order_items.item_name, order_items.qty, order_items.price, order_items.options, order_items.item_order_by as order_by, order_items.created_at as order_at, cus.name as customer, df.type, df.name as dining") .joins("left join orders ON orders.order_id = order_items.order_id left join booking_orders AS bo ON bo.order_id=order_items.order_id left join bookings AS b ON b.booking_id = bo.booking_id @@ -122,7 +122,7 @@ class Printer::OrderQueuePrinter < Printer::PrinterWorker .group("order_items.order_items_id") else # order summary for booking - OrderItem.select("order_items.item_code, order_items.item_name, order_items.qty, order_items.price, order_items.options, order_items.item_order_by as order_by, order_items.created_at as order_at, cus.name as customer, df.name as dining") + OrderItem.select("order_items.order_id, order_items.item_code, order_items.item_name, order_items.qty, order_items.price, order_items.options, order_items.item_order_by as order_by, order_items.created_at as order_at, cus.name as customer, df.type, df.name as dining") .joins("left join orders ON orders.order_id = order_items.order_id left join booking_orders AS bo ON bo.order_id=order_items.order_id left join bookings AS b ON b.booking_id = bo.booking_id diff --git a/app/pdf/order_item_pdf.rb b/app/pdf/order_item_pdf.rb index 7feceac9..5a60b093 100644 --- a/app/pdf/order_item_pdf.rb +++ b/app/pdf/order_item_pdf.rb @@ -21,21 +21,26 @@ class OrderItemPdf < Prawn::Document self.header_font_size = 14 self.item_font_size = 12 - text "#{ order_item.dining+print_status }", :size => self.header_font_size,:align => :center, :left_margin => -20 + text "#{ order_item.type + '-' + order_item.dining + print_status }", :size => self.header_font_size,:align => :center, :left_margin => -20 stroke_horizontal_rule move_down 5 #order_info - order_info(order_item.order_by,order_item.order_at) + order_info(order_item.order_id, order_item.order_by,order_item.order_at) # order items order_items(order_item, options) end # Write Order Information to PDF - def order_info(order_by, order_at) + def order_info(order_no, order_by, order_at) y_position = cursor + bounding_box([0,y_position], :width => self.item_width, :height => self.item_height) do + text "OrderNo: #{order_no} ", :size => self.item_font_size,:align => :left + end + move_down 5 + y_position = cursor bounding_box([0,y_position], :width => self.item_width, :height => self.item_height) do text "OrderBy: #{order_by} ", :size => self.item_font_size,:align => :left end diff --git a/app/pdf/order_summary_pdf.rb b/app/pdf/order_summary_pdf.rb index afc216c9..2e9c41ec 100644 --- a/app/pdf/order_summary_pdf.rb +++ b/app/pdf/order_summary_pdf.rb @@ -20,12 +20,12 @@ class OrderSummaryPdf < Prawn::Document self.header_font_size = 12 self.item_font_size = 10 - text "#{ order[0].dining + print_status }", :size => self.header_font_size,:align => :center, :left_margin => -20 + text "#{ order[0].type + '-' + order[0].dining + print_status }", :size => self.header_font_size,:align => :center, :left_margin => -20 stroke_horizontal_rule move_down 5 #order_info - order_info(order[0].order_by,order[0].order_at) + order_info(order[0].order_id, order[0].order_by,order[0].order_at) # order items order_items(order) @@ -33,9 +33,14 @@ class OrderSummaryPdf < Prawn::Document end # Write Order Information to PDF - def order_info(order_by, order_at) + def order_info(order_no, order_by, order_at) y_position = cursor + bounding_box([0,y_position], :width => self.item_width, :height => self.item_height) do + text "OrderNo: #{order_no} ", :size => self.item_font_size,:align => :left + end + move_down 5 + y_position = cursor bounding_box([0,y_position], :width => self.item_width, :height => self.item_height) do text "OrderBy: #{order_by} ", :size => self.item_font_size,:align => :left end diff --git a/app/views/oqs/home/index.html.erb b/app/views/oqs/home/index.html.erb index d41f9f1b..ed704dcb 100644 --- a/app/views/oqs/home/index.html.erb +++ b/app/views/oqs/home/index.html.erb @@ -39,9 +39,11 @@

- - <%= qid.zone %> - - + <%= qid.type %> - + <%= qid.zone %> + <%= qid.order_id %> +

+

<%= qid.item_name %> [x @@ -89,15 +91,13 @@

- - <%= qid.zone %> - - - - <%= qid.item_name %> - [x - - <%= qid.qty %> - ] + <%= qid.type %> - + <%= qid.zone %> + <%= qid.order_id %> +

+

+ <%= qid.item_name %> [x + <%= qid.qty %> ]

<%= qid.options == "[]"? "" : qid.options %>