Rails.application.routes.draw do
	nested_resources :licitacao, :documentos_do_processo, 'processo/:projeto_id', except: [:index, :show]
	nested_resources :licitacao, :documentos_do_pedido, 'pedido/:pedido_id', except: [:index]
	nested_resources :licitacao, :documentos_do_etp, 'etp/:etp_id', except: [:index]
	nested_resources :licitacao, :documentos_da_cotacao_do_pedido, 'pessoa_do_pedido/:pessoa_do_pedido_id', except: [:index, :show]
	nested_resources :licitacao, :documentos_do_contrato, 'contrato/:contrato_id', except: [:index]
	nested_resources :licitacao, :documentos_do_aditivo, 'aditivo/:aditivo_id', except: [:index]
	nested_resources :licitacao, :documentos_do_aditivo_da_ata, 'aditivo_da_ata/:aditivo_da_ata_id', except: [:index, :show]
	nested_resources :licitacao, :documentos_do_apostilamento, 'apostilamento/:apostilamento_id', except: [:index]
	nested_resources :licitacao, :documentos_da_ata, 'ata_de_registro_de_precos/:ata_de_registro_de_precos_id', except: [:index]
	nested_resources :licitacao, :membros_da_comissao, 'comissao/:comissao_id', except: [:index, :show]
	nested_resources :licitacao, :publicacoes, 'projetos/:projeto_id', except: [:index, :show]
	nested_resources :licitacao, :contratos, 'projeto/:projeto_id', except: [:index]
	nested_resources :licitacao, :fiscais_do_contrato, 'contrato/:contrato_id', except: [:index, :show]
	nested_resources :licitacao, :gestores_do_contrato, 'contrato/:contrato_id', except: [:index, :show]
	nested_resources :licitacao, :configuracoes_sim_do_projeto, 'configuracoes_sim_do_projeto/:projeto_id'

	namespace :licitacao do

		get '/', to: 'inicio#index', as: :inicio
		get '/ordens_de_compra/:id/listar_itens_da_ordem_de_compra', to: 'ordens_de_compra#listar_itens_da_ordem_de_compra', as: :listar_itens_da_ordem_de_compra
		get '/ordens_de_compra/cadastro_por_index', to: 'ordens_de_compra#cadastro_por_index', as: :cadastro_por_index

		########################################################################################################
		# GESTÃO DE ESTOQUE
		resources :ordens_de_compra, only: [:index, :edit, :show] do
			collection do
				get '/recebidas_parcialmente_pelo_almoxarifado', action: :index, defaults: { recebidas_parcialmente_pelo_almoxarifado: true }
				get '/recebidas_pelo_almoxarifado', action: :index, defaults: { recebidas_pelo_almoxarifado: true }
				get '/enviadas_para_almoxarifado', action: :index, defaults: { enviadas_para_almoxarifado: true }
				get '/recusadas_pelo_almoxarifado', action: :index, defaults: { recusadas_pelo_almoxarifado: true }
			end

			member do
				patch '/retornar_para_administrativo', action: :retornar_para_administrativo, as: :retornar_para_administrativo
			end
		end

		########################################################################################################
		# ROTAS DO PEDIDO

		resources :pedidos do
			member do
				# ITENS
				get    'itens', action: :editar_itens
				patch  'itens', action: :atualizar_itens
				get    'busca_itens'
				patch  'adiciona_itens'
				get    'motivo_anular_item/:item_do_pedido_id', action: :motivo_anular_item, as: :motivo_anular_item
				post   'anular_item/:item_do_pedido_id', action: :anular_item, as: :anular_item
				post   'reativar_item_da_cotacao/:item_do_pedido_por_pessoa_id', action: :reativar_item_da_cotacao, as: :reativar_item_da_cotacao
				get    'arquivo_itens_do_pedido'
				# UNIDADES CONVIDADAS
				get    'unidades_orcamentarias', action: :editar_unidades_orcamentarias
				patch  'unidades_orcamentarias', action: :atualizar_unidades_orcamentarias
				get    'quantidades', action: :editar_quantidades
				patch  'quantidades', action: :atualizar_quantidades
				patch  'zera_quantidade_do_item_da_unidade'
				patch  'zera_valor_previsto_do_item_da_unidade'
				patch  'remove_unidade_e_seus_itens'
				# FORNECEDORES
				get    'fornecedores', action: :editar_pessoas
				patch  'fornecedores', action: :atualizar_pessoas
				get    'busca_pessoas'
				patch  'adiciona_pessoas'
				# COTAÇÃO
				get    'justificativa_da_cotacao', action: :editar_justificativa_da_cotacao
				patch  'justificativa_da_cotacao', action: :atualizar_justificativa_da_cotacao
				get    'responsavel_pelo_setor_de_compras', action: :adicionar_responsavel_setor_de_compras
				patch  'responsavel_pelo_setor_de_compras', action: :atualizar_responsavel_setor_de_compras
				get    'preco/:item_do_pedido_por_pessoa_id', action: :preco, as: :preco_item_do_pedido_por_pessoa
				post   'anular_preco/:item_do_pedido_por_pessoa_id', action: :anular_preco, as: :anular_preco_item_do_pedido_por_pessoa
				get    'motivo_anular_cotacao/:pessoa_do_pedido_id', action: :motivo_anular_cotacao, as: :motivo_anular_cotacao
				post   'anular_cotacao/:pessoa_do_pedido_id', action: :anular_cotacao, as: :anular_cotacao
				get    'reativar_cotacao/:pessoa_do_pedido_id', action: :reativar_cotacao, as: :reativar_cotacao
				get    'mapa'
				get    'mapa/editar_data_do_mapa',    action: :editar_data_do_mapa,    as: :editar_data_do_mapa
				patch  'mapa/atualizar_data_do_mapa', action: :atualizar_data_do_mapa, as: :atualizar_data_do_mapa
				# DOTAÇÕES
				get    'selecionar_dotacao'
				post   'adicionar_dotacao'
				post   'atualiza_dotacao'
				delete 'excluir_dotacao/:orcamento_da_despesa_por_pedido_id', action: :excluir_dotacao, as: :excluir_dotacao
				# FLUXOS
				patch  'coletar_precos'
				patch  'abrir_para_outras_unidades'
				patch  'convidar/:pessoa_do_pedido_id', action: :convidar, as: :convidar
				get    'cancelar', action: :confirmar_cancelamento
				patch  'cancelar'
				post   'duplicar'
				patch  'finalizar', action: :finalizar_pedido
				patch  'voltar_status_aberto', action: :voltar_para_aberto
				# Transferencia de orçamento
				get    'cadastrar_transferencia_do_orcamento', action: :cadastrar_transferencia_do_orcamento
				post   'transferir_orcamento', action: :transferir_orcamento
			end
		end

		########################################################################################################
		# ROTAS DO PROJETO

		resources :projetos do
			collection do
				get '/'            , action: :index, defaults: { projeto_basico: true }
				get 'simplificados', action: :index, defaults: { simplificados: true }
			end

			member do
				# ITENS
				get 'arquivo_itens_do_lote'
				# DOTAÇÕES
				get    'selecionar_dotacao'
				post   'adicionar_dotacao'
				post   'atualiza_dotacao'
				delete 'excluir_dotacao/:orcamento_da_despesa_por_projeto_id', action: :excluir_dotacao, as: :excluir_dotacao
				# ITENS DA DOTAÇÃO
				get   'itens_dotacao_do_projeto/:orcamento_da_despesa_por_projeto_id', to: 'projetos#editar_itens_dotacao_do_projeto' , as: :editar_itens_dotacao_do_projeto
				patch 'atualiza_itens_dotacao_do_projeto/:orcamento_da_despesa_por_projeto_id', to: 'projetos#atualiza_itens_dotacao_do_projeto' , as: :atualiza_itens_dotacao_do_projeto
				# OPERAÇÕES
				get   'arquivo'
				get   'operacoes', action: :editar_operacoes
				patch 'operacoes', action: :atualizar_operacoes
				get   'acoes_das_operacoes', action: :editar_acoes_das_operacoes
				patch 'acoes_das_operacoes', action: :atualizar_acoes_das_operacoes
				# FLUXOS
				patch 'encaminhar_para_autorizacao'
				patch 'autorizar'
				patch 'encaminhar_para_comissao'
				patch 'encaminhar_para_controladoria'
				get   'confirmar_cancelamento'
				patch 'cancelar'
				get   'confirmar_revogacao'
				patch 'revogar'
				patch 'deleta_processo'
				#Ajax
				get 'retorna_dados_do_processo'
			end
		end

		get 'projetos/:projeto_id/listar_itens', to: 'lotes#listar_itens', as: :listar_itens_projeto
		get 'projetos/:lote_id/editar_itens', to: 'lotes#editar_itens', as: :editar_itens_projeto
		post 'projetos/:projeto_id/criar_lotes', to: 'lotes#criar_lotes', as: :criar_lotes
		post 'projetos/:lote_id/alterar_lotes', to: 'lotes#alterar_lotes', as: :alterar_lotes
		get 'projetos/:modalidade_do_processo_enum/retorna_modalidades_de_licitacao', to: 'projetos#retorna_modalidades_de_licitacao'
		get 'projetos/:modalidade_do_processo_enum/retorna_modalidades_de_licitacao_14133', to: 'projetos#retorna_modalidades_de_licitacao_14133'
		get 'projetos/:modalidade_de_licitacao_enum/retorna_criterios_de_julgamento', to: 'projetos#retorna_criterios_de_julgamento'
		get 'projetos/:modalidade_de_licitacao_enum/retorna_criterios_de_julgamento_14133', to: 'projetos#retorna_criterios_de_julgamento_14133'
		get 'projetos/:modalidade_do_processo_enum/:lei/retorna_legislacoes', to: 'projetos#retorna_legislacoes'

		get 'projetos/:id/editar_ata_da_carona',to: 'projetos#editar_ata_da_carona', as: :editar_ata_da_carona
		patch 'projetos/:id/atualizar_ata_da_carona',to: 'projetos#atualizar_ata_da_carona', as: :atualizar_ata_da_carona


		get 'pedidos/:id/:unidade_orcamentaria_por_pedido_id/cadastrar_responsavel_da_unidade', to: 'pedidos#cadastrar_responsavel_da_unidade', as: :cadastrar_responsavel_da_unidade
		patch 'pedidos/:id/:unidade_orcamentaria_por_pedido_id/atualizar_responsavel_da_unidade', to: 'pedidos#atualizar_responsavel_da_unidade', as: :atualizar_responsavel_da_unidade

		########################################################################################################
		# ROTAS DO PROCESSO

		resources :processos, except: [:new, :create, :destroy] do

			collection do
				get '/'               , action: :index, defaults: { processo_licitatorio: true }
				get '/dispensa'       , action: :index, defaults: { dispensa: true }
				get '/inexigibilidade', action: :index, defaults: { inexigibilidade: true }
				get '/parcerias'      , action: :index, defaults: { parcerias: true }
				get '/outros' 		  , action: :index, defaults: { outros: true }
				get '/carona'         , action: :caronas
			end

			member do
				# LICITANTES
				get   'licitantes', action: :editar_licitantes
				patch 'licitantes', action: :atualizar_licitantes
				get   'busca_licitantes'
				patch 'adiciona_licitantes'
				# TCM
				get   'editar_dados_do_sim'
				patch 'atualizar_dados_do_sim'
				patch 'nao_enviar_para_sim'
				patch 'enviar_para_sim'
				# FLUXOS
				patch 'iniciar_processo'
				patch 'ir_para_sessao'
				patch 'concluir_sessao'
				patch 'enviar_para_parecer'
				patch 'enviar_para_homologacao'
				patch 'homologar'
				patch 'desertar'
				patch 'encaminhar_parecer_final'
				patch 'adjudicar'
				patch 'voltar_para_aberto'
				patch 'fracassar_processo'
				get   'confirmar_cancelamento'
				patch 'cancelar'
				get   'confirmar_revogacao'
				patch 'revogar'
				patch 'deleta_processo'
				patch 'voltar_para_fase_de_lances'
				patch 'voltar_para_enviado_para_comissao'
				# JSON
				get   'fornecedores'
				get   'contratos'
				get   'unidades_orcamentarias'
				get   'ganhadores_dos_lotes'
				#Edições
				patch 'atualiza_data_da_homologacao'
				get 'editar_data_da_homologacao'
				patch 'atualiza_data_de_adjudicacao'
				get 'editar_data_de_adjudicacao'
			end

			resources :atas_de_registro_de_precos, shallow: true, except: [:index]
		end

		########################################################################################################
		# ROTAS DO CONTRATO

		resources :contratos, only: [:index] do
			patch 'enviar_para_controladoria', on: :member
			patch 'enviar_para_copfin', on: :member
			patch 'confirmar', on: :member
			get 'operacoes', to: 'contratos#editar_operacoes', on: :member
			patch 'operacoes', to: 'contratos#atualizar_operacoes', on: :member
			get 'acoes_das_operacoes', to: 'contratos#editar_acoes_das_operacoes', on: :member
			patch 'acoes_das_operacoes', to: 'contratos#atualizar_acoes_das_operacoes', on: :member
			get    'cadastrar_responsavel_do_pedido', on: :member
			patch  'atualizar_responsavel_do_pedido', on: :member
			#Ajax
			get 'retorna_dados_do_contrato', on: :member
			
			member do
				# ITENS DA DOTAÇÃO
				get 'itens_dotacao_do_contrato/:orcamento_da_despesa_do_contrato_id', to: 'contratos#editar_itens_dotacao_do_contrato' , as: :editar_itens_dotacao_do_contrato
				patch 'atualiza_itens_dotacao_do_contrato/:orcamento_da_despesa_do_contrato_id', to: 'contratos#atualiza_itens_dotacao_do_contrato' , as: :atualiza_itens_dotacao_do_contrato
			end
		end
		
		get 'envios_pncp/contratos', to: 'contratos#envios_pncp', as: :envios_pncp
		get '/solicitacoes_de_contrato', to: 'contratos#solicitacoes', as: :solicitacoes_de_contrato
		get 'contratos/:id/cancelar', to: 'contratos#confirmar_cancelamento', as: :confirmar_cancelamento_contrato
		patch 'contratos/:id/cancelar', to: 'contratos#cancelar', as: :cancelar_contrato
		patch 'contratos/:id/finalizar', to: 'contratos#finalizar', as: :finalizar_contrato
		get 'contratos/:id/itens_contrato', to: 'contratos#editar_itens' , as: :editar_itens_contrato
		patch 'contratos/:id/atualiza_itens', to: 'contratos#atualiza_itens' , as: :atualiza_itens_contrato
		get 'contratos/:id/dotacoes_contrato', to: 'contratos#editar_dotacoes' , as: :editar_dotacoes_contrato
		patch 'contratos/:id/adicionar_dotacoes', to: 'contratos#adicionar_dotacoes' , as: :adicionar_dotacoes_contrato
		patch 'contratos/:id/atualiza_dotacoes', to: 'contratos#atualiza_dotacoes' , as: :atualiza_dotacoes_contrato
		delete 'contratos/excluir_dotacao/:orcamento_da_despesa_do_contrato_id', to: 'contratos#excluir_dotacao', as: :excluir_dotacao_contrato
		get 'contratos/:id/:item_do_lote_id/quantidade_de_itens_disponiveis', to: 'contratos#quantidade_de_itens_disponiveis' , as: :quantidade_de_itens_disponiveis
		patch 'contratos/:id/nao_enviar_para_sim', to: 'contratos#nao_enviar_para_sim', as: :nao_enviar_para_sim_contrato
		patch 'contratos/:id/enviar_para_sim', to: 'contratos#enviar_para_sim', as: :enviar_para_sim_contrato
		get 'contratos/:id/editar_data_de_envio_pro_sim', to: 'contratos#editar_data_de_envio_pro_sim', as: :editar_data_de_envio_pro_sim_contrato
		patch 'contratos/:id/atualizar_data_de_envio_pro_sim', to: 'contratos#atualizar_data_de_envio_pro_sim', as: :atualizar_data_de_envio_pro_sim_contrato
		get 'contratos/:id/editar_responsavel', to: 'contratos#editar_responsavel', as: :editar_responsavel_contrato
		patch 'contratos/:id/atualizar_responsavel', to: 'contratos#atualizar_responsavel', as: :atualizar_responsavel_contrato
		patch 'contratos/:id/retornar_para_aberto', to: 'contratos#retornar_para_aberto', as: :retornar_para_aberto_contrato
		get 'contratos/:id/editar_unidade_orcamentaria_do_exercicio', to: 'contratos#editar_unidade_orcamentaria_do_exercicio', as: :editar_unidade_orcamentaria_do_exercicio_contrato
		patch 'contratos/:id/atualizar_unidade_orcamentaria_do_exercicio', to: 'contratos#atualizar_unidade_orcamentaria_do_exercicio', as: :atualizar_unidade_orcamentaria_do_exercicio_contrato
		get 'contratos/:id/editar_informacoes_do_sim', to: "contratos#editar_informacoes_do_sim", as: :editar_informacoes_do_sim
		patch 'contratos/:id/atualizar_informacoes_do_sim', to: "contratos#atualizar_informacoes_do_sim", as: :atualizar_informacoes_do_sim
		get 'contratos/:id/editar_informacoes_do_pncp', to: "contratos#editar_informacoes_do_pncp", as: :editar_informacoes_do_pncp
		patch 'contratos/:id/atualizar_informacoes_do_pncp', to: "contratos#atualizar_informacoes_do_pncp", as: :atualizar_informacoes_do_pncp

		get 'contratos/:id/editar_data_da_solicitacao', to: "contratos#editar_data_da_solicitacao", as: :editar_data_da_solicitacao
		patch 'contratos/:id/atualizar_data_da_solicitacao', to: "contratos#atualizar_data_da_solicitacao", as: :atualizar_data_da_solicitacao

		########################################################################################################
		# ROTAS DO APOSTILAMENTO

		nested_resources :licitacao, :apostilamentos, 'contratos/:contrato_id', except: [:index]
		get 'apostilamentos/:id/dotacoes_contrato', to: 'apostilamentos#editar_dotacoes' , as: :editar_dotacoes_apostilamento
		patch 'apostilamentos/:id/atualiza_dotacoes', to: 'apostilamentos#atualiza_dotacoes' , as: :atualiza_dotacoes_apostilamento
		delete 'apostilamentos/excluir_dotacao/:orcamento_da_despesa_do_apostilamento_id', to: 'apostilamentos#excluir_dotacao', as: :excluir_dotacao_apostilamento
		get 'apostilamentos/:id/editar_itens_do_apostilamento', to: "apostilamentos#editar_itens_do_apostilamento", as: :editar_itens_do_apostilamento
		put 'apostilamentos/:id/atualizar_itens_do_apostilamento', to: "apostilamentos#atualizar_itens_do_apostilamento", as: :atualizar_itens_do_apostilamento
		delete 'apostilamentos/excluir_itens_do_apostilamento/:id', to: "apostilamentos#excluir_itens_do_apostilamento", as: :excluir_itens_do_apostilamento
		get 'apostilamentos/:id/editar_itens_do_orcamento_da_despesa', to: "apostilamentos#editar_itens_do_orcamento_da_despesa", as: :editar_itens_do_orcamento_da_despesa
		patch 'apostilamentos/:id/atualizar_itens_do_orcamento_da_despesa', to: 'apostilamentos#atualizar_itens_do_orcamento_da_despesa', as: :atualizar_itens_do_orcamento_da_despesa

		########################################################################################################
		# ROTAS DO ADITIVO

		nested_resources :licitacao, :aditivos, 'contratos/:contrato_id', except: [:index]
		get 'aditivos/:id/itens_aditivo', to: 'aditivos#editar_itens' , as: :editar_itens_aditivo
		get 'aditivos/:id/itens_do_aditivo_de_mudanca', to: 'aditivos#editar_itens_de_aditivo_de_mudanca' , as: :editar_itens_de_aditivo_de_mudanca_aditivo
		patch 'aditivos/:id/atualiza_itens', to: 'aditivos#atualiza_itens' , as: :atualiza_itens_aditivo
		patch 'aditivos/:id/atualiza_itens_aditivo_de_mudanca', to: 'aditivos#atualiza_itens_aditivo_de_mudanca' , as: :atualiza_itens_aditivo_de_mudanca_aditivo
		get 'aditivos/:id/unidade_orcamentaria', to: 'aditivos#editar_unidade_orcamentaria' , as: :editar_unidade_orcamentaria
		patch 'aditivos/:id/atualiza_unidade_orcamentaria', to: 'aditivos#atualiza_unidade_orcamentaria' , as: :atualiza_unidade_orcamentaria
		get 'aditivos/:id/dotacoes_contrato', to: 'aditivos#editar_dotacoes' , as: :editar_dotacoes_aditivo
		patch 'aditivos/:id/atualiza_dotacoes', to: 'aditivos#atualiza_dotacoes' , as: :atualiza_dotacoes_aditivo
		delete 'aditivos/excluir_dotacao/:orcamento_da_despesa_do_aditivo_id', to: 'aditivos#excluir_dotacao', as: :excluir_dotacao_aditivo
		patch 'aditivos/:id/nao_enviar_para_sim', to: 'aditivos#nao_enviar_para_sim', as: :nao_enviar_para_sim_aditivo
		patch 'aditivos/:id/enviar_para_sim', to: 'aditivos#enviar_para_sim', as: :enviar_para_sim_aditivo
		get 'aditivos/:id/editar_data_de_envio_pro_sim', to: 'aditivos#editar_data_de_envio_pro_sim', as: :editar_data_de_envio_pro_sim_aditivo
		patch 'aditivos/:id/atualizar_data_de_envio_pro_sim', to: 'aditivos#atualizar_data_de_envio_pro_sim', as: :atualizar_data_de_envio_pro_sim_aditivo
		get 'aditivos/:id/marca_de_itens_do_aditivo', to: 'aditivos#editar_marca_de_itens_do_aditivo' , as: :editar_marca_de_itens_do_aditivo
		patch 'aditivos/:id/atualiza_marca_de_itens_aditivo', to: 'aditivos#atualiza_marca_de_itens_aditivo' , as: :atualiza_marca_de_itens_aditivo
		patch 'aditivos/:id/confirmar', to: 'aditivos#confirmar', as: :confirmar_aditivo
		patch 'aditivos/:id/voltar_etapa', to: 'aditivos#voltar_etapa', as: :voltar_etapa_aditivo
		get 'aditivos/:id/itens_dotacao_do_aditivo/:orcamento_da_despesa_do_aditivo_id', to: 'aditivos#editar_itens_dotacao_do_aditivo' , as: :editar_itens_dotacao_do_aditivo
		patch 'aditivos/:id/atualiza_itens_dotacao_do_aditivo/:orcamento_da_despesa_do_aditivo_id', to: 'aditivos#atualiza_itens_dotacao_do_aditivo' , as: :atualiza_itens_dotacao_do_aditivo
		get 'aditivos/:modalidade/retorna_legislacoes', to: 'aditivos#retorna_legislacoes'
		get 'aditivos/mostrar_alerta_artigo_57/:legislacao_id', to: 'aditivos#mostrar_alerta_artigo_57', as: :mostrar_alerta_artigo_57
		patch 'aditivos/:id/enviar_para_controladoria' , to: 'aditivos#enviar_para_controladoria', as: :enviar_para_controladoria
		patch 'aditivos/:id/confirmar_controladoria', to: 'aditivos#confirmar_controladoria' , as: :confirmar_controladoria

		get    'aditivos/:id/cadastrar_responsavel_do_pedido', to: 'aditivos#cadastrar_responsavel_do_pedido', as: :aditivo_cadastrar_responsavel_do_pedido
		patch  'aditivos/:id/atualizar_responsavel_do_pedido', to: 'aditivos#atualizar_responsavel_do_pedido', as: :aditivo_atualizar_responsavel_do_pedido

		get    'aditivos/:id/editar_data_de_solicitacao', to: 'aditivos#editar_data_de_solicitacao', as: :editar_data_de_solicitacao
		patch  'aditivos/:id/atualizar_data_de_solicitacao', to: 'aditivos#atualizar_data_de_solicitacao', as: :atualizar_data_de_solicitacao

		get 'aditivos/:id/editar_informacoes_do_pncp', to: "aditivos#editar_informacoes_do_pncp", as: :editar_informacoes_do_pncp_aditivo
		patch 'aditivos/:id/atualizar_informacoes_do_pncp', to: "aditivos#atualizar_informacoes_do_pncp", as: :atualizar_informacoes_do_pncp_aditivo

		get 'envios_pncp/aditivos', to: 'aditivos#envios_pncp', as: :envios_pncp_aditivos

		########################################################################################################
		# ROTAS DO ADITIVO DE ATA
		nested_resources :licitacao, :aditivos_da_ata, 'atas_de_registro_de_precos/:ata_de_registro_de_precos_id', except: [:index]
		get 'aditivos_da_ata/:id/itens_aditivo', to: 'aditivos_da_ata#editar_itens' , as: :editar_itens_aditivo_da_ata
		patch 'aditivos_da_ata/:id/atualiza_itens', to: 'aditivos_da_ata#atualiza_itens' , as: :atualiza_itens_aditivo_da_ata
		patch 'aditivos_da_ata/:id/confirmar', to: 'aditivos_da_ata#confirmar', as: :confirmar_aditivo_da_ata
		patch 'aditivos_da_ata/:id/voltar_etapa', to: 'aditivos_da_ata#voltar_etapa', as: :voltar_etapa_aditivo_da_ata
		########################################################################################################
		# ROTAS DO LOTE

		resources :lotes, only: [:edit, :update]
		resources :erratas_da_ata, only: [:new, :create, :edit, :update, :destroy, :delete]

		delete 'erratas_da_ata/:id/destroy', to: 'erratas_da_ata#destroy', as: "errata_da_ata_destroy"

		get 'lotes/:lote_id/lances', to: 'lances#show', as: :mostrar_lances
		get 'lotes/:lote_id/rodadas/:numero_rodada/lances/edit', to: 'lances#edit', as: :editar_lances
		patch 'lotes/:lote_id/rodadas/:numero_rodada/lances', to: 'lances#update'
		put 'lotes/:lote_id/rodadas/:numero_rodada/lances', to: 'lances#update'
		get 'lances/:lance_id/anular_lance', to: 'lances#anular_lance', as: :anular_lance


		get 'lotes/:lote_id/pessoas_do_projeto_do_lote/edit', to: 'pessoas_do_projeto_do_lote#edita_pessoas_do_projeto_do_lote', as: :edita_pessoa_do_projeto_do_lote
		patch 'lotes/:lote_id/pessoas_do_projeto_do_lote', to: 'pessoas_do_projeto_do_lote#update'
		get 'lotes/:lote_id/pessoas_do_projeto_do_lote/:pessoa_do_projeto_do_lote_id/edita_justificativa', to: 'pessoas_do_projeto_do_lote#edita_justificativa', as: :edita_justificativa
		patch 'lotes/:lote_id/pessoas_do_projeto_do_lote/inabilita', to: 'pessoas_do_projeto_do_lote#inabilita'
		patch 'lotes/:lote_id/pessoas_do_projeto_do_lote/:pessoa_do_projeto_do_lote_id/excluir_ganhador', to: 'pessoas_do_projeto_do_lote#excluir_ganhador', as: :excluir_ganhador

		get 'lotes/:lote_id/define_ganhador', to: 'lotes#define_ganhador', as: :define_ganhador
		patch 'lotes/:lote_id/salvar_ganhador', to: 'lotes#salvar_ganhador'
		patch 'lotes/:lote_id/salvar_ganhador_menor_preco', to: 'lotes#salvar_ganhador_menor_preco', as: :salvar_ganhador_menor_preco
		patch 'lotes/:lote_id/desertar_lote', to: 'lotes#desertar_lote', as: :desertar_lote
		patch 'lotes/:lote_id/fracassar_lote', to: 'lotes#fracassar_lote', as: :fracassar_lote

		get 'lotes/:lote_id/item/:id/anular', to: 'lotes#confirmar_anulacao_item', as: :confirmar_anulacao_item_lote
		patch 'lotes/:lote_id/item/:id/anular', to: 'lotes#anular_item', as: :anular_item_lote
		patch 'lotes/:lote_id/alternar_cadastro_de_lances', to: 'lotes#alternar_cadastro_de_lances', as: :alternar_cadastro_de_lances
		patch 'lotes/:lote_id/excluir_rodada_de_lances', to: 'lotes#excluir_rodada_de_lances', as: :excluir_rodada_de_lances
		get 'lotes/:ganhador_id/lotes_por_ganhador', to: 'lotes#lotes_por_ganhador', as: :lotes_por_ganhador
		get 'lotes/:projeto_id/lotes_por_projeto', to: 'lotes#lotes_por_projeto', as: :lotes_por_projeto

		########################################################################################################
		# ROTAS DO EMPENHO RETROATIVO

		nested_resources :licitacao, :empenhos_retroativos_do_contrato, 'contrato/:contrato_id', except: [:index, :edit, :update]

		get 'contrato/:contrato_id/empenhos_retroativos_do_contrato/retorna_empenhos_retroativos_dados', to: 'empenhos_retroativos_do_contrato#retorna_empenhos_retroativos_dados', as: :retorna_empenhos_retroativos_dados #Ajax
		get 'contrato/:contrato_id/empenhos_retroativos_do_contrato/retorna_dados_saldo', to: 'empenhos_retroativos_do_contrato#retorna_dados_saldo', as: :retorna_dados_saldo #Ajax

		########################################################################################################
		# OUTRAS ROTAS

		resources :documentos_do_licitante, only: [:edit, :update]

		resources :modelos_de_documento

		resources :importacoes_tcm_processos do
			get 'importar_tudo', on: :collection
			get 'marcar_para_importacao', on: :member
			get 'desmarcar_para_importacao', on: :member
		end
		get 'importacoes_tcm_processos/:id/editar_contratos', to: 'importacoes_tcm_processos#editar_contratos' , as: :editar_contratos
		patch 'importacoes_tcm_processos/:id/atualizar_contratos', to: 'importacoes_tcm_processos#atualizar_contratos' , as: :atualizar_contratos

		resources :membros_da_comissao, except: [:index, :show] do
			post 'extinguir_membro', to: 'membros_da_comissao#extinguir_membro', on: :member
		end

		resources :comissoes do
			get 'extinguir_comissao', to: 'comissoes#extinguir_comissao', on: :member
		end
		get 'comissoes/:modalidade_do_processo_enum/retorna_comissoes', to: 'comissoes#retorna_comissoes'

		resources :pessoas_do_pedido, only: [:show, :edit, :update] do
			get 'cotar', on: :collection
			patch 'enviar_cotacao', on: :collection
			get 'show_cotacao', on: :collection
			get 'enviar_email_cotacao_externa'
		end

		resources :pessoas_do_projeto, only: [:show, :edit, :update] do
			get 'justificativa_descredenciamento', to: 'pessoas_do_projeto#justificativa_descredenciamento', on: :member, as: :justificativa_descredenciamento
			patch 'descredenciar', to: 'pessoas_do_projeto#descredenciar', on: :member, as: :descredenciar
			patch 'recredenciar', to: 'pessoas_do_projeto#recredenciar', on: :member, as: :recredenciar
			get 'justificativa_desclassificacao', to: 'pessoas_do_projeto#justificativa_desclassificacao', on: :member, as: :justificativa_desclassificacao
			patch 'desclassificar', to: 'pessoas_do_projeto#desclassificar', on: :member, as: :desclassificar
			patch 'anular_lote', to: 'pessoas_do_projeto#anular_lote', on: :member, as: :anular_lote
			patch 'reverter_anulacao_lote', to: 'pessoas_do_projeto#reverter_anulacao_lote', on: :member, as: :reverter_anulacao_lote
			patch 'deleta_pessoa_do_projeto', to: 'pessoas_do_projeto#deleta_pessoa_do_projeto', on: :member, as: :deleta_pessoa_do_projeto
		end

		resources :atas_de_registro_de_precos, only: [:index] do
			member do
				get   'unidades_orcamentarias', action: :editar_unidades_orcamentarias
				patch 'unidades_orcamentarias', action: :atualizar_unidades_orcamentarias
				get 	'editar_contratos', action: :editar_contratos
				post 'importar_contratos', action: :importar_contratos
				get   'itens_da_ata', action: :editar_itens
				patch 'itens_da_ata', action: :atualizar_itens
				patch 'confirmar', action: :confirmar_ata
				patch 'reabrir', action: :retornar_para_aberto
				get 'editar_informacoes_do_pncp', to: "atas_de_registro_de_precos#editar_informacoes_do_pncp", as: :editar_informacoes_do_pncp
				patch 'atualizar_informacoes_do_pncp', to: "atas_de_registro_de_precos#atualizar_informacoes_do_pncp", as: :atualizar_informacoes_do_pncp
			end
		end
		get 'envios_pncp/atas', to: 'atas_de_registro_de_precos#envios_pncp', as: :envios_pncp_atas
		
		get '/fiscais_do_contrato/retorna_cargo', to: 'fiscais_do_contrato#retorna_cargo' # Ajax
		get '/gestores_do_contrato/retorna_cargo', to: 'gestores_do_contrato#retorna_cargo' # Ajax

		nested_resources :licitacao, :impugnacoes, 'processos/:processo_id', except: [:index]
		nested_resources :licitacao, :recursos, 'processos/:processo_id', except: [:index]
		nested_resources :licitacao, :ocorrencias, 'processos/:processo_id', except: [:index]
		get 'processos/:processo_id/ocorrencias/baseline', to: 'ocorrencias#baseline', as: :baseline

		namespace :relatorios do
			get 'pedidos/imprimir', to: 'pedidos#imprimir', as: :pedido
			get 'pedidos/imprimir_doc', to: 'pedidos#imprimir_doc', as: :pedido_imprimir_doc
			get 'projetos/imprimir', to: 'projetos#imprimir', as: :projeto
			get 'processos/imprimir', to: 'processos#imprimir', as: :processo
			get 'processos/imprimir_doc', to: 'processos#imprimir_doc', as: :processo_imprimir_doc
			get 'contratos/imprimir', to: 'contratos#imprimir', as: :contrato
			get 'contratos/imprimir_doc', to: 'contratos#imprimir_doc', as: :contrato_imprimir_doc
			get 'aditivos/imprimir', to: 'aditivos#imprimir', as: :aditivo
			get 'aditivos/imprimir_doc', to: 'aditivos#imprimir_doc', as: :aditivo_imprimir_doc
			get 'aditivos_da_ata/imprimir', to: 'aditivos_da_ata#imprimir', as: :aditivo_da_ata
			get 'apostilamentos/imprimir', to: 'apostilamentos#imprimir', as: :apostilamento
			get 'apostilamentos/imprimir_doc', to: 'apostilamentos#imprimir_doc', as: :apostilamento_imprimir_doc
			get 'atas_de_registro_de_precos/imprimir', to: 'atas_de_registro_de_precos#imprimir', as: :ata_de_registro_de_preco
			get 'atas_de_registro_de_precos/imprimir_doc', to: 'atas_de_registro_de_precos#imprimir_doc', as: :ata_de_registro_de_preco_doc
		end

		get   'documentos_do_processo', to: 'documentos_do_processo#index'
		get   'documentos_do_processo/parecer', to: 'documentos_do_processo#parecer'
		get   'documentos_do_processo/edita_parecer/:id', to: 'documentos_do_processo#edita_parecer', as: :edita_parecer
		get   'documentos_do_processo/:id', to: 'documentos_do_processo#show'
		post  'documentos_do_processo/parecer', to: 'documentos_do_processo#cria_parecer'
		patch 'documentos_do_processo/parecer/:id', to: 'documentos_do_processo#atualiza_parecer'
		put   'documentos_do_processo/:id/conclui_parecer', to: 'documentos_do_processo#conclui_parecer', as: :conclui_parecer
		put   'documentos_do_processo/:id/receber_parecer_no_setor_juridico', to: 'documentos_do_processo#receber_parecer_no_setor_juridico', as: :receber_parecer_no_setor_juridico
		put   'documentos_do_processo/:id/devolver_parecer', to: 'documentos_do_processo#devolver_parecer', as: :devolver_parecer
		get   'documentos_do_processo/:projeto_id/modelos', to: 'documentos_do_processo#modelos', as: :modelos
		post  'documentos_do_processo/:projeto_id/retorna_modelo/:modelo_id', to: 'documentos_do_processo#retorna_modelo'


		get  'documentos_do_pedido/:pedido_id/modelos', to: 'documentos_do_pedido#modelos', as: :modelos_do_pedido
		post 'documentos_do_pedido/:pedido_id/retorna_modelo/:modelo_id', to: 'documentos_do_pedido#retorna_modelo'

		get  'documentos_da_cotacao_do_pedido/:pessoa_do_pedido_id/modelos', to: 'documentos_da_cotacao_do_pedido#modelos', as: :modelos_da_cotacao
		post 'documentos_da_cotacao_do_pedido/:pessoa_do_pedido_id/retorna_modelo/:modelo_id', to: 'documentos_da_cotacao_do_pedido#retorna_modelo'

		get  'documentos_do_aditivo/:aditivo_id/modelos', to: 'documentos_do_aditivo#modelos', as: :modelos_do_aditivo
		post 'documentos_do_aditivo/:aditivo_id/retorna_modelo/:modelo_id', to: 'documentos_do_aditivo#retorna_modelo'

		get 'documentos_do_aditivo_da_ata/:aditivo_da_ata_id/modelos/:id', to: 'documentos_do_aditivo_da_ata#modelos', as: :modelos_do_aditivo_da_ata
		post 'documentos_do_aditivo_da_ata/:aditivo_da_ata_id/retorna_modelo/:id', to: 'documentos_do_aditivo_da_ata#retorna_modelo'

		get  'documentos_do_apostilamento/:apostilamento_id/modelos/:id', to: 'documentos_do_apostilamento#modelos', as: :modelos_do_apostilamento
		post 'documentos_do_apostilamento/:apostilamento_id/retorna_modelo/:modelo_id', to: 'documentos_do_apostilamento#retorna_modelo'

		get 'documentos_do_contrato/:contrato_id/retorna_modelo/:modelo_id', to: 'documentos_do_contrato#retorna_modelo'
		get 'documentos_do_contrato/:contrato_id/modelos', to: 'documentos_do_contrato#modelos'

		get 'documentos_da_ata/:ata_de_registro_de_precos_id/retorna_modelo/:modelo_id', to: 'documentos_da_ata#retorna_modelo'
		get 'documentos_da_ata/:ata_de_registro_de_precos_id/modelos', to: 'documentos_da_ata#modelos'

		get 'documentos_do_etp/:etp_id/retorna_modelo/:modelo_id', to: 'documentos_do_etp#retorna_modelo'
		get 'documentos_do_etp/:etp_id/modelos', to: 'documentos_do_etp#modelos'

		########################################################################################################
		# RELATÓRIOS DA LICITACAO

		resources :relatorios_da_licitacao, only: [:new] do
			get 'imprimir', on: :collection
		end
		get '/relatorios_da_licitacao', to: 'relatorios_da_licitacao#selecionar_relatorio', as: :selecionar_relatorio

		resources :vistos_de_documentos_do_processo

    resources :arquivos_bll_dos_processos do
      get 'processar_arquivo', on: :member
      get 'desfazer_processamento_arquivo', on: :member
    end
	end

	namespace :licitacao, module: "loa" do
		nested_subresources :unidades_gestoras, ':exercicio'
	end

	namespace :licitacao, module: "contabilidade" do
		nested_subresources :solicitacao_de_alteracao_orcamentarias, 'projetos/:projeto_id'

		get 'lancamentos_do_orcamento_da_despesa/:exercicio/:orcamento_da_despesa/lancamentos', to: 'lancamentos_do_orcamento_da_despesa#lancamentos', as: :lancamentos_do_orcamento_da_despesa_lancamentos
	end
end
