diff --git a/app/assets/javascripts/order_reservation.js b/app/assets/javascripts/order_reservation.js index 81afc303..d17250ae 100644 --- a/app/assets/javascripts/order_reservation.js +++ b/app/assets/javascripts/order_reservation.js @@ -208,21 +208,22 @@ function show_order_detail(url,sr_no){ // console.log(data); $(".tbl_customer").show(); if(data.status != "delivered"){ - $('#accepted').show(); - if(data.status != "ready_to_delivery" && data.status != "send_to_kitchen"){ - $('#cancel').show(); - } - }else{ - $('#accepted').hide(); - $('#cancel').hide(); + $('#accepted').show(); + if(data.status != "ready_to_delivery" && data.status != "send_to_kitchen"){ + $('#cancel').show(); } + }else{ + $('#accepted').hide(); + $('#cancel').hide(); + } var delivery = data["delivery"]; var items = data["order_items"]; var item_list = $('.summary-items'); var newDate = new Date(data.requested_time); var time = timeFormat(newDate); - var requested_date = newDate.getFullYear() + '-' + (newDate.getMonth() >= 10? newDate.getMonth() : '0' + (newDate.getMonth() + 1)) +'-'+ (newDate.getDate() >= 10? newDate.getDate() : '0' + newDate.getDate()) +' '+time; + // var requested_date = newDate.getFullYear() + '-' + (newDate.getMonth() >= 10? newDate.getMonth() : '0' + (newDate.getMonth() + 1)) +'-'+ (newDate.getDate() >= 10? newDate.getDate() : '0' + newDate.getDate()) +' '+time; + var requested_date = getOrderMonth(newDate.getMonth()) +' '+ (newDate.getDate() >= 10? newDate.getDate() : '0' + newDate.getDate()) +', '+newDate.getFullYear()+'('+getOrderDay(newDate.getDay())+')'+' '+time; if((data.expected_waiting_time!=undefined) && (data.expected_waiting_time!=null)){ // var expDate = new Date(data.expected_waiting_time); @@ -260,7 +261,8 @@ function show_order_detail(url,sr_no){ $("#discount").show(); } - $('#requested_date_time').text(requested_date); + //customer info detail + // $('#requested_date_time').text(requested_date); $('#sub_total').text(data.total_amount); $('#delivery_fee').text((parseFloat(delivery.delivery_fee) > 0)? delivery.delivery_fee : '0.0'); $('#total_charges').text((parseFloat(data.convenience_charge) > 0)? data.convenience_charge : '0.0'); @@ -299,6 +301,15 @@ function show_order_detail(url,sr_no){ $("#order_remark").text(data.reservation_remark); } + if(data.remark!=null && data.remark!=""){ + var doemal_remark = data.remark.split("||"); + var remark = doemal_remark[0] +", "+ doemal_remark[1]; + $("#remark").text(remark); + }else{ + $("#remark").text(""); + } + + //no and order id info $("#sr_number").text("NO."+sr_no); $("#order_status").text(data.status); if (data["receipt_no"]) { @@ -400,7 +411,7 @@ function showNewOrder(order_reservation){ var time = timeFormat(date); var requested_date = date.getFullYear() + '-' + (date.getMonth() >= 10? date.getMonth() : '0' + (date.getMonth() + 1)) +'-'+ (date.getDate() >= 10? date.getDate() : '0' + date.getDate()) +' '+time; //audio play - var audio = new Audio('/beep-07.wav'); // define your audio + var audio = new Audio('/beep.wav'); // define your audio // setTimeout(function(){ // audio.loop = true; audio.play(); @@ -416,4 +427,14 @@ function showNewOrder(order_reservation){ allowOutsideClick: false }); } +} + +function getOrderMonth(month){ + var MONTHS = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sept","Oct","Nov","Dec"]; + return MONTHS[month]; +} + +function getOrderDay(day){ + var DAYS = ["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]; + return DAYS[day]; } \ No newline at end of file diff --git a/app/controllers/api/order_reserve/order_reservation_controller.rb b/app/controllers/api/order_reserve/order_reservation_controller.rb index 59e99967..1d9e3fab 100644 --- a/app/controllers/api/order_reserve/order_reservation_controller.rb +++ b/app/controllers/api/order_reserve/order_reservation_controller.rb @@ -81,6 +81,36 @@ class Api::OrderReserve::OrderReservationController < Api::ApiController status = params[:status] remark = params[:remark] - + if params[:status] && params[:remark] + reason = status +"||"+remark + order_reservation = OrderReservation.find(order_reservation_id) + + if status == 'REMOVE' + if order_reservation.status == "new" || order_reservation.status == "accepted" + OrderReservation.update_order_reservation(order_reservation_id, nil, "rejected",nil,remark) + result = {:status=> true, :message => "rejected" } + else + result = {:status=> false, :message => "Status :: "+order_reservation.status+" cann't remove!" } + end + elsif status == 'FOC' + if order_reservation.status == "new" || order_reservation.status == "accepted" || order_reservation.status == "send_to_kitchen" + OrderReservation.update_order_reservation(order_reservation_id, nil, nil,nil,reason) + result = {:status=> true, :message => "FOC successfully" } + else + result = {:status=> false, :message => "Status :: "+order_reservation.status+" cann't get FOC!" } + end + elsif status == 'VOID' + if order_reservation.status == "ready_to_delivery" + OrderReservation.update_order_reservation(order_reservation_id, nil, nil,nil,reason) + result = {:status=> true, :message => "VOID successfully" } + else + result = {:status=> false, :message => "Status :: "+order_reservation.status+" cann't VOID!" } + end + end + else + result = { :status => false, :order_reservation_id => order_reservation_id, :message => "status and remark is required!" } + end + + render :json => result end end diff --git a/app/controllers/origami/order_reservation_controller.rb b/app/controllers/origami/order_reservation_controller.rb index c7487b97..e3536205 100644 --- a/app/controllers/origami/order_reservation_controller.rb +++ b/app/controllers/origami/order_reservation_controller.rb @@ -1,6 +1,7 @@ class Origami::OrderReservationController < BaseOrigamiController def index + puts Time.now.utc @order = OrderReservation.latest_order #.active @count_on_order = OrderReservation.get_count_on_order @count_on_completed = OrderReservation.get_count_on_completed @@ -19,31 +20,24 @@ class Origami::OrderReservationController < BaseOrigamiController access_code = params[:access_code] @order_reservation = OrderReservation.find(@id) - status = true - - if status - if @status == "processed" - result = OrderReservation.create_doemal_order(@order_reservation,current_user) - elsif @status == "delivery" - OrderReservation.update_order_reservation(@id, nil, "ready_to_delivery") - response = OrderReservation.send_status_to_ordering(@order_reservation.callback_url,@order_reservation.transaction_ref,"ready_to_delivery") - result = {:status=> true, :message => "ready for delivery" } - elsif @status == "completed" - result = OrderReservation.update_doemal_payment(@order_reservation,current_user) - else - if @status == "rejected" - OrderReservation.update_order_reservation(@id, nil, "rejected",nil,remark,access_code,current_user) - result = {:status=> true, :message => "rejected" } - else - OrderReservation.update_order_reservation(@id, nil, "accepted", expected_waiting_time) - result = {:status=> true, :message => "accepted" } - end - end - render :json => result.to_json + if @status == "processed" + result = OrderReservation.create_doemal_order(@order_reservation,current_user) + elsif @status == "delivery" + OrderReservation.update_order_reservation(@id, nil, "ready_to_delivery") + response = OrderReservation.send_status_to_ordering(@order_reservation.callback_url,@order_reservation.transaction_ref,"ready_to_delivery") + result = {:status=> true, :message => "ready for delivery" } + elsif @status == "completed" + result = OrderReservation.update_doemal_payment(@order_reservation,current_user) else - result = {:status=> false, :message => "Order not accepted !" } - render :json => result.to_json - end + if @status == "rejected" + OrderReservation.update_order_reservation(@id, nil, "rejected",nil,remark,access_code,current_user) + result = {:status=> true, :message => "rejected" } + else + OrderReservation.update_order_reservation(@id, nil, "accepted", expected_waiting_time) + result = {:status=> true, :message => "accepted" } + end + end + render :json => result.to_json end def get_order diff --git a/app/models/order_reservation.rb b/app/models/order_reservation.rb index 734cd9ec..64df8ee9 100644 --- a/app/models/order_reservation.rb +++ b/app/models/order_reservation.rb @@ -40,7 +40,7 @@ class OrderReservation < ApplicationRecord end if order_reserve[:reservation_info] order_reservation.total_customer = order_reserve[:reservation_info][:total_user] - order_reservation.reservation_remark = order_reserve[:reservation_info][:reservation_note] + order_reservation.order_remark = order_reserve[:reservation_info][:reservation_note] end order_reservation.save! if order_reserve[:order_info][:items] @@ -102,7 +102,7 @@ class OrderReservation < ApplicationRecord #order reservation status updated update_order_reservation(order.id, @sale.sale_id, SEND_TO_KITCHEN) - result = {:status=> @status, :data => @sale, :message => "created" } + result = {:status=> @status, :data => @sale, :message => "send to kitchen" } return result end end @@ -195,20 +195,20 @@ class OrderReservation < ApplicationRecord if !expected_waiting_time.nil? order_reservation.expected_waiting_time = expected_waiting_time end - order_reservation.status = status + if !status.nil? + order_reservation.status = status + end if !remark.nil? order_reservation.order_remark = remark end - if status == "delivered" order_reservation.payment_status = "paid" end - order_reservation.save - if !order_reservation.sale_id.nil? && status == "rejected" - void_doemal_payment(order_reservation.sale_id, remark, access_code, current_user) - end + # if !order_reservation.sale_id.nil? && status == "rejected" + # void_doemal_payment(order_reservation.sale_id, remark, access_code, current_user) + # end end def self.void_doemal_payment(sale_id, remark, access_code, current_user) @@ -277,8 +277,7 @@ class OrderReservation < ApplicationRecord end def self.check_order_send_to_kitchen - today = Time.now.utc - order_reservation = OrderReservation.where("status='accepted' and requested_time > '#{today}' and expected_waiting_time < '#{today}'") + order_reservation = OrderReservation.where("status='accepted' and requested_time <= '#{Time.now.utc}'") if order_reservation.length > 0 if ENV["SERVER_MODE"] == 'cloud' ActionCable.server.broadcast "check_order_send_to_kitchen_channel",data: order_reservation @@ -287,8 +286,7 @@ class OrderReservation < ApplicationRecord end def self.check_order_ready_to_delivery - today = Time.now.utc - order_reservation = OrderReservation.where("status='send_to_kitchen' and requested_time > '#{today}' and expected_waiting_time < '#{today}'") + order_reservation = OrderReservation.where("status='send_to_kitchen' and requested_time <= '#{Time.now.utc}'") if order_reservation.length > 0 if ENV["SERVER_MODE"] == 'cloud' ActionCable.server.broadcast "check_order_ready_to_delivery_channel",data: order_reservation diff --git a/app/views/origami/order_reservation/get_order.json.jbuilder b/app/views/origami/order_reservation/get_order.json.jbuilder index b3cb8f65..6b0caba2 100644 --- a/app/views/origami/order_reservation/get_order.json.jbuilder +++ b/app/views/origami/order_reservation/get_order.json.jbuilder @@ -4,7 +4,7 @@ if @order :requested_time,:expected_waiting_time,:callback_url,:transaction_ref,:item_count,:total_customer,:payment_type, :payment_status,:payment_ref,:taxes,:total_amount,:total_tax, :discount_amount,:convenience_charge,:grand_total,:status,:order_remark, - :reservation_remark,:sale_id) + :remark,:sale_id) @delivery = Delivery.find_by_order_reservation_id(@order.order_reservation_id) if @delivery json.delivery do |json| diff --git a/app/views/origami/order_reservation/index.html.erb b/app/views/origami/order_reservation/index.html.erb index 75c3f7e0..45c7bf82 100644 --- a/app/views/origami/order_reservation/index.html.erb +++ b/app/views/origami/order_reservation/index.html.erb @@ -441,6 +441,11 @@ +