change order reservation -not finished

This commit is contained in:
phyusin
2018-05-09 11:28:01 +06:30
parent 313f1b2909
commit 4faee913f3
13 changed files with 211 additions and 35 deletions

View File

@@ -18,8 +18,23 @@ App.check_new_order = App.cable.subscriptions.create('CheckNewOrderChannel', {
}); });
// alert(order_lists); // alert(order_lists);
$("#notify_new_order_lists").text(order_lists); swal({
$("#notify_new_order").modal({show: true, keyboard: false, backdrop: false}); title: 'Information',
target: document.getElementById("notify_new_order"),
text: "You have new orders <br/>"+
"Are you accept or reject for these orders <b>"+order_lists+"</b>?",
type: 'success',
html: true,
closeOnConfirm: false,
closeOnCancel: false,
allowOutsideClick: false
}, function (isConfirm) {
if(isConfirm){
swal.close();
}
});
// $("#notify_new_order_lists").text(order_lists);
// $("#notify_new_order").modal({show: true, keyboard: false, backdrop: false});
} }
} }
}); });

View File

@@ -18,8 +18,23 @@ App.check_order_ready_to_delivery = App.cable.subscriptions.create('CheckOrderRe
}); });
// alert(order_lists); // alert(order_lists);
$("#notify_order_ready_to_delivery_lists").text(order_lists); swal({
$("#notify_order_ready_to_delivery").modal({show: true, keyboard: false, backdrop: false}); title: 'Information',
target: document.getElementById("notify_order_ready_to_delivery"),
text: "You have orders that are ready to deliver <br/>"+
"Could you ready these orders <b>"+order_lists+"</b> to deliver?",
type: 'success',
html: true,
closeOnConfirm: false,
closeOnCancel: false,
allowOutsideClick: false
}, function (isConfirm) {
if(isConfirm){
swal.close();
}
});
// $("#notify_order_ready_to_delivery_lists").text(order_lists);
// $("#notify_order_ready_to_delivery").modal({show: true, keyboard: false, backdrop: false});
} }
} }
}); });

View File

@@ -18,8 +18,23 @@ App.check_order_send_to_kitchen = App.cable.subscriptions.create('CheckOrderSend
}); });
// alert(order_lists); // alert(order_lists);
$("#notify_order_send_to_kitchen_lists").text(order_lists); swal({
$("#notify_order_send_to_kitchen").modal({show: true, keyboard: false, backdrop: false}); title: 'Information',
target: document.getElementById("notify_order_send_to_kitchen"),
text: "You have to send order to kitchen <br/>"+
"Could you send these orders <b>"+order_lists+"</b> to kitchen?",
type: 'success',
html: true,
closeOnConfirm: false,
closeOnCancel: false,
allowOutsideClick: false
}, function (isConfirm) {
if(isConfirm){
swal.close();
}
});
// $("#notify_order_send_to_kitchen_lists").text(order_lists);
// $("#notify_order_send_to_kitchen").modal({show: true, keyboard: false, backdrop: false});
} }
} }
}); });

View File

