From 802b51eab45b31a7f743b95265dce1f9f093f81a Mon Sep 17 00:00:00 2001 From: Aung Myo Date: Wed, 20 Dec 2017 17:11:27 +0630 Subject: [PATCH] update roundign adj and member discount in first bill --- app/controllers/origami/home_controller.rb | 4 + .../origami/payments_controller.rb | 43 +++++--- app/pdf/receipt_bill_pdf.rb | 2 +- app/views/origami/home/show.html.erb | 97 ++++++++++++++++--- app/views/origami/payments/show.html.erb | 8 +- 5 files changed, 122 insertions(+), 32 deletions(-) diff --git a/app/controllers/origami/home_controller.rb b/app/controllers/origami/home_controller.rb index 47ec2383..d3c1db70 100755 --- a/app/controllers/origami/home_controller.rb +++ b/app/controllers/origami/home_controller.rb @@ -22,6 +22,10 @@ class Origami::HomeController < BaseOrigamiController @status_sale = "" @sale_array = Array.new + @shop = Shop::ShopDetail + @membership = MembershipSetting.find_by_discount(1) + @payment_methods = PaymentMethodSetting.all + @dining.bookings.active.each do |booking| if booking.sale_id.nil? && booking.booking_status != 'moved' @order_items = Array.new diff --git a/app/controllers/origami/payments_controller.rb b/app/controllers/origami/payments_controller.rb index eecb8dcf..b01ff09a 100755 --- a/app/controllers/origami/payments_controller.rb +++ b/app/controllers/origami/payments_controller.rb @@ -26,7 +26,21 @@ class Origami::PaymentsController < BaseOrigamiController #shop detail shop_details = Shop::ShopDetail # 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 rebate = MembershipSetting.find_by_rebate(1) if customer.membership_id != nil && rebate @@ -59,9 +73,13 @@ class Origami::PaymentsController < BaseOrigamiController # rounding adjustment if shop_details.is_rounding_adj - new_total = Sale.get_rounding_adjustment(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) + 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) + rounding_adj = new_total-saleObj.grand_total + saleObj.update_attributes(grand_total: new_total,old_grand_total: saleObj.grand_total,rounding_adjustment:rounding_adj) + end end #end rounding adjustment @@ -278,14 +296,13 @@ class Origami::PaymentsController < BaseOrigamiController @shop = Shop.find_by_id(1) if @shop.is_rounding_adj - new_total = Sale.get_rounding_adjustment(saleObj.grand_total) - else - new_total = saleObj.grand_total + 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) + rounding_adj = new_total-saleObj.grand_total + saleObj.update_attributes(grand_total: new_total,old_grand_total: saleObj.grand_total,rounding_adjustment:rounding_adj) + end end - - rounding_adj = new_total-saleObj.grand_total - - saleObj.update_attributes(grand_total: new_total,old_grand_total: saleObj.grand_total,rounding_adjustment:rounding_adj) - end -end +end \ No newline at end of file diff --git a/app/pdf/receipt_bill_pdf.rb b/app/pdf/receipt_bill_pdf.rb index ede3fb26..107e3163 100755 --- a/app/pdf/receipt_bill_pdf.rb +++ b/app/pdf/receipt_bill_pdf.rb @@ -20,7 +20,7 @@ class ReceiptBillPdf < Prawn::Document # @double = @qty_width * 1.3 # @half_qty = @qty_width / 2 #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 if printer_settings.font != "" diff --git a/app/views/origami/home/show.html.erb b/app/views/origami/home/show.html.erb index 2946791f..5dd6034c 100755 --- a/app/views/origami/home/show.html.erb +++ b/app/views/origami/home/show.html.erb @@ -1,4 +1,7 @@
+
@@ -264,7 +267,7 @@ - + <% if @obj_sale != nil && @obj_sale.discount_type == 'member_discount' %> @@ -291,7 +294,8 @@ + <%= @obj_sale.rounding_adjustment + %> @@ -387,8 +391,12 @@ - - + + <%if @membership.discount && @obj_sale.customer.membership_id %> + + <%else%> + + <%end%> <% end %> @@ -398,6 +406,34 @@ <% else %> <% end %> + + + + @@ -516,20 +552,53 @@ return false; }); }); - // Print for first bill $("#first_bill").on('click', function () { var sale_id = $('#sale_id').val(); - var ajax_url = "/origami/sale/" + sale_id + "/first_bill"; - - $.ajax({ - type: "GET", - url: ajax_url, - success: function (result) { - location.reload(); - } - }); + var ajax_url = "/origami/sale/" + sale_id + "/first_bill"; + $.ajax({ + type: "GET", + url: ajax_url, + success: function (result) { + location.reload(); + } + }); }); + $(".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 () { // var sale_id = $('#sale_id').val(); diff --git a/app/views/origami/payments/show.html.erb b/app/views/origami/payments/show.html.erb index 7359397a..43eb3248 100755 --- a/app/views/origami/payments/show.html.erb +++ b/app/views/origami/payments/show.html.erb @@ -94,11 +94,11 @@ - + - + <%if @balance > 0%> @@ -124,7 +124,7 @@
- <%= @sale_data.grand_total + @rounding_adj rescue 0%> + <%= @sale_data.grand_total rescue 0%>
@@ -223,7 +223,7 @@
Balance
-
<%= @sale_data.grand_total+ @rounding_adj rescue 0 %>
+
<%= @sale_data.grand_total rescue 0 %>
Sub Total:<%= sub_total %><%= sub_total %>
Rounding Adj: - <%= @obj_sale.rounding_adjustment rescue 0 %>
Grand Total:
Rounding Adj:<%=@rounding_adj rescue 0%><%= @sale_data.rounding_adjustment rescue 0%>
Grand Total<%=@sale_data.grand_total+ @rounding_adj rescue 0%><%=@sale_data.grand_total rescue 0%>