add credit note payment process for online order
This commit is contained in:
@@ -48,4 +48,30 @@ class Origami::CreditPaymentsController < BaseOrigamiController
|
||||
end
|
||||
end
|
||||
|
||||
def create_credit_payment
|
||||
arr_sale = JSON.parse(params[:data])
|
||||
if !ShiftSale.current_shift.nil?
|
||||
if !arr_sale.nil?
|
||||
arr_sale.each do |arr_sale|
|
||||
arr_sale.each do |sale|
|
||||
if(Sale.exists?(sale[0]))
|
||||
saleObj = Sale.find(sale[0])
|
||||
remark = "credit note payment for Receipt No #{saleObj.receipt_no}"
|
||||
sale_payment = SalePayment.new
|
||||
@status, @sale = sale_payment.process_payment(saleObj, current_user, sale[1], "cash", remark, true)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
if @status
|
||||
render :json => {status: true}
|
||||
else
|
||||
render :json => {status: false, message: 'Some error occurred!'}
|
||||
end
|
||||
else
|
||||
render :json => {status: false, message: 'No current shift open for this employee!'}
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
@@ -2,6 +2,7 @@ class Reports::CreditPaymentController < BaseReportController
|
||||
authorize_resource :class => false
|
||||
def index
|
||||
@filter_for_credit = [['All',''],['Paid','paid'],['Unpaid','unpaid']]
|
||||
@sources = [["All",''], ["Cashier","cashier"],["Quick Service","quick_service"],["Online Order","doemal_order"]]
|
||||
from, to = get_date_range_from_params
|
||||
|
||||
@shift_sale_range = Sale.get_by_shift_sale_by_item(from,to,Sale::SALE_STATUS_COMPLETED)
|
||||
@@ -18,7 +19,8 @@ authorize_resource :class => false
|
||||
end
|
||||
|
||||
@filter = params[:filter_check]
|
||||
@sale_data = Sale.get_by_shift_sale_credit_payment(@shift_sale_range,@shift,from,to,@filter)
|
||||
@order_source = params[:order_source]
|
||||
@sale_data = Sale.get_by_shift_sale_credit_payment(@shift_sale_range,@shift,from,to,@filter,@order_source)
|
||||
|
||||
@from = from
|
||||
@to = to
|
||||
|
||||
@@ -6,27 +6,34 @@ class Transactions::CreditNotesController < ApplicationController
|
||||
# GET /transactions/sales
|
||||
# GET /transactions/sales.json
|
||||
def index
|
||||
|
||||
@sources = [["All",''], ["Cashier","cashier"],["Quick Service","quick_service"],["Online Order","doemal_order"]]
|
||||
@customers = Customer.all
|
||||
|
||||
filter = params[:filter]
|
||||
customer = params[:customer]
|
||||
from = params[:from]
|
||||
to = params[:to]
|
||||
|
||||
if filter.nil? && from.nil? && to.nil? && customer.nil?
|
||||
@credit_notes = Sale.where('payment_status = ?', Sale::SALE_STATUS_OUTSTANDING)
|
||||
@credit_notes = Kaminari.paginate_array(@credit_notes).page(params[:page]).per(20)
|
||||
else
|
||||
sale = Sale.search_credit_sales(customer,filter,from,to)
|
||||
if sale.count > 0
|
||||
@credit_notes = sale
|
||||
@credit_notes = Kaminari.paginate_array(@credit_notes).page(params[:page]).per(20)
|
||||
else
|
||||
@credit_notes = 0
|
||||
end
|
||||
end
|
||||
filter = params[:filter]
|
||||
customer = params[:customer]
|
||||
from = params[:from]
|
||||
to = params[:to]
|
||||
order_source = params[:order_source]
|
||||
|
||||
if filter.nil? && from.nil? && to.nil? && customer.nil? && order_source.nil?
|
||||
@credit_notes = Sale.select("sales.*, orders.source")
|
||||
.joins("JOIN sale_payments sp on sp.sale_id = sales.sale_id")
|
||||
.where("(CASE WHEN (sales.grand_total + sales.amount_changed)=(select SUM(sale_payments.payment_amount)
|
||||
FROM sale_payments WHERE sale_payments.sale_id=sales.sale_id AND sale_payments.payment_method!='creditnote')
|
||||
THEN NULL ELSE payment_method='creditnote' END)")
|
||||
.joins(" JOIN bookings ON bookings.sale_id=sales.sale_id")
|
||||
.joins(" JOIN booking_orders ON booking_orders.booking_id=bookings.booking_id")
|
||||
.joins(" JOIN orders ON orders.order_id=booking_orders.order_id")
|
||||
@credit_notes = Kaminari.paginate_array(@credit_notes).page(params[:page]).per(20)
|
||||
else
|
||||
sale = Sale.search_credit_sales(customer,filter,from,to,order_source)
|
||||
if !sale.nil?
|
||||
@credit_notes = sale
|
||||
@credit_notes = Kaminari.paginate_array(@credit_notes).page(params[:page]).per(20)
|
||||
else
|
||||
@credit_notes = 0
|
||||
end
|
||||
end
|
||||
respond_to do |format|
|
||||
format.html # index.html.erb
|
||||
format.json { render json: @credit_notes }
|
||||
|
||||
Reference in New Issue
Block a user