Files
sx-fc/app/models/sale_audit.rb
2018-07-12 13:10:11 +06:30

127 lines
3.8 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 = action_by
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.record_audit_sale(sale_id, remark, action_by,type)
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 = action_by
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