Skip to content

tellesleandro/sei

Repository files navigation

SEI!

Esta gem facilita o acesso ao webservice do SEI!. Ela possui a implementação dos métodos:

  • atribuir_processo
  • cancelar_documento
  • concluir_processo
  • consultar_documento
  • consultar_procedimento
  • disponibilizar_bloco
  • excluir_bloco
  • gerar_bloco
  • gerar_procedimento
  • incluir_documento
  • incluir_documento_bloco
  • incluir_processo_bloco
  • listar_unidades
  • listar_usuarios
  • reabrir_processo
  • retirar_documento_bloco
  • retirar_processo_bloco

O retorno do webservice é automaticamente associado às classes de retorno que possuem os atributos retornados por cada serviço. Estes atributos são acessados através de assessores da classe.

Instalação

Adicione esta linha no Gemfile da sua aplicação:

gem 'sei'

E execute:

$ bundle

Ou instale através do seguinte comando:

$ gem install sei

Uso

A classe test/sei_test.rb possui casos de teste que podem ser utilizados como exemplo para chamada dos serviços.

Antes de chamar os métodos dos serviços, é necessário configurar a gem através do comando:

Sei.configure do |config|
  config.wsdl = ENV['SEI_CONFIG_WSDL']
  config.follow_redirects = true
  config.pretty_print_xml = true
  config.sigla = ENV['SEI_CONFIG_SIGLA']
  config.identificacao = ENV['SEI_CONFIG_IDENTIFICACAO']
end

onde

config.wsdl é o endereço do WSDL do SEI, por exemplo http[s]://[servidor php]/sei/controlador_ws.php?servico=sei';

config.follow_redirects indica para a biblioteca 'savon' que ela deve seguir as respostas 'redirect' devolvidas pelo servidor;

config.pretty_print_xml indica para a biblioteca 'savon' que as mensagens XML geradas devem ser impressas no console de forma formatada;

config.sigla é a sigla do sistema configurada no SEI, através do menu administração -> sistemas;

config.identificacao é a identificação do serviço configurado no SEI, através do menu administração -> sistemas;

Exemplo:

procedimento = Sei::Estruturas::Procedimento.new
                .id_tipo_procedimento(id_tipo_procedimento)
                .especificacao(especificacao)
                .assunto(codigo_estruturado, descricao)
                .interessado(sigla, nome)
                .observacao(observacao)
                .nivel_de_acesso(nivel_de_acesso)
    
retorno_geracao_procedimento = Sei::Servico.gerar_procedimento(
                                  id_unidade,
                                  procedimento,
                                  documentos,
                                  procedimentos_relacionados,
                                  unidades_envio,
                                  manter_aberto_unidade,
                                  enviar_email_notificacao,
                                  data_retorno_programado,
                                  dias_retorno_programado,
                                  dias_uteis_retorno_programado)

puts retorno_geracao_procedimento.id_procedimento

Desenvolvimento

Após checar o repositório, execute bin/setup para instalar as dependências. Depois, execute rake test para rodar os testes. É possível também executar bin/console para carregar o prompt interativo que permite testar a gem na linha de comando.

Para instalar esta gem na sua máquina local, execute bundle exec rake install. Para publicar uma nova versão, atualize o número da versão em version.rb e execute bundle exec rake release. Isto criará uma tag git para a versão. Envie (push) os commits e tags e envie (push) o arquivo .gem para rubygems.org.

Contribuindo

Indicação de bugs e pull requests são bem-vindos no GitHub (https://github.com/tellesleandro/sei). Este projeto tem a intenção de ser seguro e incentiva a colaboração. É esperado que os contribuidores sigam o código de conduta Contributor Covenant.

Licença/License

Esta gem está disponível como código aberto dentro dos termos da MIT License.

The gem is available as open source under the terms of the MIT License.

About

Ruby gem for SEI integration

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published