From 4faee913f35c78fd879c6b4ef0b62cb08875f068 Mon Sep 17 00:00:00 2001 From: phyusin Date: Wed, 9 May 2018 11:28:01 +0630 Subject: [PATCH] change order reservation -not finished --- .../javascripts/channels/check_new_order.js | 19 +++- .../channels/check_order_ready_to_delivery.js | 19 +++- .../channels/check_order_send_to_kitchen.js | 19 +++- app/assets/javascripts/order_reservation.js | 27 ++++-- .../order_reservation_controller.rb | 8 ++ .../origami/order_reservation_controller.rb | 1 + .../reports/order_reservation_controller.rb | 4 +- app/models/order_reservation.rb | 18 +++- .../origami/order_reservation/index.html.erb | 25 +++--- .../reports/order_reservation/index.html.erb | 89 +++++++++++++++++-- config/locales/en.yml | 9 +- config/locales/mm.yml | 7 ++ config/routes.rb | 1 + 13 files changed, 211 insertions(+), 35 deletions(-) diff --git a/app/assets/javascripts/channels/check_new_order.js b/app/assets/javascripts/channels/check_new_order.js index d0061443..403874e9 100644 --- a/app/assets/javascripts/channels/check_new_order.js +++ b/app/assets/javascripts/channels/check_new_order.js @@ -18,8 +18,23 @@ App.check_new_order = App.cable.subscriptions.create('CheckNewOrderChannel', { }); // alert(order_lists); - $("#notify_new_order_lists").text(order_lists); - $("#notify_new_order").modal({show: true, keyboard: false, backdrop: false}); + swal({ + title: 'Information', + target: document.getElementById("notify_new_order"), + text: "You have new orders
"+ + "Are you accept or reject for these orders "+order_lists+"?", + 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}); } } }); diff --git a/app/assets/javascripts/channels/check_order_ready_to_delivery.js b/app/assets/javascripts/channels/check_order_ready_to_delivery.js index d2bebadb..4627dede 100644 --- a/app/assets/javascripts/channels/check_order_ready_to_delivery.js +++ b/app/assets/javascripts/channels/check_order_ready_to_delivery.js @@ -18,8 +18,23 @@ App.check_order_ready_to_delivery = App.cable.subscriptions.create('CheckOrderRe }); // alert(order_lists); - $("#notify_order_ready_to_delivery_lists").text(order_lists); - $("#notify_order_ready_to_delivery").modal({show: true, keyboard: false, backdrop: false}); + swal({ + title: 'Information', + target: document.getElementById("notify_order_ready_to_delivery"), + text: "You have orders that are ready to deliver
"+ + "Could you ready these orders "+order_lists+" 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}); } } }); diff --git a/app/assets/javascripts/channels/check_order_send_to_kitchen.js b/app/assets/javascripts/channels/check_order_send_to_kitchen.js index 9b83b3c6..31c6b75c 100644 --- a/app/assets/javascripts/channels/check_order_send_to_kitchen.js +++ b/app/assets/javascripts/channels/check_order_send_to_kitchen.js @@ -18,8 +18,23 @@ App.check_order_send_to_kitchen = App.cable.subscriptions.create('CheckOrderSend }); // alert(order_lists); - $("#notify_order_send_to_kitchen_lists").text(order_lists); - $("#notify_order_send_to_kitchen").modal({show: true, keyboard: false, backdrop: false}); + swal({ + title: 'Information', + target: document.getElementById("notify_order_send_to_kitchen"), + text: "You have to send order to kitchen
"+ + "Could you send these orders "+order_lists+" 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}); } } }); diff --git a/app/assets/javascripts/order_reservation.js b/app/assets/javascripts/order_reservation.js index 5ff2d0ad..2764d2a5 100644 --- a/app/assets/javascripts/order_reservation.js +++ b/app/assets/javascripts/order_reservation.js @@ -55,7 +55,7 @@ $(function() { $("#cancel").on("click", function(){ var order_status = $("#order_status").text(); $("#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}); }else{ $("#rejected_reasonModal").modal({show: true, backdrop: false, keyboard: false}); @@ -63,13 +63,24 @@ $(function() { }); $(".send_status").on("click",function(){ - var status = $("#status").text(); - var order_id = $('#order_id').text(); - var callback = $('#callback_url').text(); - var ref_no = $('#ref_no').text(); - var reason = $('#reject_reason').val(); - var approved_code = $("#approved_code").text(); - callback_url(callback,ref_no,order_id,status,"","","",reason,approved_code); + $("#reject_reasonErr").html(""); + if($('#reject_reason').val() != ""){ + var order_status = $("#order_status").text(); + var status = $("#status").text(); + var order_id = $('#order_id').text(); + var callback = $('#callback_url').text(); + 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(){ diff --git a/app/controllers/api/order_reserve/order_reservation_controller.rb b/app/controllers/api/order_reserve/order_reservation_controller.rb index 84ee8676..59e99967 100644 --- a/app/controllers/api/order_reserve/order_reservation_controller.rb +++ b/app/controllers/api/order_reserve/order_reservation_controller.rb @@ -75,4 +75,12 @@ class Api::OrderReserve::OrderReservationController < Api::ApiController end end end + + def update_status + order_reservation_id = params[:id] + status = params[:status] + remark = params[:remark] + + + end end diff --git a/app/controllers/origami/order_reservation_controller.rb b/app/controllers/origami/order_reservation_controller.rb index 42140f90..bf32f43b 100644 --- a/app/controllers/origami/order_reservation_controller.rb +++ b/app/controllers/origami/order_reservation_controller.rb @@ -3,6 +3,7 @@ class Origami::OrderReservationController < BaseOrigamiController def index @order = OrderReservation.latest_order #.active @count_on_order = OrderReservation.get_count_on_order + @count_on_completed = OrderReservation.get_count_on_completed end def update diff --git a/app/controllers/reports/order_reservation_controller.rb b/app/controllers/reports/order_reservation_controller.rb index 22c408fe..b101c37e 100644 --- a/app/controllers/reports/order_reservation_controller.rb +++ b/app/controllers/reports/order_reservation_controller.rb @@ -1,7 +1,7 @@ class Reports::OrderReservationController < BaseReportController # authorize_resource :class => false 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 @@ -19,7 +19,7 @@ class Reports::OrderReservationController < BaseReportController end 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 @to = to # get printer info diff --git a/app/models/order_reservation.rb b/app/models/order_reservation.rb index e1f7c209..35b2e2ee 100644 --- a/app/models/order_reservation.rb +++ b/app/models/order_reservation.rb @@ -199,6 +199,11 @@ class OrderReservation < ApplicationRecord 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" @@ -245,7 +250,14 @@ class OrderReservation < ApplicationRecord end 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 def self.get_pending_orders @@ -294,7 +306,9 @@ class OrderReservation < ApplicationRecord 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") 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) diff --git a/app/views/origami/order_reservation/index.html.erb b/app/views/origami/order_reservation/index.html.erb index 5322206e..b6648bab 100644 --- a/app/views/origami/order_reservation/index.html.erb +++ b/app/views/origami/order_reservation/index.html.erb @@ -19,11 +19,14 @@ delivered_count = count_order.count elsif count_order.status == "ready_to_delivery" completed_count = count_order.count - elsif count_order.status == "delivered" - processed_count = count_order.count end end - end %> + end + + if !@count_on_completed.nil? + processed_count = @count_on_completed.count + end + %>
@@ -237,7 +240,7 @@ <% i=1 @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")) %> <%=i%> @@ -443,6 +446,10 @@
+ +
+
+
@@ -508,6 +515,7 @@ - --> diff --git a/app/views/reports/order_reservation/index.html.erb b/app/views/reports/order_reservation/index.html.erb index 459a9e58..d10a234c 100755 --- a/app/views/reports/order_reservation/index.html.erb +++ b/app/views/reports/order_reservation/index.html.erb @@ -28,25 +28,104 @@
- - + <% if @shift_from %> <% if @shift_data.employee %> <% cashier_name = !@shift_data.nil? ? @shift_data.employee.name : '-' %> <% end %> - + <% end %> - + + + + + + + + + + + + + + + - + <% 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 + %> + + + + + + + + + + + + + + + + + + <% end + end %>
<%= 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 '-'%> <%= 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 '-'%>
<%= t("views.right_panel.detail.shift_name") %> = <%= @shift_from %> - <%= @shift_to %> ( <%= cashier_name %> )<%= t("views.right_panel.detail.shift_name") %> = <%= @shift_from %> - <%= @shift_to %> ( <%= cashier_name %> )
<%= t :customer %><%= t("views.right_panel.detail.type") %><%= t("views.right_panel.detail.requested_time") %><%= t("views.right_panel.detail.provider") %><%= t :payment_method %><%= t :payment %> <%= t("views.right_panel.detail.status")%><%= t("views.right_panel.detail.sub_total") %><%= t("views.right_panel.detail.discount_amount") %><%= t("views.right_panel.detail.delivery_fee") %><%= t("views.right_panel.detail.convenience_charge") %><%= t("views.right_panel.detail.delivery_tax") %><%= t("views.right_panel.detail.convenience_tax") %><%= t("views.right_panel.detail.commercial_tax") %><%= t("views.right_panel.detail.total") %> <%= t("views.right_panel.detail.tax") %><%= t("views.right_panel.detail.grand_total") %>
<%= order_reservation.email %><%= order_reservation.order_reservation_type %><%= order_reservation.requested_time.utc.getlocal.strftime("%d %m %Y %I:%M %p") %><%= provider%><%= order_reservation.payment_type%><%= order_reservation.payment_status%><%= number_with_precision(total_amount , precision:precision.to_i,delimiter:delimiter)%><%= number_with_precision(discount_amount , precision:precision.to_i,delimiter:delimiter)%><%= number_with_precision(delivery_fee , precision:precision.to_i,delimiter:delimiter)%><%= number_with_precision(convenience_charge , precision:precision.to_i,delimiter:delimiter)%><%= number_with_precision(delivery_tax , precision:precision.to_i,delimiter:delimiter)%><%= number_with_precision(convenience_tax , precision:precision.to_i,delimiter:delimiter)%><%= number_with_precision(commercial_tax , precision:precision.to_i,delimiter:delimiter)%><%= number_with_precision(total_tax , precision:precision.to_i,delimiter:delimiter)%><%= number_with_precision(grand_total , precision:precision.to_i,delimiter:delimiter)%>
diff --git a/config/locales/en.yml b/config/locales/en.yml index 63e45b92..8c19c4ee 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -436,7 +436,7 @@ en: item: "Item" revenue: "Revenue" total_price_by: "Total Price By" - sub_total: "Sub Total" + sub_totalိိ: "Sub Total" cash_received: "Cash Received" card_sales: "Card Sales" select_payments: "Select Payments" @@ -472,6 +472,13 @@ en: foreigner: "Foreigner" local: "Local" 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 " charge_txt: "charge" diff --git a/config/locales/mm.yml b/config/locales/mm.yml index f6f353e2..e6bdc2cf 100644 --- a/config/locales/mm.yml +++ b/config/locales/mm.yml @@ -466,6 +466,13 @@ mm: foreigner: "နိုင်ငံခြားသား" local: "နိုင်ငံသား" 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: "ကုတ်ဒ် " charge_txt: "ကောက်ခံသည်" diff --git a/config/routes.rb b/config/routes.rb index 8ccdcb5c..6b888e1d 100755 --- a/config/routes.rb +++ b/config/routes.rb @@ -88,6 +88,7 @@ scope "(:locale)", locale: /en|mm/ do namespace :order_reserve do post "customer" => "order_reservation#check_customer" post "order" => "order_reservation#create" + post "callback/:id" => "order_reservation#update_status" end end