Implantação da função filtro de Operções exemplo UBS***
This commit is contained in:
@@ -16,7 +16,8 @@ class ConsolidacaoEntregasController < ApplicationController
|
||||
.da_conta_gade
|
||||
.no_periodo(@consolidacao.data_inicio, @consolidacao.data_fim)
|
||||
.do_motorista(@motorista)
|
||||
@entregas = @entregas.da_veiculo(@consolidacao.vehicle_ids) if @consolidacao.vehicle_ids.present?
|
||||
@entregas = @entregas.da_veiculo(@consolidacao.vehicle_ids) if @consolidacao.vehicle_ids.present?
|
||||
@entregas = @entregas.da_operacoes(@consolidacao.operacoes) if @consolidacao.operacoes.present?
|
||||
@entregas = @entregas.order(:planned_date)
|
||||
|
||||
# Classificações já feitas — agrupadas por tracking_id (uma entrega pode ter
|
||||
@@ -185,7 +186,8 @@ class ConsolidacaoEntregasController < ApplicationController
|
||||
rel = Entrega.pagas.da_conta_gade
|
||||
.no_periodo(@consolidacao.data_inicio, @consolidacao.data_fim)
|
||||
.do_motorista(motorista)
|
||||
rel = rel.da_veiculo(@consolidacao.vehicle_ids) if @consolidacao.vehicle_ids.present?
|
||||
rel = rel.da_veiculo(@consolidacao.vehicle_ids) if @consolidacao.vehicle_ids.present?
|
||||
rel = rel.da_operacoes(@consolidacao.operacoes) if @consolidacao.operacoes.present?
|
||||
rel.pluck(:tracking_id)
|
||||
end
|
||||
|
||||
|
||||
@@ -46,12 +46,14 @@ class ConsolidacoesController < ApplicationController
|
||||
)
|
||||
@motoristas = Entrega.motoristas_ativos
|
||||
@veiculos = Entrega.veiculos_unicos
|
||||
@operacoes = Operacao.todas
|
||||
end
|
||||
|
||||
# POST /consolidacoes
|
||||
def create
|
||||
authorize Consolidacao
|
||||
@consolidacao = Consolidacao.new(consolidacao_params.merge(created_by: current_user.id))
|
||||
@consolidacao.operacoes = Operacao.sanitizar(@consolidacao.operacoes)
|
||||
|
||||
motoristas = Array(params[:motoristas]).reject(&:blank?)
|
||||
|
||||
@@ -86,6 +88,19 @@ class ConsolidacoesController < ApplicationController
|
||||
render json: { veiculos: veiculos }
|
||||
end
|
||||
|
||||
# GET /consolidacoes/operacoes_disponiveis — lista (JSON) as tabelas de operação.
|
||||
def operacoes_disponiveis
|
||||
authorize Consolidacao, :new?
|
||||
render json: { operacoes: Operacao.todas }
|
||||
end
|
||||
|
||||
# GET /consolidacoes/dados_da_operacao?operacoes[]=X — motoristas/veículos/período
|
||||
# derivados das operações selecionadas, para pré-preencher o formulário.
|
||||
def dados_da_operacao
|
||||
authorize Consolidacao, :new?
|
||||
render json: Operacao.dados(params[:operacoes])
|
||||
end
|
||||
|
||||
# GET /consolidacoes/:id — visão geral
|
||||
def show
|
||||
authorize @consolidacao
|
||||
@@ -268,9 +283,10 @@ class ConsolidacoesController < ApplicationController
|
||||
def preparar_form_new
|
||||
@motoristas = Entrega.motoristas_ativos
|
||||
@veiculos = Entrega.veiculos_unicos
|
||||
@operacoes = Operacao.todas
|
||||
end
|
||||
|
||||
def consolidacao_params
|
||||
params.require(:consolidacao).permit(:nome, :data_inicio, :data_fim, vehicle_ids: [])
|
||||
params.require(:consolidacao).permit(:nome, :data_inicio, :data_fim, vehicle_ids: [], operacoes: [])
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user