add API for order reservation
This commit is contained in:
@@ -208,21 +208,22 @@ function show_order_detail(url,sr_no){
|
|||||||
// console.log(data);
|
// console.log(data);
|
||||||
$(".tbl_customer").show();
|
$(".tbl_customer").show();
|
||||||
if(data.status != "delivered"){
|
if(data.status != "delivered"){
|
||||||
$('#accepted').show();
|
$('#accepted').show();
|
||||||
if(data.status != "ready_to_delivery" && data.status != "send_to_kitchen"){
|
if(data.status != "ready_to_delivery" && data.status != "send_to_kitchen"){
|
||||||
$('#cancel').show();
|
$('#cancel').show();
|
||||||
}
|
|
||||||
}else{
|
|
||||||
$('#accepted').hide();
|
|
||||||
$('#cancel').hide();
|
|
||||||
}
|
}
|
||||||
|
}else{
|
||||||
|
$('#accepted').hide();
|
||||||
|
$('#cancel').hide();
|
||||||
|
}
|
||||||
var delivery = data["delivery"];
|
var delivery = data["delivery"];
|
||||||
var items = data["order_items"];
|
var items = data["order_items"];
|
||||||
var item_list = $('.summary-items');
|
var item_list = $('.summary-items');
|
||||||
|
|
||||||
var newDate = new Date(data.requested_time);
|
var newDate = new Date(data.requested_time);
|
||||||
var time = timeFormat(newDate);
|
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)){
|
if((data.expected_waiting_time!=undefined) && (data.expected_waiting_time!=null)){
|
||||||
// var expDate = new Date(data.expected_waiting_time);
|
// var expDate = new Date(data.expected_waiting_time);
|
||||||
@@ -260,7 +261,8 @@ function show_order_detail(url,sr_no){
|
|||||||
$("#discount").show();
|
$("#discount").show();
|
||||||
}
|
}
|
||||||
|
|
||||||
$('#requested_date_time').text(requested_date);
|
//customer info detail
|
||||||
|
// $('#requested_date_time').text(requested_date);
|
||||||
$('#sub_total').text(data.total_amount);
|
$('#sub_total').text(data.total_amount);
|
||||||
$('#delivery_fee').text((parseFloat(delivery.delivery_fee) > 0)? delivery.delivery_fee : '0.0');
|
$('#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');
|
$('#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);
|
$("#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);
|
$("#sr_number").text("NO."+sr_no);
|
||||||
$("#order_status").text(data.status);
|
$("#order_status").text(data.status);
|
||||||
if (data["receipt_no"]) {
|
if (data["receipt_no"]) {
|
||||||
@@ -400,7 +411,7 @@ function showNewOrder(order_reservation){
|
|||||||
var time = timeFormat(date);
|
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;
|
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
|
//audio play
|
||||||
var audio = new Audio('/beep-07.wav'); // define your audio
|
var audio = new Audio('/beep.wav'); // define your audio
|
||||||
// setTimeout(function(){
|
// setTimeout(function(){
|
||||||
// audio.loop = true;
|
// audio.loop = true;
|
||||||
audio.play();
|
audio.play();
|
||||||
@@ -416,4 +427,14 @@ function showNewOrder(order_reservation){
|
|||||||
allowOutsideClick: false
|
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]
|
status = params[:status]
|
||||||
remark = params[:remark]
|
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
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
class Origami::OrderReservationController < BaseOrigamiController
|
class Origami::OrderReservationController < BaseOrigamiController
|
||||||
|
|
||||||
def index
|
def index
|
||||||
|
puts Time.now.utc
|
||||||
@order = OrderReservation.latest_order #.active
|
@order = OrderReservation.latest_order #.active
|
||||||
@count_on_order = OrderReservation.get_count_on_order
|
@count_on_order = OrderReservation.get_count_on_order
|
||||||
@count_on_completed = OrderReservation.get_count_on_completed
|
@count_on_completed = OrderReservation.get_count_on_completed
|
||||||
@@ -19,31 +20,24 @@ class Origami::OrderReservationController < BaseOrigamiController
|
|||||||
access_code = params[:access_code]
|
access_code = params[:access_code]
|
||||||
@order_reservation = OrderReservation.find(@id)
|
@order_reservation = OrderReservation.find(@id)
|
||||||
|
|
||||||
status = true
|
if @status == "processed"
|
||||||
|
result = OrderReservation.create_doemal_order(@order_reservation,current_user)
|
||||||
if status
|
elsif @status == "delivery"
|
||||||
if @status == "processed"
|
OrderReservation.update_order_reservation(@id, nil, "ready_to_delivery")
|
||||||
result = OrderReservation.create_doemal_order(@order_reservation,current_user)
|
response = OrderReservation.send_status_to_ordering(@order_reservation.callback_url,@order_reservation.transaction_ref,"ready_to_delivery")
|
||||||
elsif @status == "delivery"
|
result = {:status=> true, :message => "ready for delivery" }
|
||||||
OrderReservation.update_order_reservation(@id, nil, "ready_to_delivery")
|
elsif @status == "completed"
|
||||||
response = OrderReservation.send_status_to_ordering(@order_reservation.callback_url,@order_reservation.transaction_ref,"ready_to_delivery")
|
result = OrderReservation.update_doemal_payment(@order_reservation,current_user)
|
||||||
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
|
|
||||||
else
|
else
|
||||||
result = {:status=> false, :message => "Order not accepted !" }
|
if @status == "rejected"
|
||||||
render :json => result.to_json
|
OrderReservation.update_order_reservation(@id, nil, "rejected",nil,remark,access_code,current_user)
|
||||||
end
|
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
|
end
|
||||||
|
|
||||||
def get_order
|
def get_order
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ class OrderReservation < ApplicationRecord
|
|||||||
end
|
end
|
||||||
if order_reserve[:reservation_info]
|
if order_reserve[:reservation_info]
|
||||||
order_reservation.total_customer = order_reserve[:reservation_info][:total_user]
|
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
|
end
|
||||||
order_reservation.save!
|
order_reservation.save!
|
||||||
if order_reserve[:order_info][:items]
|
if order_reserve[:order_info][:items]
|
||||||
@@ -102,7 +102,7 @@ class OrderReservation < ApplicationRecord
|
|||||||
#order reservation status updated
|
#order reservation status updated
|
||||||
update_order_reservation(order.id, @sale.sale_id, SEND_TO_KITCHEN)
|
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
|
return result
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -195,20 +195,20 @@ class OrderReservation < ApplicationRecord
|
|||||||
if !expected_waiting_time.nil?
|
if !expected_waiting_time.nil?
|
||||||
order_reservation.expected_waiting_time = expected_waiting_time
|
order_reservation.expected_waiting_time = expected_waiting_time
|
||||||
end
|
end
|
||||||
order_reservation.status = status
|
if !status.nil?
|
||||||
|
order_reservation.status = status
|
||||||
|
end
|
||||||
if !remark.nil?
|
if !remark.nil?
|
||||||
order_reservation.order_remark = remark
|
order_reservation.order_remark = remark
|
||||||
end
|
end
|
||||||
|
|
||||||
if status == "delivered"
|
if status == "delivered"
|
||||||
order_reservation.payment_status = "paid"
|
order_reservation.payment_status = "paid"
|
||||||
end
|
end
|
||||||
|
|
||||||
order_reservation.save
|
order_reservation.save
|
||||||
|
|
||||||
if !order_reservation.sale_id.nil? && status == "rejected"
|
# if !order_reservation.sale_id.nil? && status == "rejected"
|
||||||
void_doemal_payment(order_reservation.sale_id, remark, access_code, current_user)
|
# void_doemal_payment(order_reservation.sale_id, remark, access_code, current_user)
|
||||||
end
|
# end
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.void_doemal_payment(sale_id, remark, access_code, current_user)
|
def self.void_doemal_payment(sale_id, remark, access_code, current_user)
|
||||||
@@ -277,8 +277,7 @@ class OrderReservation < ApplicationRecord
|
|||||||
end
|
end
|
||||||
|
|
||||||
def self.check_order_send_to_kitchen
|
def self.check_order_send_to_kitchen
|
||||||
today = Time.now.utc
|
order_reservation = OrderReservation.where("status='accepted' and requested_time <= '#{Time.now.utc}'")
|
||||||
order_reservation = OrderReservation.where("status='accepted' and requested_time > '#{today}' and expected_waiting_time < '#{today}'")
|
|
||||||
if order_reservation.length > 0
|
if order_reservation.length > 0
|
||||||
if ENV["SERVER_MODE"] == 'cloud'
|
if ENV["SERVER_MODE"] == 'cloud'
|
||||||
ActionCable.server.broadcast "check_order_send_to_kitchen_channel",data: order_reservation
|
ActionCable.server.broadcast "check_order_send_to_kitchen_channel",data: order_reservation
|
||||||
@@ -287,8 +286,7 @@ class OrderReservation < ApplicationRecord
|
|||||||
end
|
end
|
||||||
|
|
||||||
def self.check_order_ready_to_delivery
|
def self.check_order_ready_to_delivery
|
||||||
today = Time.now.utc
|
order_reservation = OrderReservation.where("status='send_to_kitchen' and requested_time <= '#{Time.now.utc}'")
|
||||||
order_reservation = OrderReservation.where("status='send_to_kitchen' and requested_time > '#{today}' and expected_waiting_time < '#{today}'")
|
|
||||||
if order_reservation.length > 0
|
if order_reservation.length > 0
|
||||||
if ENV["SERVER_MODE"] == 'cloud'
|
if ENV["SERVER_MODE"] == 'cloud'
|
||||||
ActionCable.server.broadcast "check_order_ready_to_delivery_channel",data: order_reservation
|
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,
|
:requested_time,:expected_waiting_time,:callback_url,:transaction_ref,:item_count,:total_customer,:payment_type,
|
||||||
:payment_status,:payment_ref,:taxes,:total_amount,:total_tax,
|
:payment_status,:payment_ref,:taxes,:total_amount,:total_tax,
|
||||||
:discount_amount,:convenience_charge,:grand_total,:status,:order_remark,
|
: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)
|
@delivery = Delivery.find_by_order_reservation_id(@order.order_reservation_id)
|
||||||
if @delivery
|
if @delivery
|
||||||
json.delivery do |json|
|
json.delivery do |json|
|
||||||
|
|||||||
@@ -441,6 +441,11 @@
|
|||||||
<b id="order_remark"></b>
|
<b id="order_remark"></b>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td colspan="2" class="body-td align-left">
|
||||||
|
<b><i><span id="remark"></span></i></b>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</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/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' }
|
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' }
|
post '/:addorders/create' => "addorders#create",:as => "addorder_create", :defaults => { :format => 'json' }
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user