update roundign adj and member discount in first bill

This commit is contained in:
Aung Myo
2017-12-20 17:11:27 +06:30
parent bba3aa7631
commit 802b51eab4
5 changed files with 122 additions and 32 deletions

View File

@@ -22,6 +22,10 @@ class Origami::HomeController < BaseOrigamiController
@status_sale = "" @status_sale = ""
@sale_array = Array.new @sale_array = Array.new
@shop = Shop::ShopDetail
@membership = MembershipSetting.find_by_discount(1)
@payment_methods = PaymentMethodSetting.all
@dining.bookings.active.each do |booking| @dining.bookings.active.each do |booking|
if booking.sale_id.nil? && booking.booking_status != 'moved' if booking.sale_id.nil? && booking.booking_status != 'moved'
@order_items = Array.new @order_items = Array.new

View File

@@ -26,7 +26,21 @@ class Origami::PaymentsController < BaseOrigamiController
#shop detail #shop detail
shop_details = Shop::ShopDetail shop_details = Shop::ShopDetail
# customer= Customer.where('customer_id=' +.customer_id) # customer= Customer.where('customer_id=' +.customer_id)
customer= Customer.find(sale_data.customer_id) customer = Customer.find(sale_data.customer_id)
# rounding adjustment
if shop_details.is_rounding_adj
a = sale_data.grand_total % 25
b = sale_data.grand_total / 25
if (a != 0.0 && b%2 != 0.0) || (a==0.0 && b%2 !=0)
new_total = Sale.get_rounding_adjustment(sale_data.grand_total)
rounding_adj = new_total-sale_data.grand_total
sale_data.update_attributes(grand_total: new_total,old_grand_total: sale_data.grand_total,rounding_adjustment:rounding_adj)
end
end
#end rounding adjustment
# get member information # get member information
rebate = MembershipSetting.find_by_rebate(1) rebate = MembershipSetting.find_by_rebate(1)
if customer.membership_id != nil && rebate if customer.membership_id != nil && rebate
@@ -59,10 +73,14 @@ class Origami::PaymentsController < BaseOrigamiController
# rounding adjustment # rounding adjustment
if shop_details.is_rounding_adj if shop_details.is_rounding_adj
a = saleObj.grand_total % 25
b = saleObj.grand_total / 25
if (a != 0.0 && b%2 != 0.0) || (a==0.0 && b%2 !=0)
new_total = Sale.get_rounding_adjustment(saleObj.grand_total) new_total = Sale.get_rounding_adjustment(saleObj.grand_total)
rounding_adj = new_total-saleObj.grand_total rounding_adj = new_total-saleObj.grand_total
saleObj.update_attributes(grand_total: new_total,old_grand_total: saleObj.grand_total,rounding_adjustment:rounding_adj) saleObj.update_attributes(grand_total: new_total,old_grand_total: saleObj.grand_total,rounding_adjustment:rounding_adj)
end end
end
#end rounding adjustment #end rounding adjustment
sale_payment = SalePayment.new sale_payment = SalePayment.new
@@ -278,14 +296,13 @@ class Origami::PaymentsController < BaseOrigamiController
@shop = Shop.find_by_id(1) @shop = Shop.find_by_id(1)
if @shop.is_rounding_adj if @shop.is_rounding_adj
a = saleObj.grand_total % 25
b = saleObj.grand_total / 25
if (a != 0.0 && b%2 != 0.0) || (a==0.0 && b%2 !=0)
new_total = Sale.get_rounding_adjustment(saleObj.grand_total) new_total = Sale.get_rounding_adjustment(saleObj.grand_total)
else
new_total = saleObj.grand_total
end
rounding_adj = new_total-saleObj.grand_total rounding_adj = new_total-saleObj.grand_total
saleObj.update_attributes(grand_total: new_total,old_grand_total: saleObj.grand_total,rounding_adjustment:rounding_adj) saleObj.update_attributes(grand_total: new_total,old_grand_total: saleObj.grand_total,rounding_adjustment:rounding_adj)
end
end
end end
end end

View File

