Merge branch 'master' of bitbucket.org:code2lab/sxrestaurant

This commit is contained in:
Yan
2017-06-12 14:15:16 +06:30
7 changed files with 66 additions and 55 deletions

View File

@@ -21,8 +21,9 @@
} }
.cashier_number{ .cashier_number{
height:60px; width: 33%;
line-height:60px; height:70px;
line-height:70px;
text-align:center; text-align:center;
background:#54A5AF; background:#54A5AF;
// float:left; // float:left;
@@ -34,8 +35,8 @@
.pay{ .pay{
width: 98%; width: 98%;
height:210px; height:211px;
line-height:210px; line-height:211px;
text-align:center; text-align:center;
font-size:20px; font-size:20px;
color:white; color:white;
@@ -46,7 +47,7 @@
} }
.long{ .long{
width:100%; width:49%;
} }
.sold { .sold {
@@ -121,4 +122,4 @@ select.form-control {
tr.discount-item-row:hover { tr.discount-item-row:hover {
background-color: #e3e3e3 !important; background-color: #e3e3e3 !important;
} }

View File

@@ -38,9 +38,8 @@ class Api::OrdersController < Api::ApiController
#Create Table Booking or Room Booking #Create Table Booking or Room Booking
if !params["booking_id"].nil? && params[:booking_id].to_i > 0 if !params["booking_id"].nil?
#@order.new_booking = false @order.new_booking = false
@order.new_booking = true
@order.booking_id = params[:booking_id] @order.booking_id = params[:booking_id]
end end

View File

@@ -9,10 +9,11 @@ class DiningFacility < ApplicationRecord
scope :active, -> {where(is_active: true)} scope :active, -> {where(is_active: true)}
def get_current_booking def get_current_booking
booking = Booking.where("dining_facility_id = #{self.id} and booking_status ='occupied' and checkin_at between '#{DateTime.now.utc - 5.hours}' and '#{DateTime.now.utc}' and checkout_at is null").limit(1) puts "enter booking"
booking = Booking.where("dining_facility_id = #{self.id} and booking_status ='assign' and checkin_at between '#{DateTime.now.utc - 5.hours}' and '#{DateTime.now.utc}' and checkout_at is null").limit(1)
if booking.count > 0 then if booking.count > 0 then
return booking[0] return booking[0].booking_id
else else
return nil return nil
end end

View File

@@ -25,14 +25,18 @@ class Order < ApplicationRecord
booking = nil booking = nil
if self.new_booking if self.new_booking
puts "a"
booking = Booking.create({:dining_facility_id => self.table_id,:type => "TableBooking", booking = Booking.create({:dining_facility_id => self.table_id,:type => "TableBooking",
:checkin_at => Time.now.utc, :checkin_by => self.employee_name, :checkin_at => Time.now.utc, :checkin_by => self.employee_name,
:booking_status => "assign" }) :booking_status => "assign" })
table = DiningFacility.find(self.table_id)
table.status = "occupied"
table.save
else else
if (self.booking_id.to_i > 0 ) puts "b"
booking = Booking.find(self.booking_id)
end
booking = Booking.find(self.booking_id)
end end
booking.save! booking.save!
@@ -226,7 +230,7 @@ class Order < ApplicationRecord
bookings.booking_id,sales.sale_id as sale_id,dining_facilities.name as table_name") bookings.booking_id,sales.sale_id as sale_id,dining_facilities.name as table_name")
.joins("left join booking_orders on booking_orders.booking_id = bookings.booking_id") .joins("left join booking_orders on booking_orders.booking_id = bookings.booking_id")
.joins("left join dining_facilities on dining_facilities.id = bookings.dining_facility_id") .joins("left join dining_facilities on dining_facilities.id = bookings.dining_facility_id")
.joins("left join orders on orders.order_id = booking_orders.order_id") .joins("left join orders on orders.order_id = booking_orders.order_id")
.joins("left join sales on sales.sale_id = bookings.sale_id") .joins("left join sales on sales.sale_id = bookings.sale_id")
.where("booking_orders.order_id IS NOT NULL and dining_facilities.type=? and dining_facilities.is_active=?",DiningFacility::TABLE_TYPE,true) .where("booking_orders.order_id IS NOT NULL and dining_facilities.type=? and dining_facilities.is_active=?",DiningFacility::TABLE_TYPE,true)
.group("bookings.booking_id,sales.receipt_no,orders.status,sales.sale_id,dining_facilities.name,orders.status") .group("bookings.booking_id,sales.receipt_no,orders.status,sales.sale_id,dining_facilities.name,orders.status")
@@ -239,11 +243,12 @@ class Order < ApplicationRecord
bookings.booking_id,sales.sale_id as sale_id,dining_facilities.name as table_name") bookings.booking_id,sales.sale_id as sale_id,dining_facilities.name as table_name")
.joins("left join booking_orders on booking_orders.booking_id = bookings.booking_id") .joins("left join booking_orders on booking_orders.booking_id = bookings.booking_id")
.joins("left join dining_facilities on dining_facilities.id = bookings.dining_facility_id") .joins("left join dining_facilities on dining_facilities.id = bookings.dining_facility_id")
.joins("left join orders on orders.order_id = booking_orders.order_id") .joins("left join orders on orders.order_id = booking_orders.order_id")
.joins("left join sales on sales.sale_id = bookings.sale_id") .joins("left join sales on sales.sale_id = bookings.sale_id")
.where("sales.sale_status='completed'") .where("sales.sale_status='completed'")
.group("bookings.booking_id,sales.receipt_no,orders.status,sales.sale_id,dining_facilities.name,orders.status") .group("bookings.booking_id,sales.receipt_no,orders.status,sales.sale_id,dining_facilities.name,orders.status")
end end
#Origami: Cashier : to view booking order Table #Origami: Cashier : to view booking order Table
@@ -252,7 +257,7 @@ class Order < ApplicationRecord
bookings.booking_id,sales.sale_id as sale_id,dining_facilities.name as table_name") bookings.booking_id,sales.sale_id as sale_id,dining_facilities.name as table_name")
.joins("left join booking_orders on booking_orders.booking_id = bookings.booking_id") .joins("left join booking_orders on booking_orders.booking_id = bookings.booking_id")
.joins("left join dining_facilities on dining_facilities.id = bookings.dining_facility_id") .joins("left join dining_facilities on dining_facilities.id = bookings.dining_facility_id")
.joins("left join orders on orders.order_id = booking_orders.order_id") .joins("left join orders on orders.order_id = booking_orders.order_id")
.joins("left join sales on sales.sale_id = bookings.sale_id") .joins("left join sales on sales.sale_id = bookings.sale_id")
.where("booking_orders.order_id IS NOT NULL and dining_facilities.type=? and dining_facilities.is_active=?",DiningFacility::TABLE_TYPE,true) .where("booking_orders.order_id IS NOT NULL and dining_facilities.type=? and dining_facilities.is_active=?",DiningFacility::TABLE_TYPE,true)
.group("bookings.booking_id,sales.receipt_no,orders.status,sales.sale_id,dining_facilities.name,orders.status") .group("bookings.booking_id,sales.receipt_no,orders.status,sales.sale_id,dining_facilities.name,orders.status")
@@ -268,8 +273,9 @@ class Order < ApplicationRecord
.joins("left join orders on orders.order_id = booking_orders.order_id") .joins("left join orders on orders.order_id = booking_orders.order_id")
.joins("left join sale_orders on sale_orders.order_id = orders.order_id") .joins("left join sale_orders on sale_orders.order_id = orders.order_id")
.joins("left join sales on sales.sale_id = sale_orders.sale_id") .joins("left join sales on sales.sale_id = sale_orders.sale_id")
.where("booking_orders.order_id IS NOT NULL and dining_facilities.type=? and dining_facilities.is_active=?",DiningFacility::ROOM_TYPE,true) .where("sales.sale_status<>'complete' and booking_orders.order_id IS NOT NULL and dining_facilities.type=? and dining_facilities.is_active=?",DiningFacility::ROOM_TYPE,true)
.group("bookings.booking_id,sales.receipt_no,orders.status,sales.sale_id,dining_facilities.name") .group("bookings.booking_id,sales.receipt_no,orders.status,sales.sale_id,dining_facilities.name,orders.customer_id")
end end
#Origami: Cashier : to view order type Room #Origami: Cashier : to view order type Room
@@ -298,7 +304,7 @@ class Order < ApplicationRecord
left join sale_orders on sale_orders.order_id = orders.order_id left join sale_orders on sale_orders.order_id = orders.order_id
left join sales on sales.sale_id = sale_orders.sale_id") left join sales on sales.sale_id = sale_orders.sale_id")
.where("sales.sale_status<>'complete' and dining_facilities.is_active=? and orders.date between ? and ?",true,from,to) .where("sales.sale_status<>'complete' and dining_facilities.is_active=? and orders.date between ? and ?",true,from,to)
.group("orders.order_id,order_items.order_items_id,dining_facilities.name,sales.receipt_no,bookings.booking_id,sales.sale_id") .group("orders.order_id,order_items.order_items_id,dining_facilities.name,sales.receipt_no,bookings.booking_id,sales.sale_id,orders.customer_id")
end end

View File

@@ -211,18 +211,18 @@ class SalePayment < ApplicationRecord
sObj.sale_payments.each do |spay| sObj.sale_payments.each do |spay|
all_received_amount += spay.payment_amount.to_f all_received_amount += spay.payment_amount.to_f
end end
if (self.sale.grand_total <= all_received_amount) if (self.sale.grand_total <= all_received_amount)
self.sale.payment_status = "paid" self.sale.payment_status = "paid"
self.sale.sale_status = "completed" self.sale.sale_status = "completed"
self.sale.save! self.sale.save!
#TODO: table status
rebat() rebat()
end end
end end
def rebat def rebat
end end
private private

View File

@@ -4,7 +4,7 @@
<!-- Order Details --> <!-- Order Details -->
<div class="card" > <div class="card" >
<!-- <div class="card-header"> <!-- <div class="card-header">
<div><strong id="order-title">ORDER DETAILS</strong></div> <div><strong id="order-title">ORDER DETAILS</strong></div>
</div> --> </div> -->
<div class="card-block"> <div class="card-block">
@@ -13,10 +13,10 @@
<p id="sale-id" class="hidden"><%=@sale_data.sale_id %></p> <p id="sale-id" class="hidden"><%=@sale_data.sale_id %></p>
<p>Receipt No: <span id="receipt_no"><%=@sale_data.receipt_no rescue ' '%></span></p> <p>Receipt No: <span id="receipt_no"><%=@sale_data.receipt_no rescue ' '%></span></p>
<!-- <p>Cashier: <span id="cashier"><%=@sale_data.cashier_name rescue ' '%></span></p> --> <!-- <p>Cashier: <span id="cashier"><%=@sale_data.cashier_name rescue ' '%></span></p> -->
</div> </div>
<div class="col-lg-6 col-md-6 col-sm-6 text-right"> <div class="col-lg-6 col-md-6 col-sm-6 text-right">
<p>Date: <span id="receipt_date"> <%=@sale_data.receipt_date.strftime("%d/%m/%Y - %I:%M %p") rescue '-'%></span></p> <p>Date: <span id="receipt_date"> <%=@sale_data.receipt_date.strftime("%d/%m/%Y - %I:%M %p") rescue '-'%></span></p>
</div> </div>
</div> </div>
<div class="card-text"> <div class="card-text">
<table class="table table-default" id="order-items-table"> <table class="table table-default" id="order-items-table">
@@ -75,7 +75,7 @@
</table> </table>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<!-- Column One --> <!-- Column One -->
@@ -88,7 +88,7 @@
</div> </div>
<div class="card-block"> <div class="card-block">
<div class="card-title"> <div class="card-title">
<div class="form-horizontal"> <div class="form-horizontal">
<div class="form-group"> <div class="form-group">
<div class="col-md-3"> <div class="col-md-3">
<select name="discount_type" id="discount-type" class="form-control"> <select name="discount_type" id="discount-type" class="form-control">
@@ -97,27 +97,27 @@
</select> </select>
</div> </div>
<div class="col-md-9"> <div class="col-md-9">
<input type="text" id="discount-amount" name="discount-amount" value="<%= @sale_data.total_discount rescue 0 %>" class="form-control" /> <input type="text" id="discount-amount" name="discount-amount" value="<%= @sale_data.total_discount rescue 0 %>" class="form-control" />
</div> </div>
</div> </div>
<button id="pay-discount" class="btn btn-primary long">Discount</button> <button id="pay-discount" class="btn btn-primary long">Discount</button>
</div> </div>
</div> </div>
<hr /> <hr />
<div class="col-md-12"> <div class="col-md-12">
<div class="row"> <div class="row">
<div class="col-md-5"> <div class="col-md-5">
<div class="col-md-12 cashier_number long" data-value="5" data-type="add">5%</div> <div class="col-md-12 cashier_number long" data-value="5" data-type="add">5%</div>
</div> </div>
<div class="col-md-7"> <div class="col-md-7">
<div class="row"> <div class="row bottom">
<div class="col-md-3 cashier_number" data-value="1" data-type="num">1</div> <div class="col-md-3 cashier_number" data-value="1" data-type="num">1</div>
<div class="col-md-3 cashier_number" data-value="2" data-type="num">2</div> <div class="col-md-3 left cashier_number" data-value="2" data-type="num">2</div>
<div class="col-md-3 cashier_number" data-value="3" data-type="num">3</div> <div class="col-md-3 left cashier_number" data-value="3" data-type="num">3</div>
</div> </div>
</div> </div>
</div> </div>
<div class="row"> <div class="row">
@@ -125,12 +125,12 @@
<div class="col-md-12 cashier_number long" data-value="10" data-type="add">10%</div> <div class="col-md-12 cashier_number long" data-value="10" data-type="add">10%</div>
</div> </div>
<div class="col-md-7"> <div class="col-md-7">
<div class="row"> <div class="row bottom">
<div class="col-md-3 cashier_number" data-value="4" data-type="num">4</div> <div class="col-md-3 cashier_number" data-value="4" data-type="num">4</div>
<div class="col-md-3 cashier_number" data-value="5" data-type="num">5</div> <div class="col-md-3 left cashier_number" data-value="5" data-type="num">5</div>
<div class="col-md-3 cashier_number" data-value="6" data-type="num">6</div> <div class="col-md-3 left cashier_number" data-value="6" data-type="num">6</div>
</div> </div>
</div> </div>
</div> </div>
<div class="row"> <div class="row">
@@ -138,12 +138,12 @@
<div class="col-md-12 cashier_number long" data-value="20" data-type="add">20%</div> <div class="col-md-12 cashier_number long" data-value="20" data-type="add">20%</div>
</div> </div>
<div class="col-md-7"> <div class="col-md-7">
<div class="row"> <div class="row bottom">
<div class="col-md-3 cashier_number" data-value="7" data-type="num">7</div> <div class="col-md-3 cashier_number" data-value="7" data-type="num">7</div>
<div class="col-md-3 cashier_number" data-value="8" data-type="num">8</div> <div class="col-md-3 left cashier_number" data-value="8" data-type="num">8</div>
<div class="col-md-3 cashier_number" data-value="9" data-type="num">9</div> <div class="col-md-3 left cashier_number" data-value="9" data-type="num">9</div>
</div> </div>
</div> </div>
</div> </div>
<div class="row"> <div class="row">
@@ -151,12 +151,12 @@
<div class="col-md-12 cashier_number long" data-value="30" data-type="add">30%</div> <div class="col-md-12 cashier_number long" data-value="30" data-type="add">30%</div>
</div> </div>
<div class="col-md-7"> <div class="col-md-7">
<div class="row"> <div class="row bottom">
<div class="col-md-3 cashier_number" data-value="0" data-type="num">0</div> <div class="col-md-3 cashier_number" data-value="0" data-type="num">0</div>
<div class="col-md-3 cashier_number" data-value="." data-type="num">.</div> <div class="col-md-3 left cashier_number" data-value="." data-type="num">.</div>
<div class="col-md-3 cashier_number" data-value="00" data-type="num">00</div> <div class="col-md-3 left cashier_number" data-value="00" data-type="num">00</div>
</div> </div>
</div> </div>
</div> </div>
<div class="row"> <div class="row">
@@ -166,13 +166,13 @@
<div class="col-md-7"> <div class="col-md-7">
<div class="row"> <div class="row">
<div class="col-md-3 cashier_number"></div> <div class="col-md-3 cashier_number"></div>
<div class="col-md-3 cashier_number red" data-type="del">DEL</div> <div class="col-md-3 left cashier_number red" data-type="del">DEL</div>
<div class="col-md-3 cashier_number green" data-type="clr">CLR</div> <div class="col-md-3 left cashier_number green" data-type="clr">CLR</div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>

View File

@@ -130,7 +130,7 @@
<div class=" cashier_number left" data-value="00" data-type="num">00</div> <div class=" cashier_number left" data-value="00" data-type="num">00</div>
</div> </div>
<div class="row bottom"> <div class="row bottom">
<div class=" cashier_number"></div> <div class=" cashier_number" data-type="nett">Nett</div>
<div class=" cashier_number red left" data-type="del">Del</div> <div class=" cashier_number red left" data-type="del">Del</div>
<div class=" cashier_number green left" data-type="clr">Clr</div> <div class=" cashier_number green left" data-type="clr">Clr</div>
</div> </div>
@@ -195,6 +195,10 @@ $(document).on('click', '.cashier_number', function(event){
$('#cash').text("0.0"); $('#cash').text("0.0");
update_balance(); update_balance();
break; break;
case 'nett':
$('#cash').text($('#amount_due').text());
update_balance();
break;
} }
event.handled = true; event.handled = true;
} else { } else {
@@ -229,7 +233,7 @@ $( document ).ready(function() {
data: "cash="+ cash + "&sale_id=" + sale_id, data: "cash="+ cash + "&sale_id=" + sale_id,
success:function(result){ success:function(result){
alert("Thank you") alert("Thank you")
window.location.href = '/origami'; // window.location.href = '/origami';
} }
}); });
} }