change order reservation

This commit is contained in:
phyusin
2018-05-08 17:28:09 +06:30
parent 6de16ee4fe
commit 1716d14df3
11 changed files with 430 additions and 193 deletions

View File

@@ -138,7 +138,7 @@ class OrderReservation < ApplicationRecord
end
end
def self.send_status_to_ordering(url,ref_no,status,waiting_time=nil)
def self.send_status_to_ordering(url,ref_no,status,waiting_time=nil,min_type=nil,reason=nil)
base_url = 'https://api.doemal.com'
token = '3T-tnlYtFJ-5Z1vY6XQqxQ'
order_reservation = Lookup.collection_of("order_reservation")
@@ -158,7 +158,9 @@ class OrderReservation < ApplicationRecord
post_url = base_url + url
if !waiting_time.nil?
send_params = {id: ref_no, waiting_time: waiting_time, status: status}
send_params = {id: ref_no,type: min_type, waiting_time: waiting_time, status: status}
elsif !reason.nil?
send_params = {id: ref_no, status: status, reason: reason}
else
send_params = {id: ref_no, status: status}
end
@@ -185,7 +187,7 @@ class OrderReservation < ApplicationRecord
return response
end
def self.update_order_reservation(id, sale_id, status, expected_waiting_time=nil)
def self.update_order_reservation(id, sale_id, status, expected_waiting_time=nil, remark=nil, access_code=nil, current_user=nil)
order_reservation = OrderReservation.find(id)
if sale_id.present?
order_reservation.sale_id = sale_id
@@ -194,7 +196,52 @@ class OrderReservation < ApplicationRecord
order_reservation.expected_waiting_time = DateTime.parse(expected_waiting_time).utc
end
order_reservation.status = status
if !remark.nil?
order_reservation.order_remark = remark
end
order_reservation.save
if !order_reservation.sale_id.nil? && status == "rejected"
void_doemal_payment(order_reservation.sale_id, remark, access_code, current_user)
end
end
def self.void_doemal_payment(sale_id, remark, access_code, current_user)
if Sale.exists?(sale_id)
sale = Sale.find_by_sale_id(sale_id)
# 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.payment_status = 'void'
sale.sale_status = 'void'
sale.save
# FOr Sale Audit
action_by = current_user.name
approved_by = Employee.find_by_emp_id(access_code)
# 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,sale.cashier_id, approved_by.name,remark,"SALEVOID" )
# update complete order items in oqs
SaleOrder.where("sale_id = '#{ sale_id }'").find_each do |sodr|
AssignedOrderItem.where("order_id = '#{ sodr.order_id }'").find_each do |aoi|
aoi.delivery_status = 1
aoi.save
end
end
end
end
def self.get_count_on_order