foodcourt apis for app
This commit is contained in:
60
app/controllers/api/foodcourt/void_controller.rb
Normal file
60
app/controllers/api/foodcourt/void_controller.rb
Normal file
@@ -0,0 +1,60 @@
|
||||
class Api::Foodcourt::VoidController < Api::ApiController
|
||||
|
||||
def create
|
||||
sale_id = params[:sale_id]
|
||||
order_source = params[:type] || "foodcourt" #tax profile source
|
||||
access_code = params[:access_code]
|
||||
remark = params[:remark]
|
||||
|
||||
@sale = Sale.find_by_sale_id(sale_id)
|
||||
|
||||
if @sale.discount_type == "member_discount"
|
||||
@sale.update_attributes(total_discount: 0)
|
||||
@sale.compute_by_sale_items(0, nil, order_source)
|
||||
end
|
||||
|
||||
# update count for shift @sale
|
||||
if(@sale.sale_status == "completed")
|
||||
if @sale.shift_sale_id != nil
|
||||
shift = ShiftSale.find(@sale.shift_sale_id)
|
||||
shift.calculate(sale_id, "void")
|
||||
end
|
||||
else
|
||||
# void before @sale payment complete
|
||||
if @sale.shift_sale_id != nil
|
||||
shift = ShiftSale.find(@sale.shift_sale_id)
|
||||
shift.total_void = shift.total_void + @sale.grand_total
|
||||
shift.save
|
||||
end
|
||||
end
|
||||
|
||||
@sale.rounding_adjustment = 0.0
|
||||
@sale.payment_status = 'void'
|
||||
@sale.sale_status = 'void'
|
||||
@sale.save
|
||||
|
||||
if table = @sale.booking.dining_facility
|
||||
unless table.current_bookings.exists?
|
||||
table.update_attributes(status: 'available')
|
||||
end
|
||||
end
|
||||
|
||||
# FOr Sale Audit
|
||||
action_by = current_login_employee.name
|
||||
if access_code != "null" && current_login_employee.role == "cashier"
|
||||
action_by = Employee.find_by_emp_id(access_code).name
|
||||
end
|
||||
|
||||
# remark = "Void Sale ID #{sale_id} | Receipt No #{@sale.receipt_no} | Receipt No #{@sale.receipt_no} | Table ->#{table.name}"
|
||||
sale_audit = SaleAudit.record_audit_for_edit(sale_id, current_login_employee.name, action_by, remark, "SALEVOID" )
|
||||
|
||||
if !@sale.sale_payments.nil?
|
||||
membership_response = @sale.paymal_payment_void
|
||||
Rails.logger.debug "---------Paymal Payment Void response in VoidController"
|
||||
Rails.logger.debug membership_response.to_json
|
||||
end
|
||||
|
||||
@status = true
|
||||
@message = "Void succeed"
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user