116 lines
3.4 KiB
Ruby
Executable File
116 lines
3.4 KiB
Ruby
Executable File
class SaleAudit < ApplicationRecord
|
|
self.primary_key = "sale_audit_id"
|
|
|
|
#primary key - need to be unique generated for SaleAudit
|
|
before_create :generate_custom_id
|
|
|
|
belongs_to :sale
|
|
|
|
def self.record_audit_void(sale_id, void_by, approved_by, reason)
|
|
#sale_audit
|
|
sale_audit = SaleAudit.new()
|
|
sale_audit.sale_id = sale_id
|
|
sale_audit.action = "SALEVOID"
|
|
sale_audit.action_at = DateTime.now.utc
|
|
sale_audit.action_by = void_by
|
|
sale_audit.approved_by = approved_by
|
|
sale_audit.remark = reason
|
|
sale_audit.save!
|
|
#sale_audit.
|
|
end
|
|
|
|
def self.record_audit_complete(sale_id, remark, action_by)
|
|
sale_audit = SaleAudit.new()
|
|
sale_audit.sale_id = sale_id
|
|
sale_audit.action = "SALECOMPLETE"
|
|
sale_audit.action_at = DateTime.now.utc
|
|
sale_audit.action_by = Sale.find(sale_id).cashier_id
|
|
sale_audit.remark = remark
|
|
sale_audit.approved_by = action_by
|
|
sale_audit.save!
|
|
end
|
|
|
|
def self.record_audit_discount(sale_id, discount_by, approved_by, reason,type)
|
|
#sale_audit
|
|
sale_audit = SaleAudit.new()
|
|
sale_audit.sale_id = sale_id
|
|
sale_audit.action = type
|
|
sale_audit.action_at = DateTime.now.utc
|
|
sale_audit.action_by = discount_by
|
|
sale_audit.approved_by = approved_by
|
|
sale_audit.remark = reason
|
|
sale_audit.save!
|
|
#sale_audit.
|
|
end
|
|
|
|
def self.record_audit_foc(sale_id, cashier_id, approved_by, reason)
|
|
#sale_audit
|
|
sale_audit = SaleAudit.new()
|
|
sale_audit.sale_id = sale_id
|
|
sale_audit.action = "SALEFOC"
|
|
sale_audit.action_at = DateTime.now.utc
|
|
sale_audit.action_by = cashier_id
|
|
sale_audit.approved_by = approved_by
|
|
sale_audit.remark = reason
|
|
sale_audit.save!
|
|
end
|
|
|
|
def self.record_audit_for_edit(sale_id, cashier_id, approved_by, reason,type)
|
|
#sale_audit
|
|
sale_audit = SaleAudit.new()
|
|
sale_audit.sale_id = sale_id
|
|
sale_audit.action = type
|
|
sale_audit.action_at = DateTime.now.utc
|
|
sale_audit.action_by = cashier_id
|
|
sale_audit.approved_by = approved_by
|
|
sale_audit.remark = reason
|
|
sale_audit.save!
|
|
end
|
|
|
|
def self.record_payment(sale_id, remark, action_by)
|
|
sale_audit = SaleAudit.new()
|
|
sale_audit.sale_id = sale_id
|
|
sale_audit.action = "SALEPAYMENT"
|
|
sale_audit.action_at = DateTime.now.utc
|
|
sale_audit.action_by = Sale.find(sale_id).cashier_id
|
|
sale_audit.remark = remark
|
|
sale_audit.approved_by = action_by
|
|
sale_audit.save!
|
|
end
|
|
|
|
def self.record_paymal(sale_id, remark, action_by)
|
|
sale_audit = SaleAudit.new()
|
|
sale_audit.sale_id = sale_id
|
|
sale_audit.action = "PAYMAL"
|
|
sale_audit.action_at = DateTime.now.utc
|
|
sale_audit.action_by = Sale.find(sale_id).cashier_id
|
|
sale_audit.remark = remark
|
|
sale_audit.approved_by = action_by
|
|
sale_audit.save!
|
|
end
|
|
|
|
def self.paymal_search(sale_id)
|
|
paymal = SaleAudit.where("sale_id =? and action = 'PAYMAL'",sale_id)
|
|
remark = paymal[0].remark.split("}")
|
|
response = "["+remark[0]+'}]'
|
|
response = JSON.parse(response)
|
|
puts response
|
|
if response[0]["status"] == true
|
|
if response[0]["current_rebate_amount"].present?
|
|
amount = response[0]["current_rebate_amount"]
|
|
else
|
|
amount = response[0]["current_balance_amount"]
|
|
end
|
|
else
|
|
amount = nil
|
|
end
|
|
return amount
|
|
|
|
end
|
|
|
|
private
|
|
def generate_custom_id
|
|
self.sale_audit_id = SeedGenerator.generate_id(self.class.name, "SAI")
|
|
end
|
|
end
|