add API for order reservation
This commit is contained in:
@@ -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];
|
||||
}
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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|
|
||||
|
||||
@@ -441,6 +441,11 @@
|
||||
<b id="order_remark"></b>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" class="body-td align-left">
|
||||
<b><i><span id="remark"></span></i></b>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
@@ -239,7 +239,7 @@ scope "(:locale)", locale: /en|mm/ do
|
||||
get '/addorders/get_menu_sub_category/:id' => "addorders#get_menu_sub_category",:as => "get_menu_sub_category", :defaults => { :format => 'json' }
|
||||
get '/addorders/products/list' => "addorders#get_all_product",:as => "get_all_product", :defaults => { :format => 'json' }
|
||||
|
||||
match '/:addorders/:id' => "addorders#detail", via: [:post, :get]
|
||||
# match '/:addorders/:id' => "addorders#detail", via: [:post, :get]
|
||||
post '/:addorders/create' => "addorders#create",:as => "addorder_create", :defaults => { :format => 'json' }
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user