From e7c2e3c0077c94c3ce8907007c665cc9254abe49 Mon Sep 17 00:00:00 2001 From: Aung Myo Date: Wed, 27 Sep 2017 17:54:54 +0630 Subject: [PATCH 1/4] update addorder --- app/assets/javascripts/OQS.js | 2 +- app/assets/javascripts/addorder.js | 58 +++++++++---------- .../channels/order_queue_station.js | 2 +- app/assets/stylesheets/addorder.scss | 1 + 4 files changed, 32 insertions(+), 31 deletions(-) diff --git a/app/assets/javascripts/OQS.js b/app/assets/javascripts/OQS.js index 64ebc678..c48807b3 100644 --- a/app/assets/javascripts/OQS.js +++ b/app/assets/javascripts/OQS.js @@ -61,7 +61,7 @@ $(document).ready(function(){ var date = new Date(data[field]["created_at"]); var show_date = date.getDate() + "-" + date.getMonth() + "-" + date.getFullYear() + ' ' + date.getHours()+ ':' + date.getMinutes(); - row ='
' + row ='
' +'
' +'

' +''+data[field]["table_type"]+'- ' diff --git a/app/assets/javascripts/addorder.js b/app/assets/javascripts/addorder.js index 01d42309..0e626507 100644 --- a/app/assets/javascripts/addorder.js +++ b/app/assets/javascripts/addorder.js @@ -69,38 +69,38 @@ $(function(){ image_path = "/image/logo.png"; } - row = '
' - +'
' - +''+ menu_items[field].name +'' - +"
" - +"' - +'
' - +'
' + row = '
' + +'
' + +''+ menu_items[field].name +'' + +"
" + +"' + +'' + +'
' + +'
' - +"
" + +"
" - +"
" - +"" + +"
" + +"" + +"
" - +"
" - - +'' - +'
'; + +'' + +'
'; $('.menu_items_list').append(row); } } diff --git a/app/assets/javascripts/channels/order_queue_station.js b/app/assets/javascripts/channels/order_queue_station.js index 1b9351cf..4fb7d214 100644 --- a/app/assets/javascripts/channels/order_queue_station.js +++ b/app/assets/javascripts/channels/order_queue_station.js @@ -34,7 +34,7 @@ App.order_queue_station = App.cable.subscriptions.create('OrderQueueStationChann if (oqs_id == items[field]["order_queue_station_id"]) { - row ='
' + row ='
' +'' +'
' +'

' diff --git a/app/assets/stylesheets/addorder.scss b/app/assets/stylesheets/addorder.scss index 88adca00..d81a2d85 100644 --- a/app/assets/stylesheets/addorder.scss +++ b/app/assets/stylesheets/addorder.scss @@ -9,6 +9,7 @@ background-color: #54A5AF; padding:5px; color :#fff; + } .custom-card { From e039b8adba57b1f62a7208656cb2ff7ae13c549e Mon Sep 17 00:00:00 2001 From: Aung Myo Date: Mon, 2 Oct 2017 18:23:43 +0630 Subject: [PATCH 2/4] update close cashier --- app/pdf/close_cashier_pdf.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/pdf/close_cashier_pdf.rb b/app/pdf/close_cashier_pdf.rb index 34a9779c..87956fec 100644 --- a/app/pdf/close_cashier_pdf.rb +++ b/app/pdf/close_cashier_pdf.rb @@ -198,7 +198,7 @@ class CloseCashierPdf < Prawn::Document text "JCB Payment :", :size => self.item_font_size, :align => :right end bounding_box([self.item_description_width,y_position], :width =>self.price_width, :height => 20) do - text "#{other.master_amount.round(2)}", :size => self.item_font_size, :align => :right + text "#{other.jcb_amount.round(2)}", :size => self.item_font_size, :align => :right end y_position = cursor @@ -206,7 +206,7 @@ class CloseCashierPdf < Prawn::Document text "Master Payment :", :size => self.item_font_size, :align => :right end bounding_box([self.item_description_width,y_position], :width =>self.price_width, :height => 20) do - text "#{other.jcb_amount.round(2)}", :size => self.item_font_size, :align => :right + text "#{other.master_amount.round(2)}", :size => self.item_font_size, :align => :right end y_position = cursor From 50756656a7dd00b3b4681d8970e96451df7eb808 Mon Sep 17 00:00:00 2001 From: Aung Myo Date: Tue, 10 Oct 2017 18:05:09 +0630 Subject: [PATCH 3/4] updat e addorder for product add --- app/assets/javascripts/addorder.js | 76 +++++++++++++++++++ .../origami/addorders_controller.rb | 4 + app/models/order.rb | 41 +++++++++- app/models/product.rb | 20 +++++ app/views/origami/addorders/detail.html.erb | 16 ++-- .../addorders/get_all_product.json.jbuilder | 4 + config/routes.rb | 1 + 7 files changed, 154 insertions(+), 8 deletions(-) create mode 100644 app/views/origami/addorders/get_all_product.json.jbuilder diff --git a/app/assets/javascripts/addorder.js b/app/assets/javascripts/addorder.js index 0e626507..28bbb7c6 100644 --- a/app/assets/javascripts/addorder.js +++ b/app/assets/javascripts/addorder.js @@ -1,5 +1,81 @@ $(function(){ + //click menu sidebar menu category + $(".product").on("click", function(){ + var url = $(this).attr('data-ref'); + show_product_list(url); + console.log(url) + }); + //show menu item list when click menu category + function show_product_list(url_item){ + var menu_list = $('.menu_items_list'); + menu_list.empty(); + //Start Ajax + $.ajax({ + type: "GET", + url: url_item, + data: {}, + dataType: "json", + success: function(data) { + + var menu_items_list = $('.menu_items_list'); + menu_items_list.empty(); + product = data; + + for(var field in product) { + console.log(product[field].name); + if (product[field].unit_price > 0) { + console.log("hi"); + qty = 1; + options = []; + item_attributes = []; + + if (product[field].image_path) { + image_path = product[field].image_path.url; + }else{ + image_path = "/image/logo.png"; + } + + row = '
' + +'
' + +''+ product[field].name +'' + +"
" + +"' + +'' + +'
' + +'
' + + +"'; + $('.menu_items_list').append(row); + } + } + } + }); + //end Ajax + } + //end show list function //click menu sidebar menu category $(".menu_category").on("click", function(){ var menu_id = $(this).find(".menu-id").text(); diff --git a/app/controllers/origami/addorders_controller.rb b/app/controllers/origami/addorders_controller.rb index 7f68eba3..a19b196e 100644 --- a/app/controllers/origami/addorders_controller.rb +++ b/app/controllers/origami/addorders_controller.rb @@ -43,6 +43,9 @@ class Origami::AddordersController < BaseOrigamiController end end + def get_all_product() + @product = Product.all + end def create Rails.logger.debug "Order Source - " + params[:order_source].to_s @@ -53,6 +56,7 @@ class Origami::AddordersController < BaseOrigamiController items = {"order_item_id": i["order_item_id"],"item_instance_code": i["item_instance_code"],"quantity": i["quantity"],"options": i["options"]} items_arr.push(items) } + # begin @order = Order.new @order.source = params[:order_source] diff --git a/app/models/order.rb b/app/models/order.rb index 1887585c..6bb97ed7 100644 --- a/app/models/order.rb +++ b/app/models/order.rb @@ -38,6 +38,41 @@ class Order < ApplicationRecord booking.save! self.default_values + # cashier already opened? + if self.save! + + self.adding_line_items + #Add Order Table and Room relation afrer order creation + BookingOrder.create({:booking_id => booking.booking_id, :order => self}) + + #Send order to queue one it done! + process_order_queue + + #send order to broadcast job + send_order_broadcast(booking) + + return true, booking + end + return false + end + + def custom_generate + booking = nil + + if self.new_booking + booking = Booking.create({:dining_facility_id => self.table_id,:type => "TableBooking", + :checkin_at => Time.now.utc, :checkin_by => self.employee_name, + :booking_status => "assign" }) + table = DiningFacility.find(self.table_id) + table.status = "occupied" + table.save + else + booking = Booking.find(self.booking_id) + end + + booking.save! + self.default_values + # cashier already opened? if self.save! @@ -58,7 +93,6 @@ class Order < ApplicationRecord return false end - #Main Method - to update order / add items def modify @@ -71,7 +105,12 @@ class Order < ApplicationRecord #loop to add all items to order self.items.each do |item| + menu_item = MenuItem.search_by_item_code(item[:item_instance_code]) + + if menu_item.nil? + menu_item = Product.search_by_product_code(item[:item_instance_code]) + end #if (!menu_item.nil?) Rails.logger.debug menu_item diff --git a/app/models/product.rb b/app/models/product.rb index 5aff41f5..3c18f958 100644 --- a/app/models/product.rb +++ b/app/models/product.rb @@ -3,4 +3,24 @@ class Product < ApplicationRecord # Product Image Uploader mount_uploader :image_path, ProductImageUploader + + def self.search_by_product_code(item_code) + menu_item_hash = Hash.new + mt_instance = Product.find_by_item_code(item_code) + if (!mt_instance.nil?) + menu_item_hash[:type] = 'SetMenuItem' + menu_item_hash[:account_id] = 1 + menu_item_hash[:item_code] = mt_instance.item_code + menu_item_hash[:item_instance_code] = mt_instance.item_code + menu_item_hash[:name] = mt_instance.name.to_s + menu_item_hash[:alt_name] = mt_instance.alt_name.to_s + menu_item_hash[:price] = mt_instance.unit_price + menu_item_hash[:promotion_price] = 0 + menu_item_hash[:is_on_promotion] = 0 + menu_item_hash[:is_available] = 0 + menu_item_hash[:taxable] = mt_instance.taxable + + return menu_item_hash + end +end end diff --git a/app/views/origami/addorders/detail.html.erb b/app/views/origami/addorders/detail.html.erb index eb19090a..3195c45d 100644 --- a/app/views/origami/addorders/detail.html.erb +++ b/app/views/origami/addorders/detail.html.erb @@ -3,13 +3,15 @@
diff --git a/app/views/origami/addorders/get_all_product.json.jbuilder b/app/views/origami/addorders/get_all_product.json.jbuilder new file mode 100644 index 00000000..01921c59 --- /dev/null +++ b/app/views/origami/addorders/get_all_product.json.jbuilder @@ -0,0 +1,4 @@ + +json.array! @product, :id, :item_code, :name, :alt_name,:image_path, + :description,:information,:taxable,:unit_price, :created_at, + :updated_at, :created_by \ No newline at end of file diff --git a/config/routes.rb b/config/routes.rb index 70accbb2..cb8c34c9 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -181,6 +181,7 @@ Rails.application.routes.draw do get '/:addorders/:id' => "addorders#detail" post '/:addorders/create' => "addorders#create", :defaults => { :format => 'json' } get '/addorders/get_menu_category/:id' => "addorders#get_menu_category",:as => "get_menu_category", :defaults => { :format => 'json' } + get '/addorders/products/list' => "addorders#get_all_product",:as => "get_all_product", :defaults => { :format => 'json' } resources :commissions resources :commissioners From 60b5a173882b08b005625bc205aa7e001ad56bff Mon Sep 17 00:00:00 2001 From: Aung Myo Date: Wed, 11 Oct 2017 10:15:10 +0630 Subject: [PATCH 4/4] update product in product rb --- app/models/product.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/models/product.rb b/app/models/product.rb index 3c18f958..3c915a38 100644 --- a/app/models/product.rb +++ b/app/models/product.rb @@ -8,7 +8,7 @@ class Product < ApplicationRecord menu_item_hash = Hash.new mt_instance = Product.find_by_item_code(item_code) if (!mt_instance.nil?) - menu_item_hash[:type] = 'SetMenuItem' + menu_item_hash[:type] = 'Product' menu_item_hash[:account_id] = 1 menu_item_hash[:item_code] = mt_instance.item_code menu_item_hash[:item_instance_code] = mt_instance.item_code