@@ -55,7 +55,7 @@ $(function() {
$("#cancel").on("click", function(){ $("#cancel").on("click", function(){
var order_status = $("#order_status").text(); var order_status = $("#order_status").text();
$("#status").text($(this).attr("data-value")); $("#status").text($(this).attr("data-value"));
if(order_status!="new" && order_status!= "accepted"){ if(order_status!="new" && order_status!= "accepted" && order_status!="send_to_kitchen"){
$("#AccessCodeModal").modal({show: true, backdrop: false, keyboard: false}); $("#AccessCodeModal").modal({show: true, backdrop: false, keyboard: false});
}else{ }else{
$("#rejected_reasonModal").modal({show: true, backdrop: false, keyboard: false}); $("#rejected_reasonModal").modal({show: true, backdrop: false, keyboard: false});
@@ -63,13 +63,24 @@ $(function() {
}); });
$(".send_status").on("click",function(){ $(".send_status").on("click",function(){
var status = $("#status").text(); $("#reject_reasonErr").html("");
var order_id = $('#order_id').text(); if($('#reject_reason').val() != ""){
var callback = $('#callback_url').text(); var order_status = $("#order_status").text();
var ref_no = $('#ref_no').text(); var status = $("#status").text();
var reason = $('#reject_reason').val(); var order_id = $('#order_id').text();
var approved_code = $("#approved_code").text(); var callback = $('#callback_url').text();
callback_url(callback,ref_no,order_id,status,"","","",reason,approved_code); var ref_no = $('#ref_no').text();
var reason = "";
var approved_code = $("#approved_code").text();
if(order_status == 'ready_to_delivery'){
reason = "VOID ::" + $('#reject_reason').val();
}else{
reason = $('#reject_reason').val();
}
callback_url(callback,ref_no,order_id,status,"","","",reason,approved_code);
}else{
$("#reject_reasonErr").html("This is required field");
}
}); });
$(".timer_type").on("click",function(){ $(".timer_type").on("click",function(){

View File

@@ -75,4 +75,12 @@ class Api::OrderReserve::OrderReservationController < Api::ApiController
end end
end end
end end
def update_status
order_reservation_id = params[:id]
status = params[:status]
remark = params[:remark]
end
end end

View File

@@ -3,6 +3,7 @@ class Origami::OrderReservationController < BaseOrigamiController
def index def index
@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
end end
def update def update

View File

@@ -1,7 +1,7 @@
class Reports::OrderReservationController < BaseReportController class Reports::OrderReservationController < BaseReportController
# authorize_resource :class => false # authorize_resource :class => false
def index def index
@providers = [["All",''], ["food2u","food2u"], ["Self Pick-Up","pick_up"], ["Ygndoor2door","ygndoor2door"], ["Direct Delivery","direct_delivery"]] @providers = [["All",''], ["food2u","food2u"], ["Pick-Up","pick_up"], ["ygndoor2door","ygndoor2door"], ["Direct Delivery","direct_delivery"]]
from, to = get_date_range_from_params from, to = get_date_range_from_params
@@ -19,7 +19,7 @@ class Reports::OrderReservationController < BaseReportController
end end
provider = params[:provider] provider = params[:provider]
@sale_data = OrderReservation.get_order_reservation_by_shift(@shift_sale_range,@shift,from,to,provider) @order_reservation_data = OrderReservation.get_order_reservation_by_shift(@shift_sale_range,@shift,from,to,provider)
@from = from @from = from
@to = to @to = to
# get printer info # get printer info

View File

@@ -199,6 +199,11 @@ class OrderReservation < ApplicationRecord
if !remark.nil? if !remark.nil?
order_reservation.order_remark = remark order_reservation.order_remark = remark
end end
if status == "delivered"
order_reservation.payment_status = "paid"
end
order_reservation.save order_reservation.save
if !order_reservation.sale_id.nil? && status == "rejected" if !order_reservation.sale_id.nil? && status == "rejected"
@@ -245,7 +250,14 @@ class OrderReservation < ApplicationRecord
end end
def self.get_count_on_order def self.get_count_on_order
order_reservation = OrderReservation.select("COUNT(order_reservation_id) as count, status").group("status") order_reservation = OrderReservation.select("COUNT(order_reservation_id) as count, status")
.where("status != 'delivered'")
.group("status")
end
def self.get_count_on_completed
order_reservation = OrderReservation.select("COUNT(order_reservation_id) as count")
.where("created_at BETWEEN '#{DateTime.now.beginning_of_day}' AND '#{DateTime.now.end_of_day}' AND status = 'delivered'").first()
end end
def self.get_pending_orders def self.get_pending_orders
@@ -294,7 +306,9 @@ class OrderReservation < ApplicationRecord
end end
end end
query = OrderReservation.joins(" JOIN deliveries on deliveries.order_reservation_id = order_reservations.order_reservation_id") query = OrderReservation.select("order_reservations.*, deliveries.provider, deliveries.delivery_fee, customers.name, customers.email")
.joins(" JOIN deliveries on deliveries.order_reservation_id = order_reservations.order_reservation_id")
.joins(" JOIN customers on customers.customer_id = order_reservations.customer_id")
.joins(" JOIN sales on sales.sale_id = order_reservations.sale_id") .joins(" JOIN sales on sales.sale_id = order_reservations.sale_id")
if shift.present? if shift.present?
query = query.where("sales.shift_sale_id in (?) #{provider} and sales.sale_status= 'completed' and sale_payments.payment_amount != 0", shift.to_a) query = query.where("sales.shift_sale_id in (?) #{provider} and sales.sale_status= 'completed' and sale_payments.payment_amount != 0", shift.to_a)

View File

@@ -19,11 +19,14 @@
delivered_count = count_order.count delivered_count = count_order.count
elsif count_order.status == "ready_to_delivery" elsif count_order.status == "ready_to_delivery"
completed_count = count_order.count completed_count = count_order.count
elsif count_order.status == "delivered"
processed_count = count_order.count
end end
end end
end %> end
if !@count_on_completed.nil?
processed_count = @count_on_completed.count
end
%>
<!-- end count function --> <!-- end count function -->
<div class="row m-t--10"> <div class="row m-t--10">
<div class="col-lg-5 col-md-5 col-sm-5 div_order_margin"> <div class="col-lg-5 col-md-5 col-sm-5 div_order_margin">
@@ -237,7 +240,7 @@
<tbody> <tbody>
<% i=1 <% i=1
@order.each do |order| %> @order.each do |order| %>
<% if order.status == 'delivered' %> <% if order.status == 'delivered' && (order.created_at.utc.getlocal.strftime("%Y-%m-%d") == DateTime.now.strftime("%Y-%m-%d")) %>
<tr class="custom-tr fifth-<%=i%>" style="" data-id="<%=order.order_reservation_id%>" data-sr-no="<%= i %>"> <tr class="custom-tr fifth-<%=i%>" style="" data-id="<%=order.order_reservation_id%>" data-sr-no="<%= i %>">
<td width ="5%" class="align-left"> <td width ="5%" class="align-left">
<%=i%> <%=i%>
@@ -443,6 +446,10 @@
</div> </div>
</div> </div>
</div> </div>
<div id="notify_new_order"></div>
<div id="notify_order_send_to_kitchen"></div>
<div id="notify_order_ready_to_delivery"></div>
</div> </div>
<p id="ref_no" class="hidden"></p> <p id="ref_no" class="hidden"></p>
@@ -508,6 +515,7 @@
<div class="modal-body"> <div class="modal-body">
<div class="form-group"> <div class="form-group">
<textarea id="reject_reason" name="reject_reason" class="form-control" rows="3" cols="30"></textarea> <textarea id="reject_reason" name="reject_reason" class="form-control" rows="3" cols="30"></textarea>
<span id="reject_reasonErr" style="color:red"></span>
</div> </div>
</div> </div>
<div class="modal-footer "> <div class="modal-footer ">
@@ -557,7 +565,7 @@
</div> </div>
</div> </div>
<div class="modal fade " id="notify_new_order" tabindex="-1" role="dialog"> <!-- <div class="modal fade " id="notify_new_order" tabindex="-1" role="dialog">
<div class="modal-dialog modal-md" role="document"> <div class="modal-dialog modal-md" role="document">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
@@ -621,10 +629,5 @@
</div> </div>
</div> </div>
</div> </div>
</div> </div> -->
<!-- <div id="notify_new_order"></div>
<div id="notify_order_send_to_kitchen"></div>
<div id="notify_order_ready_to_delivery"></div> -->
</div> </div>

View File

@@ -28,25 +28,104 @@
<div class="card"> <div class="card">
<table class="table table-striped" border="0"> <table class="table table-striped" border="0">
<thead> <thead>
<tr> <tr>
<th colspan="9"> <%= t("views.right_panel.detail.from_date") %> : <%= @from.utc.getlocal.strftime("%Y-%b-%d") rescue '-' %> - <%= t("views.right_panel.detail.to_date") %> : <%= @to.utc.getlocal.strftime("%Y-%b-%d") rescue '-'%></th> <th colspan="15"> <%= t("views.right_panel.detail.from_date") %> : <%= @from.utc.getlocal.strftime("%Y-%b-%d") rescue '-' %> - <%= t("views.right_panel.detail.to_date") %> : <%= @to.utc.getlocal.strftime("%Y-%b-%d") rescue '-'%></th>
</tr> </tr>
<% if @shift_from %> <% if @shift_from %>
<tr> <tr>
<% if @shift_data.employee %> <% if @shift_data.employee %>
<% cashier_name = !@shift_data.nil? ? @shift_data.employee.name : '-' %> <% cashier_name = !@shift_data.nil? ? @shift_data.employee.name : '-' %>
<% end %> <% end %>
<th colspan="9"><%= t("views.right_panel.detail.shift_name") %> = <%= @shift_from %> - <%= @shift_to %> ( <%= cashier_name %> )</th> <th colspan="15"><%= t("views.right_panel.detail.shift_name") %> = <%= @shift_from %> - <%= @shift_to %> ( <%= cashier_name %> )</th>
</tr> </tr>
<% end %> <% end %>
<tr> <tr>
<th><%= t :customer %></th>
<th><%= t("views.right_panel.detail.type") %></th>
<th><%= t("views.right_panel.detail.requested_time") %></th>
<th><%= t("views.right_panel.detail.provider") %></th>
<th><%= t :payment_method %></th>
<th><%= t :payment %> <%= t("views.right_panel.detail.status")%></th>
<th><%= t("views.right_panel.detail.sub_total") %></th>
<th><%= t("views.right_panel.detail.discount_amount") %></th>
<th><%= t("views.right_panel.detail.delivery_fee") %></th>
<th><%= t("views.right_panel.detail.convenience_charge") %></th>
<th><%= t("views.right_panel.detail.delivery_tax") %></th>
<th><%= t("views.right_panel.detail.convenience_tax") %></th>
<th><%= t("views.right_panel.detail.commercial_tax") %></th>
<th><%= t("views.right_panel.detail.total") %> <%= t("views.right_panel.detail.tax") %></th>
<th><%= t("views.right_panel.detail.grand_total") %></th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
<% if @print_settings.precision.to_i > 0
precision = @print_settings.precision
else
precision = 0
end
#check delimiter
if @print_settings.delimiter
delimiter = ","
else
delimiter = ""
end %>
<%
total_amount = 0
discount_amount = 0
delivery_fee = 0
convenience_charge = 0
total_tax = 0
delivery_tax = 0
convenience_tax = 0
commercial_tax = 0
grand_total = 0
%>
<% unless @order_reservation_data.blank? %>
<% @order_reservation_data.each do |order_reservation| %>
<%
provider = ""
total_amount = order_reservation.total_amount
discount_amount = order_reservation.discount_amount
delivery_fee = order_reservation.delivery_fee
convenience_charge = order_reservation.convenience_charge
total_tax = order_reservation.total_tax
grand_total = order_reservation.grand_total
%>
<%
if order_reservation.provider == 'pick_up'
provider = "Pick-Up"
elsif order_reservation.provider == 'direct_delivery'
provider = "Direct Delivery"
else
provider = order_reservation.provider
end
# JSON.parse(order_reservation.taxes).each do |tax|
# delivery_tax = tax.delivery_tax
# convenience_tax = tax.convenience_tax
# commercial_tax = tax.commercial_tax
# end
%>
<tr>
<td><%= order_reservation.email %></td>
<td><%= order_reservation.order_reservation_type %></td>
<td><%= order_reservation.requested_time.utc.getlocal.strftime("%d %m %Y %I:%M %p") %></td>
<td><%= provider%></td>
<td><%= order_reservation.payment_type%></td>
<td><%= order_reservation.payment_status%></td>
<td><%= number_with_precision(total_amount , precision:precision.to_i,delimiter:delimiter)%></td>
<td><%= number_with_precision(discount_amount , precision:precision.to_i,delimiter:delimiter)%></td>
<td><%= number_with_precision(delivery_fee , precision:precision.to_i,delimiter:delimiter)%></td>
<td><%= number_with_precision(convenience_charge , precision:precision.to_i,delimiter:delimiter)%></td>
<td><%= number_with_precision(delivery_tax , precision:precision.to_i,delimiter:delimiter)%></td>
<td><%= number_with_precision(convenience_tax , precision:precision.to_i,delimiter:delimiter)%></td>
<td><%= number_with_precision(commercial_tax , precision:precision.to_i,delimiter:delimiter)%></td>
<td><%= number_with_precision(total_tax , precision:precision.to_i,delimiter:delimiter)%></td>
<td><%= number_with_precision(grand_total , precision:precision.to_i,delimiter:delimiter)%></td>
</tr>
<% end
end %>
</tbody> </tbody>
</table> </table>
</div> </div>

View File

@@ -436,7 +436,7 @@ en:
item: "Item" item: "Item"
revenue: "Revenue" revenue: "Revenue"
total_price_by: "Total Price By" total_price_by: "Total Price By"
sub_total: "Sub Total" sub_totalိိ: "Sub Total"
cash_received: "Cash Received" cash_received: "Cash Received"
card_sales: "Card Sales" card_sales: "Card Sales"
select_payments: "Select Payments" select_payments: "Select Payments"
@@ -472,6 +472,13 @@ en:
foreigner: "Foreigner" foreigner: "Foreigner"
local: "Local" local: "Local"
order_reservation_report: "Order Reservation" order_reservation_report: "Order Reservation"
requested_time: "Requested Time"
provider: "Provider"
delivery_fee: "Delivery Fee"
delivery_tax: "Delivery Tax"
convenience_charge: "Convenience Charge"
convenience_tax: "Convenience Tax"
commercial_tax: "Commercial Tax"
code_txt: "code " code_txt: "code "
charge_txt: "charge" charge_txt: "charge"

View File

@@ -466,6 +466,13 @@ mm:
foreigner: "နိုင်ငံခြားသား" foreigner: "နိုင်ငံခြားသား"
local: "နိုင်ငံသား" local: "နိုင်ငံသား"
order_reservation_report: "ၾကိဳတင္ order မွာယူျခင္း" order_reservation_report: "ၾကိဳတင္ order မွာယူျခင္း"
requested_time: "Requested Time"
provider: "Provider"
delivery_fee: "Delivery Fee"
delivery_tax: "Delivery Tax"
convenience_charge: "Convenience Charge"
convenience_tax: "Convenience Tax"
commercial_tax: "Commercial Tax"
code_txt: "ကုတ်ဒ် " code_txt: "ကုတ်ဒ် "
charge_txt: "ကောက်ခံသည်" charge_txt: "ကောက်ခံသည်"

View File

@@ -88,6 +88,7 @@ scope "(:locale)", locale: /en|mm/ do
namespace :order_reserve do namespace :order_reserve do
post "customer" => "order_reservation#check_customer" post "customer" => "order_reservation#check_customer"
post "order" => "order_reservation#create" post "order" => "order_reservation#create"
post "callback/:id" => "order_reservation#update_status"
end end
end end