From 0b46206b62eb7db33a45b2cc96d086e9ccff12e0 Mon Sep 17 00:00:00 2001 From: Aung Myo Date: Tue, 12 Dec 2017 17:52:05 +0630 Subject: [PATCH 1/3] update rebate double and old balance --- .../origami/payments_controller.rb | 9 ++++-- app/models/printer/receipt_printer.rb | 4 +-- app/models/sale_audit.rb | 19 ++++++++++++ app/models/sale_payment.rb | 2 +- app/pdf/receipt_bill_pdf.rb | 30 +++++++------------ 5 files changed, 39 insertions(+), 25 deletions(-) diff --git a/app/controllers/origami/payments_controller.rb b/app/controllers/origami/payments_controller.rb index 5b0db19f..4225b3dd 100755 --- a/app/controllers/origami/payments_controller.rb +++ b/app/controllers/origami/payments_controller.rb @@ -91,8 +91,9 @@ class Origami::PaymentsController < BaseOrigamiController if customer.membership_id != nil && rebate member_info = Customer.get_member_account(customer) rebate_amount = Customer.get_membership_transactions(customer,saleObj.receipt_no) + current_balance = SaleAudit.paymal_search(sale_id) end - + # get printer info print_settings=PrintSetting.find_by_unique_code(unique_code) # Calculate Food and Beverage Total @@ -100,7 +101,7 @@ class Origami::PaymentsController < BaseOrigamiController discount_price_by_accounts = SaleItem.get_discount_price_by_accounts(saleObj.sale_items) printer = Printer::ReceiptPrinter.new(print_settings) - printer.print_receipt_bill(print_settings,cashier_terminal,saleObj.sale_items,saleObj,customer.name, item_price_by_accounts, discount_price_by_accounts, member_info,rebate_amount,shop_details, "Paid") + printer.print_receipt_bill(print_settings,cashier_terminal,saleObj.sale_items,saleObj,customer.name, item_price_by_accounts, discount_price_by_accounts, member_info,rebate_amount,shop_details, "Paid",current_balance) end end @@ -212,6 +213,7 @@ class Origami::PaymentsController < BaseOrigamiController if customer.membership_id != nil && rebate member_info = Customer.get_member_account(customer) rebate_amount = Customer.get_membership_transactions(customer,saleObj.receipt_no) + current_balance = SaleAudit.paymal_search(sale_id) end # get printer info print_settings=PrintSetting.find_by_unique_code(unique_code) @@ -221,7 +223,7 @@ class Origami::PaymentsController < BaseOrigamiController discount_price_by_accounts = SaleItem.get_discount_price_by_accounts(saleObj.sale_items) printer = Printer::ReceiptPrinter.new(print_settings) - printer.print_receipt_bill(print_settings,cashier_terminal,saleObj.sale_items,saleObj,customer.name, item_price_by_accounts, discount_price_by_accounts, member_info,rebate_amount,shop_details, "Re-print") + printer.print_receipt_bill(print_settings,cashier_terminal,saleObj.sale_items,saleObj,customer.name, item_price_by_accounts, discount_price_by_accounts, member_info,rebate_amount,shop_details, "Re-print",current_balance) end def foc @@ -230,6 +232,7 @@ class Origami::PaymentsController < BaseOrigamiController sub_total = params[:sub_total] member_info = nil rebate_amount = nil + current_balance = nil if(Sale.exists?(sale_id)) saleObj = Sale.find(sale_id) diff --git a/app/models/printer/receipt_printer.rb b/app/models/printer/receipt_printer.rb index 40a60201..78aa204e 100755 --- a/app/models/printer/receipt_printer.rb +++ b/app/models/printer/receipt_printer.rb @@ -65,12 +65,12 @@ class Printer::ReceiptPrinter < Printer::PrinterWorker end #Bill Receipt Print - def print_receipt_bill(printer_settings,cashier_terminal,sale_items,sale_data, customer_name, item_price_by_accounts, discount_price_by_accounts, member_info = nil,rebate_amount=nil,shop_details, printed_status) + def print_receipt_bill(printer_settings,cashier_terminal,sale_items,sale_data, customer_name, item_price_by_accounts, discount_price_by_accounts, member_info = nil,rebate_amount=nil,shop_details, printed_status,balance) #Use CUPS service #Generate PDF #Print - pdf = ReceiptBillPdf.new(printer_settings, sale_items, sale_data, customer_name, item_price_by_accounts, discount_price_by_accounts, member_info,rebate_amount,shop_details,printed_status) + pdf = ReceiptBillPdf.new(printer_settings, sale_items, sale_data, customer_name, item_price_by_accounts, discount_price_by_accounts, member_info,rebate_amount,shop_details,printed_status,balance) # print as print copies in printer setting count = printer_settings.print_copies diff --git a/app/models/sale_audit.rb b/app/models/sale_audit.rb index 2a986807..55541851 100755 --- a/app/models/sale_audit.rb +++ b/app/models/sale_audit.rb @@ -89,6 +89,25 @@ class SaleAudit < ApplicationRecord sale_audit.save! end + def self.paymal_search(sale_id) + paymal = SaleAudit.where("sale_id =? and action = 'PAYMAL'",sale_id) + remark = paymal[0].remark.split("}") + response = "["+remark[0]+'}]' + response = JSON.parse(response) + puts response + if response[0]["status"] == true + if response[0]["current_rebate_amount"].present? + amount = response[0]["current_rebate_amount"] + else + amount = response[0]["current_balance_amount"] + end + else + amount = nil + end + return amount + + end + private def generate_custom_id self.sale_audit_id = SeedGenerator.generate_id(self.class.name, "SAI") diff --git a/app/models/sale_payment.rb b/app/models/sale_payment.rb index 9fb4e9ae..ca46d8fe 100755 --- a/app/models/sale_payment.rb +++ b/app/models/sale_payment.rb @@ -327,7 +327,7 @@ class SalePayment < ApplicationRecord response = rebat(sObj) #record an payment in sale-audit - remark = "#{response} Redeem- for Customer #{self.sale.customer_id} | Sale Id [#{self.sale.sale_id}]| pay amount -> #{self.received_amount} " + remark = "#{response} Rebate- for Customer #{self.sale.customer_id} | Sale Id [#{self.sale.sale_id}]| pay amount -> #{self.received_amount} " sale_audit = SaleAudit.record_paymal(self.sale.sale_id, remark, "Cashier") if !response.nil? diff --git a/app/pdf/receipt_bill_pdf.rb b/app/pdf/receipt_bill_pdf.rb index c48dfa7f..dfd67d89 100755 --- a/app/pdf/receipt_bill_pdf.rb +++ b/app/pdf/receipt_bill_pdf.rb @@ -1,7 +1,7 @@ class ReceiptBillPdf < Prawn::Document include ActionView::Helpers::NumberHelper attr_accessor :label_width,:price_column_width,:page_width, :page_height, :margin, :price_width, :item_width, :header_font_size, :item_font_size,:item_height,:qty_width,:total_width,:item_description_width, :description_width, :price_num_width - def initialize(printer_settings, sale_items, sale_data, customer_name, item_price_by_accounts, discount_price_by_accounts, member_info = nil,rebate_amount = nil,shop_details, printed_status) + def initialize(printer_settings, sale_items, sale_data, customer_name, item_price_by_accounts, discount_price_by_accounts, member_info = nil,rebate_amount = nil,shop_details, printed_status,current_balance) self.page_width = printer_settings.page_width self.page_height = printer_settings.page_height self.margin = 5 @@ -55,7 +55,7 @@ class ReceiptBillPdf < Prawn::Document if member_info != nil - member_info(member_info,customer_name,rebate_amount,sale_data,printer_settings.precision,delimiter) + member_info(member_info,customer_name,rebate_amount,sale_data,printer_settings.precision,delimiter,current_balance) end customer(customer_name) @@ -286,7 +286,7 @@ class ReceiptBillPdf < Prawn::Document end # show member information - def member_info(member_info,customer_name,rebate_amount,sale_data,precision,delimiter) + def member_info(member_info,customer_name,rebate_amount,sale_data,precision,delimiter,current_balance) if rebate_amount != nil if rebate_amount["status"] == true stroke_horizontal_rule @@ -342,22 +342,15 @@ class ReceiptBillPdf < Prawn::Document text "#{number_with_precision(redeem, :precision => precision.to_i, :delimiter => delimiter)}", :size => self.item_font_size,:align => :right end - - if redeem == 0 - old = total - rebate_balance - else - # if redeem_count == 0 - old = balance + redeem - # end - end - - move_down 5 + if current_balance != nil + move_down 5 y_position = cursor - bounding_box([0,y_position], :width =>self.item_description_width, :height => self.item_height) do - text "Old Balance", :size => self.item_font_size,:align => :left - end - bounding_box([self.item_description_width,y_position], :width =>self.label_width) do - text "#{number_with_precision(old, :precision => precision.to_i, :delimiter => delimiter)}", :size => self.item_font_size,:align => :right + bounding_box([0,y_position], :width =>self.item_description_width, :height => self.item_height) do + text "Old Balance", :size => self.item_font_size,:align => :left + end + bounding_box([self.item_description_width,y_position], :width =>self.label_width) do + text "#{number_with_precision(current_balance, :precision => precision.to_i, :delimiter => delimiter)}", :size => self.item_font_size,:align => :right + end end end @@ -371,7 +364,6 @@ class ReceiptBillPdf < Prawn::Document total_balance = total_balance + res["balance"] end - end move_down 5 y_position = cursor From fa5a9053ac91819cec95a58f405f400d93bb2cf5 Mon Sep 17 00:00:00 2001 From: Aung Myo Date: Tue, 12 Dec 2017 17:56:46 +0630 Subject: [PATCH 2/3] update discount by card payment 5% --- app/controllers/origami/discounts_controller.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/app/controllers/origami/discounts_controller.rb b/app/controllers/origami/discounts_controller.rb index e0739e88..f580a92f 100755 --- a/app/controllers/origami/discounts_controller.rb +++ b/app/controllers/origami/discounts_controller.rb @@ -180,6 +180,7 @@ class Origami::DiscountsController < BaseOrigamiController end generic_customer_id = sale.customer.membership_id + account_no = sale.customer.paypar_account_no receipt_no = sale.receipt_no membership = MembershipSetting.find_by_membership_type("paypar_url") memberaction = MembershipAction.find_by_membership_type("member_discount") From f908c8e036ebd06dfaf33fbfd0df2be0527d31b1 Mon Sep 17 00:00:00 2001 From: Aung Myo Date: Wed, 13 Dec 2017 11:04:54 +0630 Subject: [PATCH 3/3] update add subcategory in addorder --- app/assets/javascripts/addorder.js | 46 ++++++++++++++++++++- app/assets/stylesheets/addorder.scss | 12 +++++- app/views/origami/addorders/detail.html.erb | 17 +++----- 3 files changed, 61 insertions(+), 14 deletions(-) diff --git a/app/assets/javascripts/addorder.js b/app/assets/javascripts/addorder.js index 5cacee2e..0439efcb 100755 --- a/app/assets/javascripts/addorder.js +++ b/app/assets/javascripts/addorder.js @@ -73,8 +73,9 @@ $(function() { } //end show list function //click menu sidebar menu category - $(".menu_category").on("click", function(){ - var menu_id = $(this).find(".menu-id").text(); + // $(".menu_category").on("click", function(){ + $(document).on('click', '.menu_category', function(event){ + var menu_id = $(this).attr("data-id"); var url = "get_menu_category/"+menu_id; show_menu_item_list(url); }); @@ -918,6 +919,47 @@ $(function() { } }); + //click menu sidebar menu category + + $(".sub_click").on("click", function(){ + var menu_id = $(this).attr("data-id"); + var url = "get_menu_sub_category/"+menu_id; + sub_category = $(this).find('.sub_category_list'); + show_sub_category_list(url,sub_category); + }); + //End menu category Click + + //show menu item list when click menu category + function show_sub_category_list(url,sub_category){ + + var menu_list = $('.sub_category_list'); + menu_list.empty(); + //Start Ajax + $.ajax({ + type: "GET", + url: url, + data: {}, + dataType: "json", + success: function(data) { + var sub_category_list = $('.sub_category_list'); + sub_category_list.empty(); + data = data.sub_category; + + if (data.length>0) { + $(sub_category).removeClass('hidden'); + for(var i in data) { + + row = '' ; + $(sub_category).append(row); + //end is_sub_item false + } + } + } + }); + //end Ajax + } /* $("input").keypress(function(){ $("span").text(i += 1); });*/ diff --git a/app/assets/stylesheets/addorder.scss b/app/assets/stylesheets/addorder.scss index 03a13c06..bf09f726 100755 --- a/app/assets/stylesheets/addorder.scss +++ b/app/assets/stylesheets/addorder.scss @@ -69,7 +69,17 @@ section .content{ font-weight: bold; border-color: #fff #fff #fff #54A5AF; } - +.sub_category_list{ + background:#fff; + margin-top:8px; +} +.sub_category_list > li{ + list-style:none; + margin-left:-40px; +} +.sub_category_list > li > a.nav-link{ + border-bottom:1px solid #eee; +} .custom-modal-dialog { left:auto; right: auto; diff --git a/app/views/origami/addorders/detail.html.erb b/app/views/origami/addorders/detail.html.erb index 9021ecb5..25c1e1cc 100755 --- a/app/views/origami/addorders/detail.html.erb +++ b/app/views/origami/addorders/detail.html.erb @@ -9,20 +9,15 @@