add account_id to od_item and sale_item table
This commit is contained in:
@@ -9,6 +9,7 @@
|
||||
// min-height: 75rem;
|
||||
// padding-top: 4.5rem;
|
||||
// }
|
||||
|
||||
.others-payment{
|
||||
line-height:100px;
|
||||
text-align:center;
|
||||
@@ -41,12 +42,13 @@
|
||||
|
||||
.pay{
|
||||
width: 98%;
|
||||
height:211px;
|
||||
height:211px;
|
||||
line-height:211px;
|
||||
text-align:center;
|
||||
font-size:20px;
|
||||
color:white;
|
||||
}
|
||||
|
||||
.payment{
|
||||
height:70px;line-height:70px;align:center;color:white;font-size:16px;margin-bottom:1px;
|
||||
}
|
||||
@@ -58,6 +60,7 @@
|
||||
.credit-color{
|
||||
background-color:#FFCCBC;
|
||||
}
|
||||
|
||||
.other-payment-color{
|
||||
background-color:#E1BEE7;
|
||||
}
|
||||
@@ -100,6 +103,11 @@
|
||||
background-color: blue !important;
|
||||
}
|
||||
|
||||
.selected-account {
|
||||
color: #fff !important;
|
||||
background-color: blue !important;
|
||||
}
|
||||
|
||||
/* Reciept Style */
|
||||
#order-charges-table td {
|
||||
border-top: none !important;
|
||||
|
||||
@@ -82,7 +82,7 @@ class Order < ApplicationRecord
|
||||
set_order_items
|
||||
end
|
||||
|
||||
OrderItem.processs_item(menu_item[:item_code], menu_item[:name],
|
||||
OrderItem.processs_item(menu_item[:item_code], menu_item[:name], menu_item[:account_id]
|
||||
item[:quantity],menu_item[:price], item[:options], set_order_items, self.id,
|
||||
self.employee_name)
|
||||
|
||||
|
||||
@@ -20,12 +20,13 @@ class OrderItem < ApplicationRecord
|
||||
# option_values : [],
|
||||
# sub_order_items : [],
|
||||
# }
|
||||
def self.processs_item (item_code, menu_name, qty,price, options, set_menu_items, order_id, item_order_by)
|
||||
def self.processs_item (item_code, menu_name, account_id, qty,price, options, set_menu_items, order_id, item_order_by)
|
||||
|
||||
orderitem = OrderItem.create do |oitem|
|
||||
oitem.order_id = order_id
|
||||
oitem.item_code = item_code
|
||||
oitem.item_name = menu_name
|
||||
oitem.account_id = account_id
|
||||
oitem.qty = qty
|
||||
oitem.price = price
|
||||
oitem.options = options
|
||||
|
||||
@@ -133,6 +133,7 @@ class Sale < ApplicationRecord
|
||||
#pull
|
||||
sale_item.product_code = item.item_code
|
||||
sale_item.product_name = item.item_name
|
||||
sale_item.account_id = item.account_id
|
||||
sale_item.remark = item.remark
|
||||
|
||||
sale_item.qty = item.qty
|
||||
|
||||
@@ -88,17 +88,6 @@
|
||||
<div class="card-block">
|
||||
<div class="card-title">
|
||||
<div class="form-horizontal">
|
||||
<!-- <div class="form-group">
|
||||
<div class="col-md-3">
|
||||
<select name="discount_type" id="discount-type" class="form-control">
|
||||
<option value=0 >Net</option>
|
||||
<option value=1 >Percentage</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-md-9">
|
||||
<input type="text" id="discount-amount" name="discount-amount" value="<%= @sale_data.total_discount rescue 0 %>" class="form-control" />
|
||||
</div>
|
||||
</div> -->
|
||||
<div class="col-md-12">
|
||||
<div class="form-group">
|
||||
<input type="text" id="discount-amount" name="discount-amount" value="<%= @sale_data.total_discount rescue 0 %>" class="form-control" />
|
||||
@@ -107,7 +96,7 @@
|
||||
<%
|
||||
@accounts.each do |acc|
|
||||
%>
|
||||
<button id="<%= acc.title %>" class="btn btn-default"><%= acc.title %></button>
|
||||
<button id="account-<%= acc.id %>" class="accounts-type btn btn-default"><%= acc.title %></button>
|
||||
<% end %>
|
||||
</div>
|
||||
</div>
|
||||
@@ -186,3 +175,167 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function(){
|
||||
$(".cashier_number").on('click', function(event){
|
||||
if(event.handled !== true) {
|
||||
var original_value=0;
|
||||
original_value = $('#discount-amount').val();
|
||||
|
||||
var input_type = $(this).attr("data-type");
|
||||
|
||||
switch (input_type) {
|
||||
case 'num':
|
||||
var input_value = $(this).attr("data-value");
|
||||
if (original_value == "0.0"){
|
||||
$('#discount-amount').val(input_value);
|
||||
update_balance();
|
||||
}
|
||||
else{
|
||||
$('#discount-amount').val(original_value + '' + input_value);
|
||||
update_balance();
|
||||
}
|
||||
break;
|
||||
|
||||
case 'add':
|
||||
var input_value = $(this).attr("data-value");
|
||||
amount = parseInt(input_value);
|
||||
$('#discount-amount').val(amount);
|
||||
update_balance();
|
||||
break;
|
||||
|
||||
case 'del' :
|
||||
var discount_text=$('#discount-amount').val();
|
||||
$('#discount-amount').val(discount_text.substr(0,discount_text.length-1));
|
||||
update_balance();
|
||||
break;
|
||||
|
||||
case 'clr':
|
||||
$('#discount-amount').val("0.0");
|
||||
update_balance();
|
||||
break;
|
||||
}
|
||||
event.handled = true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
});
|
||||
|
||||
// Select Sale Item
|
||||
$('.discount-item-row').on('click',function(){
|
||||
if($(this).hasClass('selected-item') == true){
|
||||
$(this).removeClass('selected-item');
|
||||
}
|
||||
else {
|
||||
$(this).addClass('selected-item');
|
||||
}
|
||||
});
|
||||
|
||||
// Select for account types
|
||||
$(".accounts-type").on('click', function(e){
|
||||
if($(this).hasClass('selected-account') == true){
|
||||
$(this).removeClass('selected-account');
|
||||
}
|
||||
else {
|
||||
$(this).addClass('selected-account');
|
||||
}
|
||||
});
|
||||
|
||||
// Calculate Net Discount for Payment
|
||||
$("#net").on('click', function(e){
|
||||
e.preventDefault();
|
||||
var sale_id = $('#sale-id').text();
|
||||
var discount_value = $('#discount-amount').val();
|
||||
var ajax_url = "/origami/" + sale_id + "/discount";
|
||||
|
||||
// Selected Items
|
||||
var sale_items = get_selected_sale_items();
|
||||
|
||||
// Selected Account
|
||||
var account_types = get_selected_account_types();
|
||||
|
||||
calculate_item_discount(sale_items, account_types);
|
||||
|
||||
console.log(sale_items);
|
||||
|
||||
// var sub_total = $('#order-sub-total').text();
|
||||
// var grand_total = $('#order-grand-total').text();
|
||||
// var discount_value = $('#discount-amount').val();
|
||||
// var discount_amount = discount_value;
|
||||
// var ajax_url = "/origami/" + sale_id + "/discount";
|
||||
|
||||
// if(sale_item_id != null){
|
||||
// ajax_url = "/origami/" + sale_item_id + "/discount";
|
||||
// sub_total = $("#"+sale_item_id).children().find("#item-total-price").text();
|
||||
// }
|
||||
|
||||
// // For Percentage Discount
|
||||
// if(discount_type == 1){
|
||||
// discount_amount=(sub_total*discount_value)/100;
|
||||
// }
|
||||
|
||||
// var params = {'sale_id': sale_id, 'sale_item_id': sale_item_id, 'grand_total' : grand_total, 'discount_type':discount_type, 'discount_value':discount_value, 'discount_amount':discount_amount};
|
||||
// $.ajax({
|
||||
// type: "POST",
|
||||
// url: ajax_url,
|
||||
// data: params,
|
||||
// success:function(result){ }
|
||||
// });
|
||||
});
|
||||
|
||||
// Calculate Percentage Discount for Payment
|
||||
$("#percentage").on('click', function(e){
|
||||
e.preventDefault();
|
||||
var sale_id = $('#sale-id').text();
|
||||
var sale_item_id = $('.selected-item').attr('id').substr(0,16);
|
||||
var sub_total = $('#order-sub-total').text();
|
||||
var grand_total = $('#order-grand-total').text();
|
||||
var discount_value = $('#discount-amount').val();
|
||||
var discount_amount = discount_value;
|
||||
var ajax_url = "/origami/" + sale_id + "/discount";
|
||||
});
|
||||
});
|
||||
|
||||
/* For Receipt - Update Balance */
|
||||
function update_balance(){
|
||||
var discount_amount = $('#discount-amount').val();
|
||||
var sub_total = $('#order-sub-total').text();
|
||||
var tax = $('#order-Tax').text();
|
||||
|
||||
// For Percentage Discount
|
||||
if(discount_type == 1){
|
||||
discount_amount=(sub_total*discount_amount)/100;
|
||||
}
|
||||
|
||||
var total = (parseFloat(sub_total) + parseFloat(tax)) - discount_amount;
|
||||
$('#order-discount').text(discount_amount);
|
||||
$('#order-grand-total').text(total);
|
||||
}
|
||||
|
||||
/* Get Selected Sale Item's ID and Price */
|
||||
function get_selected_sale_items(){
|
||||
var sale_items = [];
|
||||
$('.selected-item').each(function(i){
|
||||
var sale_item = {};
|
||||
sale_item.id = $(this).attr('id').substr(0,16);
|
||||
sale_item.price = $(this).find('#item-total-price').text();
|
||||
sale_items.push(sale_item);
|
||||
});
|
||||
return sale_items;
|
||||
}
|
||||
|
||||
/* Get Selected Accounts ID and Price */
|
||||
function get_selected_account_types(){
|
||||
var account_types = [];
|
||||
|
||||
$('.selected-account').each(function(i){
|
||||
var account= {};
|
||||
account.id = $(this).attr('id').substr(8);
|
||||
account.name = $(this).text();
|
||||
account_types.push(account);
|
||||
});
|
||||
return account_types;
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
@@ -7,6 +7,7 @@ class CreateOrderItems < ActiveRecord::Migration[5.1]
|
||||
t.string :item_order_by #person who order this
|
||||
t.string :item_code, :null => false
|
||||
t.string :item_name, :null => false
|
||||
t.integer :account, :limit => 8, :null => false, :default => 1
|
||||
t.decimal :qty, :precision => 10, :scale => 2, :null => false, :default => 0.00
|
||||
t.decimal :price, :precision => 10, :scale => 2, :null => false, :default => 0.00
|
||||
t.string :remark
|
||||
|
||||
@@ -5,6 +5,7 @@ class CreateSaleItems < ActiveRecord::Migration[5.1]
|
||||
t.string :sale_id, foreign_key: true, :limit => 16
|
||||
t.string :product_code, :null => false
|
||||
t.string :product_name, :null => false
|
||||
t.integer :account, :limit => 8, :null => false, :default => 1
|
||||
t.string :remark
|
||||
t.decimal :qty, :precision => 10, :scale => 2, :null => false, :default => 0.00
|
||||
t.decimal :unit_price, :precision => 10, :scale => 2, :null => false, :default => 0.00
|
||||
|
||||
Reference in New Issue
Block a user