@@ -20,7 +20,7 @@ class ReceiptBillPdf < Prawn::Document
# @double = @qty_width * 1.3 # @double = @qty_width * 1.3
# @half_qty = @qty_width / 2 # @half_qty = @qty_width / 2
#setting page margin and width #setting page margin and width
super(:margin => [20, self.margin, self.margin, self.margin], :page_size => [self.page_width, self.page_height]) super(:margin => [printer_settings.heading_space, self.margin, self.margin, self.margin], :page_size => [self.page_width, self.page_height])
# db font setup # db font setup
if printer_settings.font != "" if printer_settings.font != ""

View File

@@ -1,4 +1,7 @@
<div class="container-fluid"> <div class="container-fluid">
<div id="loading_wrapper" style="display:none;">
<div id="loading"></div>
</div>
<div class="row clearfix"> <div class="row clearfix">
<!-- Column One --> <!-- Column One -->
<div class="col-lg-6 col-md-6 col-sm-6"> <div class="col-lg-6 col-md-6 col-sm-6">
@@ -264,7 +267,7 @@
<table class="table" id="order-charges-table" border="0"> <table class="table" id="order-charges-table" border="0">
<tr> <tr>
<td class="charges-name"><strong>Sub Total:</strong></td> <td class="charges-name"><strong>Sub Total:</strong></td>
<td class="item-attr"><strong id="order-sub-total"><%= sub_total %></strong></td> <td class="item-attr"><strong id="sub-total"><%= sub_total %></strong></td>
</tr> </tr>
<tr> <tr>
<% if @obj_sale != nil && @obj_sale.discount_type == 'member_discount' %> <% if @obj_sale != nil && @obj_sale.discount_type == 'member_discount' %>
@@ -291,7 +294,8 @@
<tr> <tr>
<td class="charges-name"><strong>Rounding Adj:</strong></td> <td class="charges-name"><strong>Rounding Adj:</strong></td>
<td class="item-attr"> <td class="item-attr">
<strong id="order-round-adj"><%= @obj_sale.rounding_adjustment rescue 0 %></strong></td> <strong id="order-round-adj"><%= @obj_sale.rounding_adjustment
%></strong></td>
</tr> </tr>
<tr> <tr>
<td class="charges-name"><strong>Grand Total:</strong></td> <td class="charges-name"><strong>Grand Total:</strong></td>
@@ -388,7 +392,11 @@
<button type="button" id="commissions" class="btn btn-block bg-blue waves-effect">Commissions</button> <button type="button" id="commissions" class="btn btn-block bg-blue waves-effect">Commissions</button>
<button type="button" id="in_duties" class="btn btn-block bg-blue waves-effect">In Duties</button> <button type="button" id="in_duties" class="btn btn-block bg-blue waves-effect">In Duties</button>
<%if @membership.discount && @obj_sale.customer.membership_id %>
<button type="button" class="btn btn-block bg-blue waves-effect" data-toggle="modal" data-target="#paymentModal">First Bill</button>
<%else%>
<button type="button" id="first_bill" class="btn btn-block bg-blue waves-effect">First Bill</button> <button type="button" id="first_bill" class="btn btn-block bg-blue waves-effect">First Bill</button>
<%end%>
<button type="button" id="pay" class="btn btn-block bg-blue waves-effect">Pay</button> <button type="button" id="pay" class="btn btn-block bg-blue waves-effect">Pay</button>
<button type="button" id="void" class="btn btn-block bg-blue waves-effect" active="<%= can? :overall_void, :void %>"> Void</button> <button type="button" id="void" class="btn btn-block bg-blue waves-effect" active="<%= can? :overall_void, :void %>"> Void</button>
<% end %> <% end %>
@@ -398,6 +406,34 @@
<% else %> <% else %>
<button type="button" id="check_in" class="btn btn-block bg-blue waves-effect"><%= t("views.btn.check_in") %></button> <button type="button" id="check_in" class="btn btn-block bg-blue waves-effect"><%= t("views.btn.check_in") %></button>
<% end %> <% end %>
<span class="hidden" id="member_discount"><%= @membership.discount%></span>
<span class="hidden" id="membership_id"><%= @obj_sale.customer.membership_id rescue 0%></span>
<div class="modal fade" id="paymentModal" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title" id="paymentModalLabel">Choose Payment</h4>
</div>
<div class="modal-body">
<select class="form-control show-tick payment_method" id="payment_method" >
<option value="Cash">Cash</option>
<% @payment_methods.each do |pay| %>
<option value="<%= pay.payment_method %>">
<%= pay.payment_method %>
</option>
<%end %>
</select>
</div>
<div class="modal-footer p-r-30">
<button type="button" class="btn btn-link btn-danger waves-effect" data-dismiss="modal">CLOSE</button>
&nbsp; &nbsp;
<button type="button" class="btn btn-link bg-blue waves-effect choose_payment">SAVE</button>
</div>
</div>
</div>
</div>
</div> </div>
</div> </div>
</div> </div>
@@ -516,12 +552,10 @@
return false; return false;
}); });
}); });
// Print for first bill // Print for first bill
$("#first_bill").on('click', function () { $("#first_bill").on('click', function () {
var sale_id = $('#sale_id').val(); var sale_id = $('#sale_id').val();
var ajax_url = "/origami/sale/" + sale_id + "/first_bill"; var ajax_url = "/origami/sale/" + sale_id + "/first_bill";
$.ajax({ $.ajax({
type: "GET", type: "GET",
url: ajax_url, url: ajax_url,
@@ -530,6 +564,41 @@
} }
}); });
}); });
$(".choose_payment").on('click', function () {
$( "#loading_wrapper").show();
var sale_id = $('#sale_id').val();
type = $('.payment_method').val();
calculate_member_discount(sale_id,type);
var ajax_url = "/origami/sale/" + sale_id + "/first_bill";
$.ajax({
type: "GET",
url: ajax_url,
success: function (result) {
$( "#loading_wrapper" ).hide();
location.reload();
}
});
});
function calculate_member_discount(sale_id,type) {
var sub_total = $('#sub-total').text();
if (type == "Cash") {
is_card = false
}else{
is_card = true
}
$.ajax({
type: "POST",
url: "/origami/" + sale_id + "/member_discount",
data: {'sale_id':sale_id, 'sub_total':sub_total,'is_card':is_card },
async: false,
success:function(result){
}
});
}
// $('#pay').on('click', function () { // $('#pay').on('click', function () {
// var sale_id = $('#sale_id').val(); // var sale_id = $('#sale_id').val();

