class Commission < ActiveRecord::Base has_many :sellerscommissions belongs_to :pointsale belongs_to :user ##--- Llevar registro de Actividad del usuario audited accepts_nested_attributes_for :sellerscommissions def rango_de_ventas(pointsale, percent) sales_range = Pointsale.find(pointsale).sales.where("sales.status = 2").order(" sales.id ASC ") #todas las ventas en ese punto de venta commissions = Commission.where(:pointsale_id => pointsale).order("last_sale_id ASC").last #última comisión en el punto de venta if commissions.present? #si hay comisiones last_sale = commissions.last_sale_id+1 sales_range = Pointsale.find(pointsale).sales.where("sales.status = 2 and sales.id between #{last_sale} and #{sales_range.last.id}").order(" sales.id ASC ") #rango es entre último last_sale_id+1 y la última id de sales_range de arriba else last_sale = sales_range.last.id end total = (percent / 100.0) * sales_range.sum(:total) self.pointsale_id = pointsale self.last_sale_id = last_sale self.commission_total = total self.date = Date.today end end