class Origami::MpuController < BaseOrigamiController def index @sale_id = params[:sale_id] @cashier_type = params[:type] path = request.fullpath # limit mpu_amount if path.include? ("credit_payment") sale_data = Sale.get_sale_data_for_other_payment_credit(@sale_id) else sale_data = Sale.find_by_sale_id(@sale_id) end total = 0 @mpucount = 0 @rounding_adj = 0 @can_mpu = 0 @member_discount = 0 @sub_total = 0 @membership_id = nil @receipt_no = nil if !sale_data.nil? total = sale_data.grand_total others = 0 if current_shop.is_rounding_adj && (!path.include? ("credit_payment")) new_total = Sale.get_rounding_adjustment(sale_data.grand_total) else new_total = sale_data.grand_total end @rounding_adj = new_total-sale_data.grand_total if path.include? ("credit_payment") sale_payment_data = SalePayment.get_sale_payment_for_credit(sale_data) else sale_payment_data = sale_data.sale_payments end sale_payment_data.each do |sale_payment| if sale_payment.payment_method == "mpu" @mpucount = @mpucount + sale_payment.payment_amount else others = others + sale_payment.payment_amount end end @can_mpu = total - @mpucount - others @member_discount = MembershipSetting.find_by_discount(1) @sub_total = sale_data.total_amount @membership_id = sale_data.customer.membership_id #for bank integration @receipt_no = sale_data.receipt_no end bank_integration = Lookup.collection_of('bank_integration') @bank_integration = 0 if !bank_integration[0].nil? @bank_integration = bank_integration[0][1] end end def create cash = params[:amount] sale_id = params[:sale_id] ref_no = params[:ref_no] if(Sale.exists?(sale_id)) saleObj = Sale.find(sale_id) # 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) # end # saleObj = Sale.find(sale_id) path = request.fullpath payment_for = false if path.include? ("credit_payment") payment_for = true end sale_payment = SalePayment.new @status, @sale = sale_payment.process_payment(saleObj, current_user, cash, "mpu",ref_no,payment_for) end end end