|
|
@@ -11,11 +11,7 @@ class CommissionsController < ApplicationController
|
|
|
# GET /commissions
|
|
|
# GET /commissions.json
|
|
|
def index
|
|
|
- if current_user.usertype == 'A'
|
|
|
- @commissions = Commission.all.includes(:pointsale, :user)
|
|
|
- else
|
|
|
- @commissions = Commission.includes(:pointsale, :user).where(:pointsale_id => current_user.pointsale_id)
|
|
|
- end
|
|
|
+ @commissions = current_user.usertype == 'A' ? Commission.all.includes(:pointsale, :user).order('created_at desc') : Commission.includes(:pointsale, :user).where(pointsale_id: current_user.pointsale_id).order('created_at desc')
|
|
|
end
|
|
|
|
|
|
# GET /commissions/1
|
|
|
@@ -27,7 +23,7 @@ class CommissionsController < ApplicationController
|
|
|
|
|
|
# GET /commissions/new
|
|
|
def new
|
|
|
- @sellers = Seller.where('id IN (?)' , params[:sellers_ids])
|
|
|
+ @sellers = Seller.where('id IN (?)', params[:sellers_ids])
|
|
|
@initial_date = params[:initial_date]
|
|
|
@final_date = params[:final_date]
|
|
|
commission_total = 0
|
|
|
@@ -43,8 +39,7 @@ class CommissionsController < ApplicationController
|
|
|
end
|
|
|
|
|
|
# GET /commissions/1/edit
|
|
|
- def edit
|
|
|
- end
|
|
|
+ def edit; end
|
|
|
|
|
|
# POST /commissions
|
|
|
# POST /commissions.json
|
|
|
@@ -52,11 +47,11 @@ class CommissionsController < ApplicationController
|
|
|
@commission = Commission.new(commission_params)
|
|
|
@commission.user_id = current_user.id
|
|
|
respond_to do |format|
|
|
|
- @commission.audit_comment = "Comisiones del #{initial_date} al #{final_date} generadas"
|
|
|
+ @commission.audit_comment = "Comisiones del #{@commission.initial_date} al #{@commission.final_date} generadas"
|
|
|
if @commission.save
|
|
|
@commission.sellerscommissions.each do |seller_commission|
|
|
|
sales_by_period = seller_commission.seller.get_sales_by_period(@commission.initial_date, @commission.final_date, 'commission').pluck(:id)
|
|
|
- sales_by_period.each do |sale |
|
|
|
+ sales_by_period.each do |sale|
|
|
|
sales_sellercom = SalesSellercommission.new
|
|
|
sales_sellercom.sellerscommission_id = seller_commission.id
|
|
|
sales_sellercom.sale_id = sale
|
|
|
@@ -96,45 +91,37 @@ class CommissionsController < ApplicationController
|
|
|
end
|
|
|
end
|
|
|
|
|
|
- def sellers_for_commissions
|
|
|
- end
|
|
|
+ def sellers_for_commissions; end
|
|
|
|
|
|
- def generate_commissions
|
|
|
-
|
|
|
- end
|
|
|
+ def generate_commissions; end
|
|
|
|
|
|
def find_sellers_by_date
|
|
|
initial_date = DateTime.parse(params[:initial_date])
|
|
|
final_date = DateTime.parse(params[:final_date])
|
|
|
|
|
|
- sales = Pointsale.find(params[:pointsale_id]).sales.where(:date_sale => initial_date..final_date).pluck(:id)
|
|
|
+ sales = Pointsale.find(params[:pointsale_id]).sales.where(date_sale: initial_date..final_date).pluck(:id)
|
|
|
commissions_paid = SalesSellercommission.where('sale_id IN (?)', sales).pluck(:sale_id)
|
|
|
|
|
|
to_pay = sales - commissions_paid
|
|
|
|
|
|
sellers = Sale.where('sales.id IN (?)', to_pay).joins(:seller).distinct(:seller_id).select(:seller_id, :name)
|
|
|
- render :json => sellers
|
|
|
+ render json: sellers
|
|
|
end
|
|
|
|
|
|
-
|
|
|
private
|
|
|
- # Use callbacks to share common setup or constraints between actions.
|
|
|
- def set_commission
|
|
|
- @commission = Commission.find(params[:id])
|
|
|
- end
|
|
|
|
|
|
- def get_filters
|
|
|
- if params[:current_page].blank?
|
|
|
- @current_page = 1
|
|
|
- else
|
|
|
- @current_page = params[:current_page]
|
|
|
- end
|
|
|
- @filter = params[:filter]
|
|
|
- end
|
|
|
+ # Use callbacks to share common setup or constraints between actions.
|
|
|
+ def set_commission
|
|
|
+ @commission = Commission.find(params[:id])
|
|
|
+ end
|
|
|
|
|
|
- # Never trust parameters from the scary internet, only allow the white list through.
|
|
|
- def commission_params
|
|
|
- params.require(:commission).permit(:initial_date, :final_date, :commission_total, :pointsale_id, :user_id, sellerscommissions_attributes: [:seller_id, :num_sales, :num_products, :sales_total, :commission_calculated, :commission_paid, :commission_percent])
|
|
|
- end
|
|
|
+ def get_filters
|
|
|
+ @current_page = params[:current_page].blank? ? 1 : params[:current_page]
|
|
|
+ @filter = params[:filter]
|
|
|
+ end
|
|
|
|
|
|
+ # Never trust parameters from the scary internet, only allow the white list through.
|
|
|
+ def commission_params
|
|
|
+ params.require(:commission).permit(:initial_date, :final_date, :commission_total, :pointsale_id, :user_id, sellerscommissions_attributes: [:seller_id, :num_sales, :num_products, :sales_total, :commission_calculated, :commission_paid, :commission_percent])
|
|
|
+ end
|
|
|
end
|