|
|
@@ -99,25 +99,23 @@ class CommissionsController < ApplicationController
|
|
|
def find_sellers_by_date
|
|
|
initial_date = DateTime.parse(params[:initial_date])
|
|
|
final_date = DateTime.parse(params[:final_date])
|
|
|
+ exists_any = Commission.where("pointsale_id = ? AND ((initial_date BETWEEN ? AND ?) OR (final_date BETWEEN ? AND ?))", params[:pointsale_id], initial_date, final_date, initial_date, final_date).any?
|
|
|
|
|
|
- # exists_any = Commission.where(initial_date: initial_date..final_date, final_date: initial_date..final_date, pointsale: params[:pointsale_id]).any?
|
|
|
- # exists_any = Commission.where("pointsale_id = ? AND ((initial_date BETWEEN ? AND ?) OR (final_date BETWEEN ? AND ?))", params[:pointsale_id], initial_date, final_date, initial_date, final_date).any?
|
|
|
-
|
|
|
- # unless (exists_any)
|
|
|
- ids_w_moves_in_period = Pointsale.find(params[:pointsale_id]).cash_registers_moves.where(move_type: '1', created_at: initial_date..final_date).pluck(:sale_id)
|
|
|
- news_sales_in_period = Pointsale.find(params[:pointsale_id]).sales.activas.where(date_sale: initial_date..final_date).pluck(:id)
|
|
|
- all_ids = (ids_w_moves_in_period + news_sales_in_period).uniq
|
|
|
- if all_ids.present?
|
|
|
- commissions_paid = SalesSellercommission.includes(:sale).where('sale_id IN (?) and sales.saletype = ?', all_ids, 1).pluck(:sale_id)
|
|
|
- to_pay = all_ids - commissions_paid
|
|
|
- sellers = Sale.where('sales.id IN (?)', to_pay).joins(:seller).distinct(:seller_id).select(:seller_id, :name)
|
|
|
+ if exists_any
|
|
|
+ render json: Array.new, status: :unprocessable_entity
|
|
|
else
|
|
|
- sellers = Array.new
|
|
|
+ ids_w_moves_in_period = Pointsale.find(params[:pointsale_id]).cash_registers_moves.where(move_type: '1', created_at: initial_date..final_date).pluck(:sale_id)
|
|
|
+ news_sales_in_period = Pointsale.find(params[:pointsale_id]).sales.activas.where(date_sale: initial_date..final_date).pluck(:id)
|
|
|
+ all_ids = (ids_w_moves_in_period + news_sales_in_period).uniq
|
|
|
+ if all_ids.present?
|
|
|
+ commissions_paid = SalesSellercommission.includes(:sale).where('sale_id IN (?) and sales.saletype = ?', all_ids, 1).pluck(:sale_id)
|
|
|
+ to_pay = all_ids - commissions_paid
|
|
|
+ sellers = Sale.where('sales.id IN (?)', to_pay).joins(:seller).distinct(:seller_id).select(:seller_id, :name)
|
|
|
+ else
|
|
|
+ sellers = Array.new
|
|
|
+ end
|
|
|
+ render json: sellers
|
|
|
end
|
|
|
- render json: sellers
|
|
|
- # else
|
|
|
- # render json: 'no funka'
|
|
|
- # end
|
|
|
end
|
|
|
|
|
|
private
|