oqs sample

This commit is contained in:
Yan
2017-05-31 22:14:46 +06:30
parent 1ed15e2e0d
commit 5a564abca9
10 changed files with 126 additions and 280 deletions

View File

@@ -9,8 +9,8 @@ end
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails' # Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '~> 5.1.0' gem 'rails', '~> 5.1.0'
# Use mysql as the database for Active Record # Use mysql as the database for Active Record
gem 'mysql2', '>= 0.3.18', '< 0.5' # gem 'mysql2', '>= 0.3.18', '< 0.5'
#gem 'pg' gem 'pg'
# redis server for cable # redis server for cable
gem 'redis', '~> 3.0' gem 'redis', '~> 3.0'

View File

@@ -96,7 +96,6 @@ GEM
mini_portile2 (2.1.0) mini_portile2 (2.1.0)
minitest (5.10.2) minitest (5.10.2)
multi_json (1.12.1) multi_json (1.12.1)
mysql2 (0.4.6)
nio4r (2.1.0) nio4r (2.1.0)
nokogiri (1.7.2) nokogiri (1.7.2)
mini_portile2 (~> 2.1.0) mini_portile2 (~> 2.1.0)
@@ -233,7 +232,6 @@ DEPENDENCIES
jbuilder (~> 2.5) jbuilder (~> 2.5)
jquery-rails jquery-rails
listen (~> 3.0.5) listen (~> 3.0.5)
mysql2 (>= 0.3.18, < 0.5)
pg pg
prawn prawn
prawn-table prawn-table

View File

@@ -15,3 +15,23 @@
//= require jquery_ujs //= require jquery_ujs
//= require turbolinks //= require turbolinks
//= require cable //= require cable
$(document).ready(function(){
$('.queue_station').on('click',function(){
var title=$(this).children().children('.card-title').text();
var titles=title.split(' ');
var orderBy=$(this).children().children().children().children('.order-by').text();
var orderAt=$(this).children().children().children().children('.order-at').text();
var orderCustomer=$(this).children().children('.order-customer').text();
$('#order-title').text($('#order-title').text() + titles[0]);
$('#order-by').text(orderBy);
$('#order-at').text(orderAt);
$('#order-customer').text(orderCustomer);
$('#order-from').text(titles[0]);
$('#order-items').text(titles[1]);
$('#order-qty').text(titles[2].substr(2).replace(']',''));
});
});

View File

@@ -2,12 +2,34 @@ class Oqs::HomeController < BaseOqsController
def index def index
@queue_stations=OrderQueueStation.all @queue_stations=OrderQueueStation.all
#sample Data
@queue_items_details = { :queue_id => 1, :order_id => 1, :station_name => 'Queue Station 1', :zone => 'Table4', :item_name => 'beef', :price => 10.00, :qty => 2, :customer => 'Wathon', :item_order_by => 'Yan', :created_at => '2007-05-17'}
# @queue_items_details = OrderItem.select("oqs as queue_id, oqs.station_name, oqs.is_active, oqpz.zone_id, odt.item_code, odt.item_name, odt.price, odt.qty, odt.item_order_by, odt.created_at")
# .joins("join order_queue_process_by_zones as oqpz ON oqpz.order_queue_station_id = order_queue_items.order_queue_station_id")
# .joins("right join order_queue_stations as oqs ON oqs.id = order_queue_items.order_queue_station_id")
# .joins("right join orders as od ON od.id = order_queue_items.order_id")
# .joins("right join order_items as odt ON odt.item_code = order_queue_items.item_code")
# .order("odt.item_name DESC")
# puts @queue_items_details
# @queue_stations.each do |que| # @queue_stations.each do |que|
# Contact.find(:all, :joins => ['left join sales s on s.customer_id = contacts.id'], :conditions => ["contact_type = 'Customer' AND name IS NOT NULL"],:group => ["contacts.id"]) # zone_id = OrderQueueProcessByZone.where('order_queue_station_id=#{que.id}').select(:zone_id).take
# AssignedOrderItem.find(:all, :conditions=>["order_queue_station_id=#{que.id}"], :group => ["order_queue_station_id"]) # type = DiningFacility.find_by_zone_id(zone_id).select(:type).take
# end
# @queue_items_details = { :queue_id, :zone_id, :item_code, :item_name, :item_options, :price, :qty, :order_by, :order_at }
# @queue_stations.each do |que|
# # Contact.find(:all, :joins => ['left join sales s on s.customer_id = contacts.id'], :conditions => ["contact_type = 'Customer' AND name IS NOT NULL"],:group => ["contacts.id"])
# assigned_items=AssignedOrderItem.find(:all, :conditions=>["order_queue_station_id = #{que.id}"], :group => ["order_queue_station_id"])
# assigned_items.each do |ass_items|
# order_item_details=OrderItems.joins('left join order').where("item_code = #{ ass_items.item_code } AND order_item_status = 1")
# end
# # AssignedOrderItem.where("order_queue_station_id = :que_id", {:que_id => que_id}).get # # AssignedOrderItem.where("order_queue_station_id = :que_id", {:que_id => que_id}).get
# end # end
end end
def show def show
end end
end end

