Merge branch 'master' of bitbucket.org:code2lab/sxrestaurant
This commit is contained in:
113
app/assets/javascripts/origami/payment.js
Normal file
113
app/assets/javascripts/origami/payment.js
Normal file
@@ -0,0 +1,113 @@
|
|||||||
|
// $(document).on('touchstart click', '.keypad', function(event){
|
||||||
|
// event.stopPropagation();
|
||||||
|
// event.preventDefault();
|
||||||
|
// if(event.handled !== true) {
|
||||||
|
//
|
||||||
|
// // Do your magic here.
|
||||||
|
// var input_value = $(this).attr("data-value");
|
||||||
|
// switch (input_value) {
|
||||||
|
//
|
||||||
|
// case 'delete':
|
||||||
|
// process_delete_payment();
|
||||||
|
// break;
|
||||||
|
//
|
||||||
|
// case 'foc':
|
||||||
|
// remove_input_action();
|
||||||
|
// $(".foc").attr("data-action","true");
|
||||||
|
// if(customerName.toString() != " "){ //if already chosen customer
|
||||||
|
// if($("#foc_reason_lists").attr("foc_reason") == ' '){
|
||||||
|
// alert("Please! Choose or Add FOC reason");
|
||||||
|
// foc_additional_form();
|
||||||
|
// }
|
||||||
|
// else{
|
||||||
|
// process_foc_payment();
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// else{
|
||||||
|
// alert("Please! Choose or Save Customer");
|
||||||
|
// foc_additional_form();
|
||||||
|
// }
|
||||||
|
// break;
|
||||||
|
//
|
||||||
|
// case 'nett':
|
||||||
|
// remove_input_action();
|
||||||
|
// $(".nett").attr("data-action","true");
|
||||||
|
// if($(".credit_note_payment").hasClass("payment_selected")){
|
||||||
|
// if(customerName == " "){
|
||||||
|
// alert("Please! Choose or Save Customer");
|
||||||
|
// showCustomer();
|
||||||
|
// }
|
||||||
|
// else{
|
||||||
|
// $("#accept_payment_btn").attr("data-payment","credit");
|
||||||
|
// process_nett_payment();
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// else{
|
||||||
|
// process_nett_payment();
|
||||||
|
// }
|
||||||
|
// break;
|
||||||
|
//
|
||||||
|
// case 'edit':
|
||||||
|
// process_edit_invoice();
|
||||||
|
// break;
|
||||||
|
//
|
||||||
|
// case 'cancel':
|
||||||
|
// remove_input_action();
|
||||||
|
// var status = $("#label_amountdue").attr("data-status");
|
||||||
|
// if (status != 'completed' && status != 'void'){
|
||||||
|
// $(".cancel").attr("data-action","true");
|
||||||
|
// var message = confirm("Are you sure to void? Please, add reason!");
|
||||||
|
// if (message == true) {
|
||||||
|
// $(".additional_form").hide();
|
||||||
|
// $("#void_sale_additional_form").show();
|
||||||
|
// process_cancel_payment();
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// else{
|
||||||
|
// $(".cancel").addClass("dim");
|
||||||
|
// }
|
||||||
|
// break;
|
||||||
|
//
|
||||||
|
// case 'ent':
|
||||||
|
// amount_due = parseFloat($("#label_amountdue").attr("data-original"));
|
||||||
|
// other_amt = parseFloat($("#label_cash_amount").attr("data-value"));
|
||||||
|
// credit_amount = parseFloat($("#label_credit_note").text());
|
||||||
|
// if ($(".credit_note_payment").hasClass("payment_selected") && credit_amount > 0){
|
||||||
|
// if(customerName.toString() != " "){
|
||||||
|
// if(credit_amount > (amount_due - other_amt)){
|
||||||
|
// alert("You shouldn't exceed the amount due.");
|
||||||
|
// }
|
||||||
|
// else{
|
||||||
|
// $("#accept_payment_btn").attr("data-payment","credit");
|
||||||
|
// update_balance_due();
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// else{
|
||||||
|
// alert("Please! Choose or Save Customer");
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// else{
|
||||||
|
// update_balance_due();
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// break;
|
||||||
|
// case 'clear':
|
||||||
|
// process_clear_payment();
|
||||||
|
// break;
|
||||||
|
//
|
||||||
|
// default:
|
||||||
|
//
|
||||||
|
// var existing_value = $(".payment_selected span").text();
|
||||||
|
//
|
||||||
|
// if (existing_value == "0" || existing_value == "0.00") { existing_value = ""; }
|
||||||
|
// existing_value = existing_value + input_value;
|
||||||
|
// $(".payment_selected span").text(existing_value);
|
||||||
|
//
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// event.handled = true;
|
||||||
|
// } else {
|
||||||
|
// return false;
|
||||||
|
// }
|
||||||
|
// });
|
||||||
@@ -7,3 +7,21 @@
|
|||||||
// min-height: 75rem;
|
// min-height: 75rem;
|
||||||
// padding-top: 4.5rem;
|
// padding-top: 4.5rem;
|
||||||
// }
|
// }
|
||||||
|
|
||||||
|
.cashier_number{
|
||||||
|
height:76px;
|
||||||
|
line-height:80px;
|
||||||
|
text-align:center;
|
||||||
|
background:#54A5AF;
|
||||||
|
float:left;
|
||||||
|
margin:2px;
|
||||||
|
font-size:20px;
|
||||||
|
color:white;
|
||||||
|
cursor:pointer;
|
||||||
|
}
|
||||||
|
.cashier_number:hover{
|
||||||
|
background:#A9F5F2;
|
||||||
|
}
|
||||||
|
.long{
|
||||||
|
width:100%
|
||||||
|
}
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ class Api::BillController < Api::ApiController
|
|||||||
if (params[:booking_id])
|
if (params[:booking_id])
|
||||||
@sale = Sale.new
|
@sale = Sale.new
|
||||||
@status = @sale.generate_invoice_from_booking(params[:booking_id], current_login_employee.name)
|
@status = @sale.generate_invoice_from_booking(params[:booking_id], current_login_employee.name)
|
||||||
|
|
||||||
elsif (params[:order_id])
|
elsif (params[:order_id])
|
||||||
@sale = Sale.new
|
@sale = Sale.new
|
||||||
@status = @sale.generate_invoice_from_order(params[:order_id], current_login_employee.name)
|
@status = @sale.generate_invoice_from_order(params[:order_id], current_login_employee.name)
|
||||||
|
|||||||
@@ -4,21 +4,23 @@ class Origami::HomeController < BaseOrigamiController
|
|||||||
@booking_rooms = Order.get_booking_order_rooms()
|
@booking_rooms = Order.get_booking_order_rooms()
|
||||||
@orders = Order.get_orders()
|
@orders = Order.get_orders()
|
||||||
end
|
end
|
||||||
|
|
||||||
def show
|
def show
|
||||||
str = []
|
str = []
|
||||||
|
|
||||||
|
|
||||||
if !params[:sale_id].nil?
|
if !params[:sale_id].nil?
|
||||||
@order_details = SaleItem.get_order_items_details(params[:sale_id])
|
@order_details = SaleItem.get_order_items_details(params[:sale_id])
|
||||||
@order_details.each do |ord_detail|
|
@order_details.each do |ord_detail|
|
||||||
str.push(ord_detail)
|
str.push(ord_detail)
|
||||||
end
|
end
|
||||||
render :json => str.to_json
|
render :json => str.to_json
|
||||||
else
|
else
|
||||||
@order_details = OrderItem.get_order_items_details(params[:order_id])
|
@order_details = OrderItem.get_order_items_details(params[:order_id])
|
||||||
@order_details.each do |ord_detail|
|
@order_details.each do |ord_detail|
|
||||||
str.push(ord_detail)
|
str.push(ord_detail)
|
||||||
end
|
end
|
||||||
render :json => str.to_json
|
render :json => str.to_json
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,6 +1,14 @@
|
|||||||
class Origami::PaymentsController < BaseOrigamiController
|
class Origami::PaymentsController < BaseOrigamiController
|
||||||
|
|
||||||
|
|
||||||
def index
|
def index
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def create
|
def create
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def show
|
||||||
|
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,27 +1,37 @@
|
|||||||
class Origami::RequestBillsController < BaseOrigamiController
|
class Origami::RequestBillsController < BaseOrigamiController
|
||||||
def show
|
|
||||||
|
def create
|
||||||
@sale = Sale.new
|
@sale = Sale.new
|
||||||
|
|
||||||
|
|
||||||
booking_id = params[:id]
|
booking_id = params[:id]
|
||||||
check_booking = Booking.find_by_booking_id(booking_id)
|
check_booking = Booking.find_by_booking_id(booking_id)
|
||||||
if check_booking.sale_id.nil?
|
if check_booking.sale_id.nil?
|
||||||
#check if it doesn't exist
|
#check if it doesn't exist
|
||||||
@status = @sale.generate_invoice_from_booking(check_booking.id,current_login_employee.name)
|
@status = @sale.generate_invoice_from_booking(check_booking.id,current_login_employee.name)
|
||||||
@sale_data = Sale.find_by_sale_id(check_booking.sale_id)
|
@sale_data = Sale.find_by_sale_id(check_booking.sale_id)
|
||||||
@sale_items = SaleItem.where("sale_id=?",check_booking.sale_id)
|
@sale_items = SaleItem.where("sale_id=?",check_booking.sale_id)
|
||||||
else
|
else
|
||||||
@sale_data = Sale.find_by_sale_id(check_booking.sale_id)
|
@sale_data = Sale.find_by_sale_id(check_booking.sale_id)
|
||||||
@sale_items = SaleItem.where("sale_id=?",check_booking.sale_id)
|
@sale_items = SaleItem.where("sale_id=?",check_booking.sale_id)
|
||||||
end
|
end
|
||||||
|
|
||||||
unique_code="ReceiptBillPdf"
|
unique_code="ReceiptBillPdf"
|
||||||
|
|
||||||
print_settings=PrintSetting.find_by_unique_code(unique_code)
|
print_settings=PrintSetting.find_by_unique_code(unique_code)
|
||||||
|
|
||||||
printer = Printer::ReceiptPrinter.new(print_settings)
|
printer = Printer::ReceiptPrinter.new(print_settings)
|
||||||
|
|
||||||
printer.print_receipt_bill(print_settings,@sale_items,@sale,@sale_data)
|
printer.print_receipt_bill(print_settings,@sale_items,@sale,@sale_data)
|
||||||
|
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
def show
|
||||||
|
sale_id = params[:sale_id]
|
||||||
|
if Sale.exists?(sale_id)
|
||||||
|
@sale_data = Sale.find_by_id(sale_id)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
class Booking < ApplicationRecord
|
|
||||||
|
class Booking < ApplicationRecord
|
||||||
self.primary_key = "booking_id"
|
self.primary_key = "booking_id"
|
||||||
|
|
||||||
#primary key - need to be unique
|
#primary key - need to be unique
|
||||||
before_create :generate_custom_id
|
before_create :generate_custom_id
|
||||||
|
|
||||||
|
|||||||
@@ -210,6 +210,18 @@ class Order < ApplicationRecord
|
|||||||
|
|
||||||
#Origami: Cashier : to view order type Table
|
#Origami: Cashier : to view order type Table
|
||||||
|
|
||||||
|
def self.get_order_table
|
||||||
|
order_table = Order.select("orders.id as order_id,sum(order_items.qty*order_items.price) as total_price,
|
||||||
|
order_items.id as order_items_id,dining_facilities.name as table_name")
|
||||||
|
.joins("left join booking_orders on booking_orders.order_id = orders.id
|
||||||
|
left join bookings on bookings.id = booking_orders.id
|
||||||
|
left join dining_facilities on dining_facilities.id = bookings.dining_facility_id
|
||||||
|
left join order_items on order_items.order_id = orders.id")
|
||||||
|
.where("dining_facilities.type=? and orders.order_type=? and dining_facilities.is_active=?",DiningFacility::TABLE_TYPE,"dine_in",true)
|
||||||
|
|
||||||
|
.group("orders.id, order_items.id,dining_facilities.name")
|
||||||
|
|
||||||
|
|
||||||
def self.get_booking_order_table
|
def self.get_booking_order_table
|
||||||
booking_orders = Booking.select("sales.receipt_no,orders.status as order_status,
|
booking_orders = Booking.select("sales.receipt_no,orders.status as order_status,
|
||||||
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")
|
||||||
@@ -258,16 +270,9 @@ 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("dining_facilities.is_active=? and orders.date between ? and ?",true,from,to)
|
.where("dining_facilities.is_active=? and orders.date between ? and ?",true,from,to)
|
||||||
.group("orders.order_id")
|
|
||||||
|
|
||||||
# Booking.select("sales.receipt_no,orders.status as order_status,bookings.booking_id,sales.sale_id as sale_id,dining_facilities.name as table_name")
|
.group("orders.id,order_items.id,dining_facilities.name")
|
||||||
# .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 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 sales on sales.sale_id = sale_orders.sale_id")
|
|
||||||
# .where("booking_orders.order_id IS NOT NULL and dining_facilities.is_active=? and orders.date between ? and ?",true,from,to)
|
|
||||||
# .group("orders.order_id")
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -31,7 +31,8 @@ class Sale < ApplicationRecord
|
|||||||
end
|
end
|
||||||
booking.sale_id = sale_id
|
booking.sale_id = sale_id
|
||||||
end
|
end
|
||||||
|
order = booking.booking_orders.take.order
|
||||||
|
link_order_sale(order.id)
|
||||||
return status
|
return status
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -22,25 +22,26 @@
|
|||||||
<div class="tab-pane active" id="tables" role="tabpanel">
|
<div class="tab-pane active" id="tables" role="tabpanel">
|
||||||
<!--- Booking Items -->
|
<!--- Booking Items -->
|
||||||
<div class="card-columns" style="padding-top:10px">
|
<div class="card-columns" style="padding-top:10px">
|
||||||
|
|
||||||
<% if @booking_orders %>
|
<% if @booking_orders %>
|
||||||
<% @booking_orders.each do |booking_order| %>
|
<% @booking_orders.each do |booking_order| %>
|
||||||
<% if !booking_order.order_status = 'new'%>
|
<% if !booking_order.order_status = 'new'%>
|
||||||
<div style="background-color: red;color: white;" class="card" id="table-order-<%=booking_order.sale_id%>" onclick="callOrderDetails('sale_<%=booking_order.sale_id%>')">
|
<div style="background-color: red;color: white;" class="card" id="table-order-<%=booking_order.sale_id%>" onclick="callOrderDetails('sale_<%=booking_order.sale_id%>')">
|
||||||
<div class="card-block">
|
<div class="card-block">
|
||||||
<h4 class="card-title">
|
<h4 class="card-title">
|
||||||
<span id="table-name-<%=booking_order.sale_id%>" class="table-name"><%=booking_order.table_name%></span></h4>
|
<span id="table-name-<%=booking_order.sale_id%>" class="table-name"><%=booking_order.table_name%></span></h4>
|
||||||
<span>Receipt No : <%=booking_order.receipt_no%></span><br/>
|
<span>Receipt No : <%=booking_order.receipt_no%></span><br/>
|
||||||
<span>Order Status : <%=booking_order.order_status %></span>
|
<span>Order Status : <%=booking_order.order_status %></span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<% else %>
|
<% else %>
|
||||||
<div class="card" id="table-order-<%=booking_order.id%>" onclick="callOrderDetails('order_<%=booking_order.id%>')">
|
<div class="card" id="table-order-<%=booking_order.id%>" onclick="callOrderDetails('order_<%=booking_order.id%>')">
|
||||||
<div class="card-block">
|
<div class="card-block">
|
||||||
<h4 class="card-title"><span id="table-name-<%=booking_order.id%>" class="table-name"><%=booking_order.table_name%></span></h4>
|
<h4 class="card-title"><span id="table-name-<%=booking_order.id%>" class="table-name"><%=booking_order.table_name%></span></h4>
|
||||||
<span>Order Status : <%=booking_order.order_status %></span>
|
<span>Order Status : <%=booking_order.order_status %></span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<% end %>
|
<% end %>
|
||||||
<%end %>
|
<%end %>
|
||||||
<%end %>
|
<%end %>
|
||||||
</div>
|
</div>
|
||||||
@@ -50,25 +51,26 @@
|
|||||||
<div class="tab-pane" id="rooms" role="tabpanel" style="min-height:670px; max-height:670px; overflow-y:scroll">
|
<div class="tab-pane" id="rooms" role="tabpanel" style="min-height:670px; max-height:670px; overflow-y:scroll">
|
||||||
<!--- Booking Items -->
|
<!--- Booking Items -->
|
||||||
<div class="card-columns" style="padding-top:10px">
|
<div class="card-columns" style="padding-top:10px">
|
||||||
|
|
||||||
<% if @booking_rooms %>
|
<% if @booking_rooms %>
|
||||||
<% @booking_rooms.each do |booking_room| %>
|
<% @booking_rooms.each do |booking_room| %>
|
||||||
<% if !booking_room.order_status = 'new'%>
|
<% if !booking_room.order_status = 'new'%>
|
||||||
<div style="background-color: red;color: white;" class="card" id="table-order-<%=booking_room.id%>" onclick="callOrderDetails('sale_<%=booking_room.id%>')">
|
<div style="background-color: red;color: white;" class="card" id="table-order-<%=booking_room.id%>" onclick="callOrderDetails('sale_<%=booking_room.id%>')">
|
||||||
<div class="card-block">
|
<div class="card-block">
|
||||||
<h4 class="card-title">
|
<h4 class="card-title">
|
||||||
<span id="table-name-<%=booking_room.id%>" class="table-name"><%=booking_room.room_name%></span></h4>
|
<span id="table-name-<%=booking_room.id%>" class="table-name"><%=booking_room.room_name%></span></h4>
|
||||||
<span>Receipt No : <%=booking_room.receipt_no%></span><br/>
|
<span>Receipt No : <%=booking_room.receipt_no%></span><br/>
|
||||||
<span>Order Status : <%=booking_room.order_status %></span>
|
<span>Order Status : <%=booking_room.order_status %></span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<% else %>
|
<% else %>
|
||||||
<div class="card" id="table-order-<%=booking_room.id%>" onclick="callOrderDetails('order_<%=booking_room.id%>')">
|
<div class="card" id="table-order-<%=booking_room.id%>" onclick="callOrderDetails('order_<%=booking_room.id%>')">
|
||||||
<div class="card-block">
|
<div class="card-block">
|
||||||
<h4 class="card-title"><span id="table-name-<%=booking_room.id%>" class="table-name"><%=booking_room.room_name%>ddd</span></h4> \
|
<h4 class="card-title"><span id="table-name-<%=booking_room.id%>" class="table-name"><%=booking_room.room_name%>ddd</span></h4> \
|
||||||
<span>Order Status : <%=booking_room.order_status %></span>
|
<span>Order Status : <%=booking_room.order_status %></span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<% end %>
|
<% end %>
|
||||||
<%end %>
|
<%end %>
|
||||||
<%end %>
|
<%end %>
|
||||||
|
|
||||||
@@ -82,25 +84,26 @@
|
|||||||
|
|
||||||
<!--- Booking Items -->
|
<!--- Booking Items -->
|
||||||
<div class="card-columns" style="padding-top:10px">
|
<div class="card-columns" style="padding-top:10px">
|
||||||
|
|
||||||
<% if @orders %>
|
<% if @orders %>
|
||||||
<% @orders.each do |order| %>
|
<% @orders.each do |order| %>
|
||||||
<% if !order.order_status = 'new'%>
|
<% if !order.order_status = 'new'%>
|
||||||
<div style="background-color: green;color: white;" class="card" id="table-order-<%=order.order_id%>" onclick="callOrderDetails('sale_<%=order.order_id%>')">
|
<div style="background-color: green;color: white;" class="card" id="table-order-<%=order.order_id%>" onclick="callOrderDetails('sale_<%=order.order_id%>')">
|
||||||
<div class="card-block">
|
<div class="card-block">
|
||||||
<h4 class="card-title">
|
<h4 class="card-title">
|
||||||
<span id="table-name-<%=order.order_id%>" class="table-name">Order No:<%=order.order_id%></span></h4>
|
<span id="table-name-<%=order.order_id%>" class="table-name">Order No:<%=order.order_id%></span></h4>
|
||||||
<span>Receipt No : <%=order.receipt_no%></span><br/>
|
<span>Receipt No : <%=order.receipt_no%></span><br/>
|
||||||
<span>Order Status : <%=order.order_status %></span>
|
<span>Order Status : <%=order.order_status %></span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<% else %>
|
<% else %>
|
||||||
<div class="card" id="table-order-<%=order.order_id%>" onclick="callOrderDetails('order_<%=order.order_id%>')">
|
<div class="card" id="table-order-<%=order.order_id%>" onclick="callOrderDetails('order_<%=order.order_id%>')">
|
||||||
<div class="card-block">
|
<div class="card-block">
|
||||||
<h4 class="card-title"><span id="table-name-<%=order.order_id%>" class="table-name">Order No:<%=order.order_id%></span></h4>
|
<h4 class="card-title"><span id="table-name-<%=order.order_id%>" class="table-name">Order No:<%=order.order_id%></span></h4>
|
||||||
<span>Order Status : <%=order.order_status %></span>
|
<span>Order Status : <%=order.order_status %></span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<% end %>
|
<% end %>
|
||||||
<%end %>
|
<%end %>
|
||||||
<%end %>
|
<%end %>
|
||||||
|
|
||||||
@@ -148,8 +151,8 @@
|
|||||||
<td style="width:20%; text-align:right">
|
<td style="width:20%; text-align:right">
|
||||||
<span id="item-total-price"></span>
|
<span id="item-total-price"></span>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
@@ -158,19 +161,19 @@
|
|||||||
<tfooter>
|
<tfooter>
|
||||||
<tr>
|
<tr>
|
||||||
<td style="width:80%; text-align:left; border-top:none"><strong>Sub Total</strong></td>
|
<td style="width:80%; text-align:left; border-top:none"><strong>Sub Total</strong></td>
|
||||||
<td style="width:20%; text-align:right; border-top:none"><strong><span id="sub-total"></span></strong></td>
|
<td style="width:20%; text-align:right; border-top:none"><strong><span id="sub-total"></span></strong></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td style="width:80%; text-align:left; border-top:none"><strong><span id="discount-header"></strong></td>
|
<td style="width:80%; text-align:left; border-top:none"><strong><span id="discount-header"></strong></td>
|
||||||
<td style="width:20%; text-align:right; border-top:none"><strong><span id="discount_amount"></span></strong></td>
|
<td style="width:20%; text-align:right; border-top:none"><strong><span id="discount_amount"></span></strong></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td style="width:80%; text-align:left; border-top:none"><strong><span id="tax-header"></strong></td>
|
<td style="width:80%; text-align:left; border-top:none"><strong><span id="tax-header"></strong></td>
|
||||||
<td style="width:20%; text-align:right; border-top:none"><strong><span id="tax_amount"></span></strong></td>
|
<td style="width:20%; text-align:right; border-top:none"><strong><span id="tax_amount"></span></strong></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td style="width:80%; text-align:left; border-top:none"><strong><span id="grand-total-header"></strong></td>
|
<td style="width:80%; text-align:left; border-top:none"><strong><span id="grand-total-header"></strong></td>
|
||||||
<td style="width:20%; text-align:right; border-top:none"><strong><span id="grand_total_amount"></span></strong></td>
|
<td style="width:20%; text-align:right; border-top:none"><strong><span id="grand_total_amount"></span></strong></td>
|
||||||
</tr>
|
</tr>
|
||||||
</tfooter>
|
</tfooter>
|
||||||
</table>
|
</table>
|
||||||
@@ -188,125 +191,136 @@
|
|||||||
<button type="button" class="btn btn-primary btn-lg btn-block" disabled>Customer</button>
|
<button type="button" class="btn btn-primary btn-lg btn-block" disabled>Customer</button>
|
||||||
<!-- <button type="button" class="btn btn-primary btn-lg btn-block" disabled>Req.Bill</button> -->
|
<!-- <button type="button" class="btn btn-primary btn-lg btn-block" disabled>Req.Bill</button> -->
|
||||||
<button type="button" id="request_bills" class="btn btn-primary btn-lg btn-block">
|
<button type="button" id="request_bills" class="btn btn-primary btn-lg btn-block">
|
||||||
Req.Bill
|
Req.Bill
|
||||||
</button>
|
</button>
|
||||||
<!-- Cashier Buttons -->
|
<!-- Cashier Buttons -->
|
||||||
<button type="button" class="btn btn-primary btn-lg btn-block" disabled>Discount</button>
|
<button type="button" class="btn btn-primary btn-lg btn-block" disabled>Discount</button>
|
||||||
<button type="button" class="btn btn-primary btn-lg btn-block" disabled>Tax</button>
|
<button type="button" class="btn btn-primary btn-lg btn-block" disabled>Tax</button>
|
||||||
<button type="button" class="btn btn-primary btn-lg btn-block" disabled>Pay</button>
|
<button type="button" id="pay" class="btn btn-primary btn-lg btn-block" >Pay</button>
|
||||||
<button type="button" class="btn btn-primary btn-lg btn-block" disabled>Re.Print</button>
|
<button type="button" class="btn btn-primary btn-lg btn-block" disabled>Re.Print</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script>
|
<script>
|
||||||
var old_order_id = 0
|
var old_order_id = 0
|
||||||
var old_table_name = ""
|
var old_table_name = ""
|
||||||
var table_or_order_id = 0
|
var table_or_order_id = 0
|
||||||
|
|
||||||
|
|
||||||
function callOrderDetails(sale_order_id){
|
function callOrderDetails(sale_order_id){
|
||||||
var order_id = 0
|
var order_id = 0
|
||||||
var data_val = ""
|
var data_val = ""
|
||||||
sale_order = sale_order_id.split("_")[0]
|
sale_order = sale_order_id.split("_")[0]
|
||||||
if (sale_order == 'sale') {
|
if (sale_order == 'sale') {
|
||||||
order_id = sale_order_id.split("_")[1]
|
order_id = sale_order_id.split("_")[1]
|
||||||
url = "origami/"+sale_order_id.split("_")[1]
|
url = "origami/"+sale_order_id.split("_")[1]
|
||||||
data_val = { sale_id: sale_order_id.split("_")[1]}
|
data_val = { sale_id: sale_order_id.split("_")[1]}
|
||||||
|
|
||||||
}else{
|
}else{
|
||||||
order_id = sale_order_id.split("_")[1]
|
order_id = sale_order_id.split("_")[1]
|
||||||
url = "origami/"+order_id
|
url = "origami/"+order_id
|
||||||
data_val = { order_id: sale_order_id.split("_")[1]}
|
data_val = { order_id: sale_order_id.split("_")[1]}
|
||||||
|
|
||||||
}
|
}
|
||||||
table_or_order_id = order_id
|
table_or_order_id = order_id
|
||||||
var tbody = ""
|
var tbody = ""
|
||||||
$("#append-table").html("")
|
$("#append-table").html("")
|
||||||
if (old_order_id != order_id){
|
if (old_order_id != order_id){
|
||||||
$("#table-order-"+old_order_id).removeClass("selected_color")
|
$("#table-order-"+old_order_id).removeClass("selected_color")
|
||||||
$("#table-order-"+order_id).addClass("selected_color")
|
$("#table-order-"+order_id).addClass("selected_color")
|
||||||
old_order_id = order_id
|
old_order_id = order_id
|
||||||
}
|
}
|
||||||
$("#order-detail-header").html("")
|
|
||||||
|
$("#order-detail-header").html("")
|
||||||
$("#order-detail-header").append("Table Name : "+document.getElementById("table-name-"+order_id).innerHTML)
|
$("#order-detail-header").append("Table Name : "+document.getElementById("table-name-"+order_id).innerHTML)
|
||||||
$("#sub-total").html("")
|
$("#sub-total").html("")
|
||||||
$.ajax({type: "GET",
|
$.ajax({type: "GET",
|
||||||
url: url,
|
url: url,
|
||||||
data: data_val,
|
data: data_val,
|
||||||
success:function(result){
|
success:function(result){
|
||||||
var sub_total = 0
|
var sub_total = 0
|
||||||
var discount_amount = 0
|
var discount_amount = 0
|
||||||
var receipt_no = ""
|
var receipt_no = ""
|
||||||
var cashier_name = ""
|
var cashier_name = ""
|
||||||
var receipt_date = ""
|
var receipt_date = ""
|
||||||
var tax_amount = 0
|
var tax_amount = 0
|
||||||
var grand_total_amount = 0
|
var grand_total_amount = 0
|
||||||
row = "<tbody>"
|
row = "<tbody>"
|
||||||
for (i = 0; i < result.length; i++) {
|
for (i = 0; i < result.length; i++) {
|
||||||
var data = JSON.stringify(result[i]);
|
var data = JSON.stringify(result[i]);
|
||||||
var parse_data = JSON.parse(data)
|
var parse_data = JSON.parse(data)
|
||||||
sub_total += (parse_data.qty*parse_data.price)
|
sub_total += (parse_data.qty*parse_data.price)
|
||||||
row = '<tr><td style="width:60%; text-align:left"><span id="item-name-price">'+parse_data.item_name+"@"+(parse_data.price*1)+'</span></td>'
|
row = '<tr><td style="width:60%; text-align:left"><span id="item-name-price">'+parse_data.item_name+"@"+(parse_data.price*1)+'</span></td>'
|
||||||
+'<td style="width:20%; text-align:right"><span id="item-qty">'+(parse_data.qty*1)+'</span></td>s'
|
+'<td style="width:20%; text-align:right"><span id="item-qty">'+(parse_data.qty*1)+'</span></td>s'
|
||||||
+'<td style="width:20%; text-align:right"><span id="item-total-price">'+(parse_data.qty*parse_data.price)+'</span></td>'
|
+'<td style="width:20%; text-align:right"><span id="item-total-price">'+(parse_data.qty*parse_data.price)+'</span></td>'
|
||||||
+'</tr>>'
|
+'</tr>>'
|
||||||
tbody += row
|
tbody += row
|
||||||
discount_amount = result[i].discount_amount;
|
|
||||||
|
|
||||||
tax_amount = result[i].tax_amount;
|
discount_amount = result[i].discount_amount;
|
||||||
grand_total_amount = result[i].grand_total_amount;
|
|
||||||
|
tax_amount = result[i].tax_amount;
|
||||||
|
grand_total_amount = result[i].grand_total_amount;
|
||||||
|
|
||||||
receipt_no = result[i].receipt_no;
|
receipt_no = result[i].receipt_no;
|
||||||
cashier_name = result[i].cashier_name;
|
cashier_name = result[i].cashier_name;
|
||||||
receipt_date = result[i].receipt_date;
|
receipt_date = result[i].receipt_date;
|
||||||
|
|
||||||
}
|
}
|
||||||
row = "</tbody>"
|
row = "</tbody>"
|
||||||
$("#append-table").append(tbody)
|
$("#append-table").append(tbody)
|
||||||
$("#sub-total").append((sub_total)+"<br/>")
|
|
||||||
|
$("#sub-total").append((sub_total)+"<br/>")
|
||||||
if (discount_amount > 0 ) {
|
|
||||||
|
if (discount_amount > 0 ) {
|
||||||
$("#discount-header").html("(Discount)")
|
$("#discount-header").html("(Discount)")
|
||||||
$("#discount_amount").html("("+discount_amount+")")
|
$("#discount_amount").html("("+discount_amount+")")
|
||||||
}
|
}
|
||||||
|
|
||||||
if (tax_amount > 0 ) {
|
if (tax_amount > 0 ) {
|
||||||
$("#tax-header").html("Tax")
|
$("#tax-header").html("Tax")
|
||||||
$("#tax_amount").html(tax_amount)
|
$("#tax_amount").html(tax_amount)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (grand_total_amount > 0 ) {
|
if (grand_total_amount > 0 ) {
|
||||||
$("#grand-total-header").html("Grand Total")
|
$("#grand-total-header").html("Grand Total")
|
||||||
$("#grand_total_amount").html(grand_total_amount)
|
$("#grand_total_amount").html(grand_total_amount)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (cashier_name == null){
|
if (cashier_name == null){
|
||||||
cashier_name = ""
|
cashier_name = ""
|
||||||
}
|
}
|
||||||
if(receipt_no != null){
|
if(receipt_no != null){
|
||||||
$("#receipt-no").html("Receipt No : "+receipt_no)
|
$("#receipt-no").html("Receipt No : "+receipt_no)
|
||||||
}
|
}
|
||||||
if (receipt_date != null) {
|
if (receipt_date != null) {
|
||||||
$("#receipt-date").html("Receipt Date : "+receipt_date);
|
$("#receipt-date").html("Receipt Date : "+receipt_date);
|
||||||
}
|
}
|
||||||
if (cashier_name != null) {
|
if (cashier_name != null) {
|
||||||
$("#cashier-name").html("Cashier Name : "+cashier_name);
|
$("#cashier-name").html("Cashier Name : "+cashier_name);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
error:function(result){
|
error:function(result){
|
||||||
// alert('error');
|
// alert('error');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
$( document ).ready(function() {
|
$( document ).ready(function() {
|
||||||
$('#request_bills').click(function() {
|
$('#request_bills').click(function() {
|
||||||
window.location.href = '/origami/request_bills/'+table_or_order_id;
|
window.location.href = '/origami/request_bills/'+ table_or_order_id
|
||||||
return false;
|
return false;
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$( document ).ready(function() {
|
||||||
|
$('#pay').click(function() {
|
||||||
|
window.location.href = '/origami/sale/'+ 10 + "/payment"
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
<style type="text/css">
|
<style type="text/css">
|
||||||
.selected_color{
|
.selected_color{
|
||||||
color:white;
|
color:white;
|
||||||
background-color: blue;
|
background-color: blue;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-lg-5 col-md-5 col-sm-3">
|
<div class="col-lg-5 col-md-5 col-sm-3">
|
||||||
<div class="card" >
|
<div class="card" >
|
||||||
@@ -24,8 +25,7 @@
|
|||||||
<table class="table" id="append-table">
|
<table class="table" id="append-table">
|
||||||
<tbody>
|
<tbody>
|
||||||
<% sub_total = 0 %>
|
<% sub_total = 0 %>
|
||||||
<% if @sale_items %>
|
<% @sale_data.sale_items.each do |sale_item| %>
|
||||||
<% @sale_items.each do |sale_item| %>
|
|
||||||
<% sub_total += sale_item.qty*sale_item.unit_price%>
|
<% sub_total += sale_item.qty*sale_item.unit_price%>
|
||||||
<tr>
|
<tr>
|
||||||
<td style="width:60%; text-align:left">
|
<td style="width:60%; text-align:left">
|
||||||
@@ -37,9 +37,8 @@
|
|||||||
<td style="width:20%; text-align:right">
|
<td style="width:20%; text-align:right">
|
||||||
<span id="item-total-price"><%=(sale_item.qty*sale_item.unit_price)%></span>
|
<span id="item-total-price"><%=(sale_item.qty*sale_item.unit_price)%></span>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<%end %>
|
<%end %>
|
||||||
<%end %>
|
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
@@ -70,4 +69,111 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<div class="col-lg-5 col-md-5 col-sm-3">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-8">AMOUNT DUE</div>
|
||||||
|
<div class="col-md-4"><%= @sale_data.grand_total %></div>
|
||||||
|
</div>
|
||||||
|
<hr>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-8">CASH</div>
|
||||||
|
<div class="col-md-4">0.0</div>
|
||||||
|
</div>
|
||||||
|
<hr>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-8">CREDIT</div>
|
||||||
|
<div class="col-md-4">0.0</div>
|
||||||
|
</div>
|
||||||
|
<hr>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-8">CARD</div>
|
||||||
|
<div class="col-md-4">0.0</div>
|
||||||
|
</div>
|
||||||
|
<hr>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-8">BALANCE</div>
|
||||||
|
<div class="col-md-4">0.0</div>
|
||||||
|
</div>
|
||||||
|
<hr>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-12">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-7">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-3 cashier_number" data-value="1">1</div>
|
||||||
|
<div class="col-md-3 cashier_number">2</div>
|
||||||
|
<div class="col-md-3 cashier_number">3</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-5">
|
||||||
|
<div class="col-md-12 cashier_number long">1000</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-7">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-3 cashier_number">4</div>
|
||||||
|
<div class="col-md-3 cashier_number">5</div>
|
||||||
|
<div class="col-md-3 cashier_number">6</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-5">
|
||||||
|
<div class="col-md-12 cashier_number long">5000</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-7">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-3 cashier_number">7</div>
|
||||||
|
<div class="col-md-3 cashier_number">8</div>
|
||||||
|
<div class="col-md-3 cashier_number">9</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-5">
|
||||||
|
<div class="col-md-12 cashier_number long">10000</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-7">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-3 cashier_number">0</div>
|
||||||
|
<div class="col-md-3 cashier_number">.</div>
|
||||||
|
<div class="col-md-3 cashier_number">00</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-5">
|
||||||
|
<div class="col-md-12 cashier_number long">50000</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-7">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-3 cashier_number"></div>
|
||||||
|
<div class="col-md-3 cashier_number">DEL</div>
|
||||||
|
<div class="col-md-3 cashier_number">CLR</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-5">
|
||||||
|
<div class="col-md-12 cashier_number long">ENTER</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
$(document).on('click', '.cashier_number', function(event){
|
||||||
|
event.stopPropagation();
|
||||||
|
event.preventDefault();
|
||||||
|
if(event.handled !== true) {
|
||||||
|
var input_value = $(this).attr("data-value");
|
||||||
|
switch (input_value) {
|
||||||
|
|
||||||
|
}
|
||||||
|
event.handled = true;
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|||||||
@@ -72,7 +72,8 @@ Rails.application.routes.draw do
|
|||||||
resources :discounts, only: [:index,:new, :create ] #add discount type
|
resources :discounts, only: [:index,:new, :create ] #add discount type
|
||||||
resources :customers, only: [:index,:new, :create ] #add customer type
|
resources :customers, only: [:index,:new, :create ] #add customer type
|
||||||
end
|
end
|
||||||
resources :request_bills, only: [:show]
|
resources :request_bills, only: [:show]
|
||||||
|
get 'sale/:sale_id/payment' => 'request_bills#show'
|
||||||
end
|
end
|
||||||
|
|
||||||
#--------- Waiter/Ordering Station ------------#
|
#--------- Waiter/Ordering Station ------------#
|
||||||
|
|||||||
5
spec/models/print_setting_spec.rb~HEAD
Normal file
5
spec/models/print_setting_spec.rb~HEAD
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
require 'rails_helper'
|
||||||
|
|
||||||
|
RSpec.describe PrintSetting, type: :model do
|
||||||
|
pending "add some examples to (or delete) #{__FILE__}"
|
||||||
|
end
|
||||||
5
spec/models/print_setting_spec.rb~crm
Normal file
5
spec/models/print_setting_spec.rb~crm
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
require 'rails_helper'
|
||||||
|
|
||||||
|
RSpec.describe PrintSetting, type: :model do
|
||||||
|
pending "add some examples to (or delete) #{__FILE__}"
|
||||||
|
end
|
||||||
Reference in New Issue
Block a user