Implantação da função filtro de Operções exemplo UBS***

This commit is contained in:
2026-06-17 16:08:22 -03:00
parent e9def7e21a
commit c969049c1a
11 changed files with 202 additions and 7 deletions

View File

@@ -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