View File

@@ -1,2 +1,15 @@
class OrderQueueItem < ApplicationRecord class OrderQueueItem < ApplicationRecord
belongs_to :order
belongs_to :order_queue_station
def self.add_order_item (order, item_code, order_queue_station )
order_queue_item = OrderQueueItem.new()
order_queue_item.order = order
order_queue_item.item_code = item_code
order_queue_item.order_queue_station = order_queue_station
order_queue_item.print_status = false
order_queue_item.delivery_status = false
order_queue_item.queue_status = true
order_queue_item.save
end
end end

View File

@@ -8,7 +8,7 @@ class OrderQueueStation < ApplicationRecord
scope :active, -> {where(is_active: true)} scope :active, -> {where(is_active: true)}
def process_order (order) def process_order (order)
oqs_stations = OrderQueueStation.active oqs_stations = OrderQueueStation.active
order_items = order.order_items order_items = order.order_items
@@ -20,10 +20,11 @@ class OrderQueueStation < ApplicationRecord
#Loop through the processing items #Loop through the processing items
pq_items.each do |pq_item| pq_items.each do |pq_item|
#Processing through the looping items #Processing through the looping items
order_items.each do |order_item| order_items.each do |order_item|
if (pq_item == order_item.item_code) if (pq_item == order_item.item_code)
#Same Order_items can appear in two location. #Same Order_items can appear in two location.
AssignedOrderItem.assigned_order_item(order, order_item.item_code, oqs) AssignedOrderItem.assigned_order_item(order, order_item.item_code, oqs)
OrderQueueItem.add_order_item(order, order_item.item_code, oqs)
end end
end end

2
app/models/test.rb Normal file
View File

@@ -0,0 +1,2 @@
class Test < ApplicationRecord
end

View File