View File

@@ -94,11 +94,11 @@
</tr> </tr>
<tr> <tr>
<td class="charges-name"><strong>Rounding Adj:</strong></td> <td class="charges-name"><strong>Rounding Adj:</strong></td>
<td class="item-attr"><strong><span id="rounding_adj"><%=@rounding_adj rescue 0%></span></strong></td> <td class="item-attr"><strong><%= @sale_data.rounding_adjustment rescue 0%></strong></td>
</tr> </tr>
<tr> <tr>
<td class="charges-name"><strong>Grand Total</strong></td> <td class="charges-name"><strong>Grand Total</strong></td>
<td class="item-attr"><strong><span><%=@sale_data.grand_total+ @rounding_adj rescue 0%></span></strong></td> <td class="item-attr"><strong><span><%=@sale_data.grand_total rescue 0%></span></strong></td>
</tr> </tr>
<%if @balance > 0%> <%if @balance > 0%>
<tr> <tr>
@@ -124,7 +124,7 @@
<div class="col-md-4"> <div class="col-md-4">
<strong> <strong>
<span id="grand_total" class="hidden"><%= @sale_data.grand_total rescue 0%></span> <span id="grand_total" class="hidden"><%= @sale_data.grand_total rescue 0%></span>
<span id="amount_due"><%= @sale_data.grand_total + @rounding_adj rescue 0%></span></strong> <span id="amount_due"><%= @sale_data.grand_total rescue 0%></span></strong>
</div> </div>
</div> </div>
@@ -223,7 +223,7 @@
<!-- <br> --> <!-- <br> -->
<div class="row m-l-5 m-r-5"> <div class="row m-l-5 m-r-5">
<div class="col-md-8"><strong>Balance</strong></div> <div class="col-md-8"><strong>Balance</strong></div>
<div class="col-md-4"><strong><span id='balance'><%= @sale_data.grand_total+ @rounding_adj rescue 0 %></span></strong></div> <div class="col-md-4"><strong><span id='balance'><%= @sale_data.grand_total rescue 0 %></span></strong></div>
</div> </div>
<!-- <br> --> <!-- <br> -->
</div> </div>