payment method changed in report

This commit is contained in:
yarzar_code
2020-07-09 14:46:18 +06:30
parent 8f5ea9417d
commit 3d2d18a330
26 changed files with 1836 additions and 1976 deletions

View File

@@ -5,7 +5,7 @@ class Origami::OthersPaymentsController < BaseOrigamiController
@cashier_type = params[:type]
path = request.fullpath
if path.include? ("credit_payment")
@payment_method_setting = PaymentMethodSetting.where("LOWER(payment_method) in ('mpu','visa','master','jcb','unionpay','alipay') and is_active='1'")
@payment_method_setting = PaymentMethodSetting.where("is_active='1'")
else
@payment_method_setting = PaymentMethodSetting.all
end
@@ -39,7 +39,92 @@ class Origami::OthersPaymentsController < BaseOrigamiController
# end
end
def new
@sale_id = params[:sale_id]
@cashier_type = params[:type]
payment_methods = PaymentMethodSetting.pluck(:payment_method)
if @payment_method = payment_methods.find { |m| m.parameterize == params[:method] }
path = request.fullpath
# limit master_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
@shop = Shop.current_shop
@paid_amount = 0
@can_paid = 0
@rounding_adj = 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 @shop.is_rounding_adj
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 == @payment_method.parameterize
@paid_amount = @paid_amount + sale_payment.payment_amount
else
others = others + sale_payment.payment_amount
end
end
@can_paid = total - @paid_amount - 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
else
if path.include? ("credit_payment")
redirect_to "sale/#{@sale_id}/#{@cashier_type}/payment/others_payment"
else
redirect_to "sale/#{@sale_id}/#{@cashier_type}/credit_payment/others_payment"
end
end
end
def create
cash = params[:amount]
sale_id = params[:sale_id]
ref_no = params[:ref_no]
payment_method = params[:method]
if PaymentMethodSetting.pluck(:payment_method).map(&:parameterize).include? payment_method
if saleObj = Sale.find(sale_id)
shop_details = Shop.current_shop
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, payment_method, ref_no, payment_for)
end
end
end
end