@@ -6,31 +6,25 @@
<ul class="nav nav-tabs" role="tablist"> <ul class="nav nav-tabs" role="tablist">
<li class="nav-item"> <li class="nav-item">
<a class="nav-link" data-toggle="tab" href="#completed" role="tab">Processed <span class="badge badge-pill badge-default">2000</span></a> <a class="nav-link active" data-toggle="tab" href="#completed" role="tab">Processed <span class="badge badge-pill badge-default">2000</span></a>
</li> </li>
<%
<% status=""
@queue_staions.each do |que| @queue_stations.each do |que|
if que.is_active == false
status="disabled"
end
%> %>
<li class="nav-item"> <li class="nav-item">
<a class="nav-link active" data-toggle="tab" href="#tables" role="tab"><%= que.station_name %><span class="badge badge-pill badge-default">18</span></a> <a class="nav-link" data-toggle="tab" href=<%= '#' + que.station_name %> role="tab" <%= status %>><%= que.station_name %><span class="badge badge-pill badge-default">18</span></a>
</li> </li>
<% end %> <% end %>
<!-- <li class="nav-item">
<a class="nav-link" data-toggle="tab" href="#rooms" role="tab">Queue 2</a>
</li>
<li class="nav-item">
<a class="nav-link" data-toggle="tab" href="#orders" role="tab">Queue 3</a>
</li> -->
</ul> </ul>
<!-- Nav tabs - End --> <!-- Nav tabs - End -->
<div class="tab-content" style="min-height:670px; max-height:670px; overflow-y:scroll"> <div class="tab-content" style="min-height:670px; max-height:670px; overflow-y:scroll">
<!--- Panel 0 - Completed --> <!--- Panel 0 - Completed -->
<div class="tab-pane" id="completed" role="tabpanel" style="min-height:670px; max-height:670px; overflow-y:scroll"> <div class="tab-pane active" id="completed" role="tabpanel" style="min-height:670px; max-height:670px; overflow-y:scroll">
<div class="card-columns" style="padding-top:10px"> <div class="card-columns" style="padding-top:10px">
<div class="card"> <div class="card">
<div class="card-block order-completed"> <div class="card-block order-completed">
@@ -41,11 +35,9 @@
<small class="text-muted">Printed at 12:23</small> | <small class="text-muted">Printed at 12:23</small> |
<small class="text-muted">Completed at 12:43</small> <small class="text-muted">Completed at 12:43</small>
</p> </p>
</div> </div>
</div> </div>
<div class="card"> <!-- <div class="card">
<div class="card-block order-void"> <div class="card-block order-void">
<h4 class="card-title">9. Table 4 - Beef Steak [x3]</h4> <h4 class="card-title">9. Table 4 - Beef Steak [x3]</h4>
<p class="card-text">Well Done, Fries, Salad</p> <p class="card-text">Well Done, Fries, Salad</p>
@@ -58,257 +50,50 @@
<p class="card-text">Well Done, Fries, Salad</p> <p class="card-text">Well Done, Fries, Salad</p>
<p class="card-text"><small class="text-muted">Order at 12:23, Kyaw Lwin</small></p> <p class="card-text"><small class="text-muted">Order at 12:23, Kyaw Lwin</small></p>
</div> </div>
</div>
</div>
</div>
<!-- Panel 1 - Tables -->
<div class="tab-pane active" id="tables" role="tabpanel">
<!--- Booking Items -->
<div class="card-columns" style="padding-top:10px">
<div class="card">
<div class="card-block">
<h4 class="card-title">1. Table 4 - Beef Steak [x1]</h4>
<p class="card-text">Medium, Fries, Salad</p>
<p class="card-text"><small class="text-muted">Order at 12:23, Kyaw Lwin</small></p>
</div>
<div class="card-footer">
<button id="#id" class="btn btn-primary btn-lg btn-block">COMPLETE</button>
</div>
</div>
<!-- <div class="card">
<div class="card-block">
<h4 class="card-title">2. Table 4 - Beef Steak [x1]</h4>
<p class="card-text">Well Done, Fries, Salad</p>
<p class="card-text"><small class="text-muted">Order at 12:23, Kyaw Lwin</small></p>
</div>
<div class="card-footer">
<button id="#id" class="btn btn-primary btn-lg btn-block">COMPLETE</button>
</div>
</div>
<div class="card">
<div class="card-block">
<h4 class="card-title">3. Table 4 - Beef Steak [x3]</h4>
<p class="card-text">Well Done, Fries, Salad</p>
<p class="card-text"><small class="text-muted">Order at 12:23, Kyaw Lwin</small></p>
</div>
<div class="card-footer">
<button id="#id" class="btn btn-primary btn-lg btn-block">COMPLETE</button>
</div>
</div>
<div class="card">
<div class="card-block">
<h4 class="card-title">4. Table 4 - Beef Steak [x3]</h4>
<p class="card-text">Well Done, Fries, Salad</p>
<p class="card-text"><small class="text-muted">Order at 12:23, Kyaw Lwin</small></p>
</div>
<div class="card-footer">
<button id="#id" class="btn btn-primary btn-lg btn-block">COMPLETE</button>
</div>
</div>
<div class="card">
<div class="card-block">
<h4 class="card-title">5. Table 4 - Beef Steak [x3]</h4>
<p class="card-text">Well Done, Fries, Salad</p>
<p class="card-text"><small class="text-muted">Order at 12:23, Kyaw Lwin</small></p>
</div>
<div class="card-footer">
<button id="#id" class="btn btn-primary btn-lg btn-block">COMPLETE</button>
</div>
</div>
<div class="card">
<div class="card-block">
<h4 class="card-title">6. Table 4 - Beef Steak [x3]</h4>
<p class="card-text">Well Done, Fries, Salad</p>
<p class="card-text"><small class="text-muted">Order at 12:23, Kyaw Lwin</small></p>
</div>
<div class="card-footer">
<button id="#id" class="btn btn-primary btn-lg btn-block">COMPLETE</button>
</div>
</div>
<div class="card">
<div class="card-block">
<h4 class="card-title">7. Table 4 - Beef Steak [x3]</h4>
<p class="card-text">Well Done, Fries, Salad</p>
<p class="card-text"><small class="text-muted">Order at 12:23, Kyaw Lwin</small></p>
</div>
<div class="card-footer">
<button id="#id" class="btn btn-primary btn-lg btn-block">COMPLETE</button>
</div>
</div>
<div class="card">
<div class="card-block">
<h4 class="card-title">8. Table 4 - Beef Steak [x3]</h4>
<p class="card-text">Well Done, Fries, Salad</p>
<p class="card-text"><small class="text-muted">Order at 12:23, Kyaw Lwin</small></p>
</div>
<div class="card-footer">
<button id="#id" class="btn btn-primary btn-lg btn-block">COMPLETE</button>
</div>
</div>
<div class="card">
<div class="card-block">
<h4 class="card-title">9. Table 4 - Beef Steak [x3]</h4>
<p class="card-text">Well Done, Fries, Salad</p>
<p class="card-text"><small class="text-muted">Order at 12:23, Kyaw Lwin</small></p>
</div>
</div>
<div class="card">
<div class="card-block">
<h4 class="card-title">10. Table 4 - Beef Steak [x3]</h4>
<p class="card-text">Well Done, Fries, Salad</p>
<p class="card-text"><small class="text-muted">Order at 12:23, Kyaw Lwin</small></p>
</div>
</div>
<div class="card">
<div class="card-block">
<h4 class="card-title">11. Table 4 - Beef Steak [x3]</h4>
<p class="card-text">Well Done, Fries, Salad</p>
<p class="card-text"><small class="text-muted">Order at 12:23, Kyaw Lwin</small></p>
</div>
</div>
<div class="card">
<div class="card-block">
<h4 class="card-title">12. Table 4 - Beef Steak [x3]</h4>
<p class="card-text">Well Done, Fries, Salad</p>
<p class="card-text"><small class="text-muted">Order at 12:23, Kyaw Lwin</small></p>
</div>
</div>
<div class="card">
<div class="card-block">
<h4 class="card-title">13. Table 4 - Beef Steak [x3]</h4>
<p class="card-text">Well Done, Fries, Salad</p>
<p class="card-text"><small class="text-muted">Order at 12:23, Kyaw Lwin</small></p>
</div>
</div>
<div class="card">
<div class="card-block">
<h4 class="card-title">14. Table 4 - Beef Steak [x3]</h4>
<p class="card-text">Well Done, Fries, Salad</p>
<p class="card-text"><small class="text-muted">Order at 12:23, Kyaw Lwin</small></p>
</div>
</div>
<div class="card">
<div class="card-block">
<h4 class="card-title">15. Table 4 - Beef Steak [x3]</h4>
<p class="card-text">Well Done, Fries, Salad</p>
<p class="card-text"><small class="text-muted">Order at 12:23, Kyaw Lwin</small></p>
</div>
</div>
<div class="card">
<div class="card-block">
<h4 class="card-title">16. Table 4 - Beef Steak [x3]</h4>
<p class="card-text">Well Done, Fries, Salad</p>
<p class="card-text"><small class="text-muted">Order at 12:23, Kyaw Lwin</small></p>
</div>
</div>
<div class="card">
<div class="card-block">
<h4 class="card-title">17. Table 4 - Beef Steak [x3]</h4>
<p class="card-text">Well Done, Fries, Salad</p>
<p class="card-text"><small class="text-muted">Order at 12:23, Kyaw Lwin</small></p>
</div>
</div>
<div class="card">
<div class="card-block">
<h4 class="card-title">18. Table 4 - Beef Steak [x3]</h4>
<p class="card-text">Well Done, Fries, Salad</p>
<p class="card-text"><small class="text-muted">Order at 12:23, Kyaw Lwin</small></p>
</div>
</div>
<div class="card">
<div class="card-block">
<h4 class="card-title">19. Table 4 - Beef Steak [x3]</h4>
<p class="card-text">Well Done, Fries, Salad</p>
<p class="card-text"><small class="text-muted">Order at 12:23, Kyaw Lwin</small></p>
</div>
</div> --> </div> -->
<!--- end of Items-->
</div>
</div>
<!-- Panel 1 - Tables - End -->
<!-- Panel 2 - Rooms -->
<div class="tab-pane" id="rooms" role="tabpanel" style="min-height:670px; max-height:670px; overflow-y:scroll">
<!--- Booking Items -->
<div class="card-columns" style="padding-top:10px">
<div class="card">
<div class="card-block">
<h4 class="card-title">Card title that wraps to a new line</h4>
<p class="card-text">This is a longer card with supporting text below as a natural lead-in to additional content. This content is a little bit longer.</p>
</div>
</div>
<div class="card p-3">
<blockquote class="card-block card-blockquote">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.</p>
<footer>
<small class="text-muted">
Someone famous in <cite title="Source Title">Source Title</cite>
</small>
</footer>
</blockquote>
</div>
<div class="card">
<div class="card-block">
<h4 class="card-title">Card title</h4>
<p class="card-text">This card has supporting text below as a natural lead-in to additional content.</p>
<p class="card-text"><small class="text-muted">Last updated 3 mins ago</small></p>
</div>
</div>
<div class="card card-inverse card-primary p-3 text-center">
<blockquote class="card-blockquote">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat.</p>
<footer>
<small>
Someone famous in <cite title="Source Title">Source Title</cite>
</small>
</footer>
</blockquote>
</div>
<div class="card text-center">
<div class="card-block">
<h4 class="card-title">Card title</h4>
<p class="card-text">This card has supporting text below as a natural lead-in to additional content.</p>
<p class="card-text"><small class="text-muted">Last updated 3 mins ago</small></p>
</div>
</div>
</div> </div>
</div> </div>
<!-- Panel 2 - Rooms - End -->
<!-- Panel 3 - Orders -->
<div class="tab-pane" id="orders" role="tabpanel" style="min-height:670px; max-height:670px; overflow-y:scroll">
<!--- Booking Items --> <%
<div class="card-columns" style="padding-top:10px"> @queue_stations.each do |que|
<div class="card"> %>
<div class="card-block"> <!-- Generated Pane -->
<h4 class="card-title">Card title that wraps to a new line</h4> <div class="tab-pane" id=<%= que.station_name %> role="tabpanel">
<p class="card-text">This is a longer card with supporting text below as a natural lead-in to additional content. This content is a little bit longer.</p> <!--- Order Items -->
<p class="card-text"><small class="text-muted">Last updated 3 mins ago</small></p> <div class="card-columns" style="padding-top:10px">
<%
if @queue_items_details[:station_name] == que.station_name
%>
<div class="card queue_station">
<div class="card-block">
<h4 class="card-title"><%= @queue_items_details[:zone] + ' ' + @queue_items_details[:item_name] + ' [x' + @queue_items_details[:qty].to_s + ']' %></h4>
<p class="card-text">Medium, Fries, Salad</p>
<p class="card-text">
<small class="text-muted">Order at
<span class="order-at">
<%= @queue_items_details[:created_at] %>
</span> -
<span class="order-by">
<%= @queue_items_details[:item_order_by] %>
</span>
</small>
</p>
<p class="hidden order-customer"><%= @queue_items_details[:customer] %></p>
</div>
<div class="card-footer">
<button id="#id" class="btn btn-primary btn-lg btn-block">COMPLETE</button>
</div>
</div>
<%
end
%>
<!--- end of Items-->
</div> </div>
</div> </div>
<div class="card"> <!-- end of Pane -->
<div class="card-block"> <% end %>
<h4 class="card-title">Card title</h4>
<p class="card-text">This card has supporting text below as a natural lead-in to additional content.</p>
<p class="card-text"><small class="text-muted">Last updated 3 mins ago</small></p>
</div>
</div>
<div class="card text-center">
<div class="card-block">
<h4 class="card-title">Card title</h4>
<p class="card-text">This card has supporting text below as a natural lead-in to additional content.</p>
<p class="card-text"><small class="text-muted">Last updated 3 mins ago</small></p>
</div>
</div>
</div>
</div>
<!-- Panel 3 - Orders - End -->
</div> </div>
@@ -318,7 +103,7 @@
<div class="col-lg-3 col-md-3 col-sm-3"> <div class="col-lg-3 col-md-3 col-sm-3">
<div class="card" > <div class="card" >
<div class="card-header"> <div class="card-header">
<div id="order-title"><strong>ORDER DETAILS</strong> - Table 4</div> <div id="order-title"><strong>ORDER DETAILS</strong> - </div>
</div> </div>
<div class="card-block"> <div class="card-block">
<div class="card-title"> <div class="card-title">
@@ -332,13 +117,13 @@
</thead> </thead>
<tbody> <tbody>
<tr> <tr>
<td style="width:33%; text-align:left">Kyaw Lwin</td> <td id="order-by" style="width:33%; text-align:left">Kyaw Lwin</td>
<td style="width:33%; text-align:right">20/04/17 9:30PM</td> <td id="order-at" style="width:33%; text-align:right">20/04/17 9:30PM</td>
<td style="width:33%; text-align:right">John Smith</td> <td id="order-customer" style="width:33%; text-align:right">John Smith</td>
</tr> </tr>
<tr> <tr>
<td><strong>Table/Room</strong></td> <td><strong>Table/Room</strong></td>
<td colspan="2">Table 4</td> <td id="order-from" colspan="2"></td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
@@ -355,12 +140,12 @@
<table class="table"> <table class="table">
<tbody> <tbody>
<tr> <tr>
<td style="width:80%; text-align:left"> <td id="order-items" style="width:80%; text-align:left">
Menu Items Name <br/> <!-- Menu Items Name <br/>
Less Sweet, No MSG Less Sweet, No MSG -->
</td> </td>
<td style="width:20%; text-align:right"> <td id="order-qty" style="width:20%; text-align:right">
5 <!-- 5 -->
</td> </td>
</tr> </tr>

5
spec/models/test_spec.rb Normal file
View File

@@ -0,0 +1,5 @@
require 'rails_helper'
RSpec.describe Test, type: :model do
pending "add some examples to (or delete) #{__FILE__}"
end