From 26765111fa5b29c70fb4f300ca7f6290507145d1 Mon Sep 17 00:00:00 2001 From: phyusin Date: Tue, 20 Mar 2018 17:04:52 +0630 Subject: [PATCH] add edit order item api and second display route --- app/controllers/api/orders_controller.rb | 63 ++++++++++++++++++++++-- config/routes.rb | 19 ++----- 2 files changed, 64 insertions(+), 18 deletions(-) diff --git a/app/controllers/api/orders_controller.rb b/app/controllers/api/orders_controller.rb index 43e1bd11..ac26e052 100755 --- a/app/controllers/api/orders_controller.rb +++ b/app/controllers/api/orders_controller.rb @@ -67,8 +67,8 @@ class Api::OrdersController < Api::ApiController end } #end extra time - puts params[:order_items] - puts "ITEM aaaaaaaaaaaaaaaaaaa" + puts params[:order_items] + puts "ORDER ITEMS" # begin @order = Order.new @order.source = params[:order_source] @@ -172,9 +172,9 @@ class Api::OrdersController < Api::ApiController # Update customer info, Guest Info # Input Params # order_id , order_items {[item_code, item_instance_code , qty, option, variants]} - def update + # def update - end + # end def order_params params.permits(:order_source, :booking_id,:order_type, @@ -199,4 +199,59 @@ class Api::OrdersController < Api::ApiController end return status end + + def update + Rails.logger.debug "Booking ID - " + params[:booking_id].to_s + if checkin_checkout_time(params[:booking_id]) + Rails.logger.debug "Order Item ID - " + params[:order_item_id].to_s + + order_items_id = params[:order_item_id] + qty_weight = params[:quantity].to_f + remarks = params[:remark] + + order_item = OrderItem.find(order_items_id) + before_updated_qty = order_item.qty + + order_item.item_order_by = current_login_employee.name + order_item.qty = qty_weight + order_item.remark = remarks + order_item.save + + if ENV["SERVER_MODE"] != "cloud" #no print in cloud server + # print + assigned_item = AssignedOrderItem.find_by_instance_code(order_item.item_instance_code) + # order queue stations + oqs = assigned_item.order_queue_station + + order_slim_pdf = Lookup.collection_of("print_settings") #print_settings with name:OrderSlimPdf + + unique_code="OrderItemPdf" + if !order_slim_pdf.empty? + order_slim_pdf.each do |order_item_slim| + if order_item_slim[0] == 'OrderSlimPdf' + if order_item_slim[1] == '1' + unique_code="OrderItemSlimPdf" + else + unique_code="OrderItemPdf" + end + elsif order_item_slim[0] == 'OrderSetPdf' + if order_item_slim[1] == '1' + unique_code="OrderSetItemPdf" + else + unique_code="OrderItemPdf" + end + end + end + end + + 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=" (Cancelled)", before_updated_qty ) + end + + return return_json_status_with_code(400, "updated successfully!") + else + return return_json_status_with_code(406, "Checkout time is over!") + end + end end diff --git a/config/routes.rb b/config/routes.rb index e8c33e34..7234f5a3 100755 --- a/config/routes.rb +++ b/config/routes.rb @@ -55,6 +55,7 @@ scope "(:locale)", locale: /en|mm/ do post "bill" => "bill#create" end get 'view_orders' => "orders#view_orders" + post "update_order_item" => "orders#update" #Current active bookings resources :bookings, only: [:index, :show, :create, :update] @@ -95,9 +96,6 @@ scope "(:locale)", locale: /en|mm/ do get "quick_service/modify_order/:sale_id" => "quick_service#modify_order" post 'quick_service/update_modify_order' => "quick_service#update_modify_order", :defaults => { :format => 'json' } - resources :second_display - - post '/customer_view' => "second_display#customer_view",:as => "customer_view", :defaults => { :format => 'json' } resources :cash_ins, only: [:new, :create] resources :cash_outs, only: [:new, :create] @@ -170,14 +168,13 @@ scope "(:locale)", locale: /en|mm/ do get 'sale/:sale_id/:type/payment' => 'payments#show' post 'sale/:sale_id/:type/payment/print' => 'payments#print' #route for print receipt - post 'payment/:type/foc' => 'payments#foc', :defaults => {:format => 'json'} + post 'payment/foc' => 'payments#foc', :defaults => {:format => 'json'} post 'payment/cash' => 'payments#create' post 'payment/mpu' => "mpu#create" post 'payment/jcb' => "jcb#create" post 'payment/master' => "master#create" post 'payment/visa' => "visa#create" post 'payment/unionpay' => "unionpay#create" - post 'payment/junctionpay' => "junction_pay#create" post 'payment/paypar' => 'paypar_payments#create' post 'payment/credit' => 'credit_payments#create' post 'payment/voucher' => 'voucher_payments#create' @@ -189,12 +186,11 @@ scope "(:locale)", locale: /en|mm/ do get 'sale/:sale_id/:type/payment/others_payment/Master' => "master#index" get 'sale/:sale_id/:type/payment/others_payment/JCB' => "jcb#index" get 'sale/:sale_id/:type/payment/others_payment/UNIONPAY' => "unionpay#index" - get 'sale/:sale_id/:type/payment/others_payment/JUNCTIONPAY' => "junction_pay#index" get 'sale/:sale_id/:type/payment/others_payment/Redeem' => "redeem_payments#index" get 'sale/:sale_id/:type/payment/others_payment/Voucher' => "voucher#index" #---------Void --------------# - post 'sale/:sale_id/:type/void' => 'void#overall_void' + post 'sale/:sale_id/void' => 'void#overall_void' #---------Multiple Invoices --------------# get 'table/:table_id/table_invoices' => "table_invoices#index", :as => "table_invoice_index" @@ -246,6 +242,7 @@ scope "(:locale)", locale: /en|mm/ do post '/split_bills/equal_person', to: 'split_bill#update_sale' + resources :second_display #second display routes end #--------- Waiter/Ordering Station ------------# @@ -291,16 +288,12 @@ scope "(:locale)", locale: /en|mm/ do #--------- System Settings ------------# namespace :settings do - resources :shops do - resources :display_images - end - + resources :shops #employees resources :employees #menu resources :menus do #menu_categories - collection { post :import } resources :menu_categories, only: [:new, :create, :edit, :delete] end @@ -437,8 +430,6 @@ scope "(:locale)", locale: /en|mm/ do #----------- Print Setup --------# resources :print_settings - get '/get_printer_options/:printer_name' => 'print_settings#get_printer_options' - resources :commissioners # For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html end