Módulo SEI¶
Sei¶
A biblioteca do Sei permite incluir, por meio do SEI Administrar, procedimentos/processos e documentos no SEI.
Para isso, você deve utilizar uma conexão com o Aria da seguinte forma para obter o objeto sei
.
Para fins de documentação, os processos no SEI aqui significam procedimentos. Portanto, saiba que processo e procedimento são sinônimos.
sei = Aria("username", "password").get_sei()
Como criar um Processo/Procedimento e adicionar documentos nele¶
Para criar um processo/procedimento no SEI, é necessário utilizar o método sei.gerar_procedimento
abaixo. No caso, passo como parâmetro o tipo do processo, que, no caso, é «100000206», que corresponde a «Licença por acidente em serviço».
novo_procedimento = sei.gerar_procedimento("100000206") # Licença por acidente em serviço
Depois, eu posso inserir documentos neste procedimento/processo, utilizando o código do procedimento gerado na linha anterior, que pode ser obtido por novo_procedimento.get('codigoProcedimentoSei')
.
Assim, usamos o método sei.gravar_documento_html
abaixo para incluir um documento HTML:
codigo_documento_novo = sei.gravar_documento_html(
codigo_procedimento_sei=novo_procedimento.get('codigoProcedimentoSei'),
descricao="Meu novo documento",
id_serie_sei=1247,
html="<p>HTML do meu documento</p>"
)
Esse método retorna um código de documento do SEI, que pode ser utilizado para objetivos diversos.
Para adicionar outros tipos de documentos, tais como PDF, é necessário utilizar a função sei.gravar_documento_arquivo
.
with open("MeuDocumento.pdf", "rb") as arquivo:
arquivo_teste = arquivo.read()
codigo_documento_novo_arquivo = sei.gravar_documento_arquivo(
codigo_procedimento_sei=novo_procedimento.get('codigoProcedimentoSei'),
descricao="Meu novo documento",
id_serie_sei=263,
nome_arquivo="MeuDocumento.pdf",
data_arquivo=datetime.now(),
arquivo=arquivo_teste
)
Assim, temos um processo com dois documentos, um HTML (nativo do SEI), e outro PDF (externo).
Obter um documento pelo código¶
Para obter dados de um documento SEI pelo seu código, utilizar o método sei.get_documento
.
documento_novo = sei.get_documento(codigo="134112")
Obter os dociumentos de um Processo/Procedimento¶
Para obter a lista de documentos de um procedimento/processo, basta utilizar o método sei.get_documentos
, e passar o código do procedimento desejado. Importante: Somente é possível obter os documentos de procedimentos/processo que tenham sido criado por essa API.
documentos_procedimento = sei.get_documentos(codigo_procedimento_sei="17944.100037/2023-84")
for doc in documentos_procedimento:
print(doc)
Obter dados de todas as Séries existentes¶
Para obter dados referentes a todas as séries existentes no SEI, utilizar o método sei.get_series
.
series = sei.get_series()
for serie in series:
print(serie.get("idSerie"))
print(serie.get("nome"))
print(serie.get("aplicabilidade"))
Obter uma Série pelo nome¶
Para obter uma série pelo seu nome, utilizar o método sei.get_serie
.
serie = sei.get_serie(nome="Volume de Processo")
print(serie.get("idSerie"))
print(serie.get("nome"))
print(serie.get("aplicabilidade"))
Obter todos os Modelos HTML do SEI Administrar¶
Para obter todos os modelos HTML cadastrados no SEI Administrar, utilizar o método sei.get_modelos_html
.
modelos_html = sei.get_modelos_html()
for modelo_html in modelos_html:
print(modelo_html.get("idModeloHtml"))
print(modelo_html.get("nome"))
print(modelo_html.get("html"))
print(modelo_html.get("idUnidadeStn"))
Obter os Modelos HTML de uma unidade¶
Para obter todos os Modelos HTML específicos de uma determinada unidade no SEI Administrar, por meio do ID da unidade, utilizar o método sei.get_modelos_html
.
modelos_html_unidade = sei.get_modelos_html(id_unidade_stn=1)
for modelo_html in modelos_html_unidade:
print(modelo_html.get("idModeloHtml"))
print(modelo_html.get("nome"))
print(modelo_html.get("html"))
print(modelo_html.get("idUnidadeStn"))
Obter um Modelo HTML por seu ID¶
Para obter um Modelo HTML do Sei Administrar pelo seu ID, utilizar o método sei.get_modelo_html
.
modelo_html = sei.get_modelo_html(id=1)
print(modelo_html.get("idModeloHtml"))
print(modelo_html.get("nome"))
print(modelo_html.get("html"))
print(modelo_html.get("idUnidadeStn"))
Obter a lista de Processos/Procedimentos¶
Para obter a lista de processos/procedimentos gerados por meio da API, utilizar o método sei.get_procedimentos
.
procedimentos = sei.get_procedimentos()
for procedimento in procedimentos:
print(procedimento.get("idProcedimento"))
print(procedimento.get("codigoProcedimentoSei"))
Obter um Processo/Procedimento por ID¶
Para obter um processo/procedimento pelo seu ID, utilizar o método sei.get_procedimento
.
procedimento_por_id = sei.get_procedimento(id=1)
print(procedimento_por_id.get("idProcedimento"))
print(procedimento_por_id.get("codigoProcedimentoSei"))
Obter um Processo/Procedimento por Código¶
Para obter um processo/procedimento pelo seu código, utilizar o método sei.get_procedimento
.
procedimento_por_codigo = sei.get_procedimento(codigo="17944.100005/2022-06")
print(procedimento_por_codigo.get("idProcedimento"))
print(procedimento_por_codigo.get("codigoProcedimentoSei"))
Module contents¶
- class pyarialib.sei.Sei(aria)[código fonte]¶
Bases:
object
- gerar_procedimento(id_tipo_procedimento: int) dict [código fonte]¶
Gera um procedimento/processo vazio no SEI. Retorna informações sobre o procedimento.
Example
- Parâmetros:
id_tipo_procedimento (int) – ID do tipo de procedimento.
- Retorno:
Informações do procedimento.
- Tipo de retorno:
dict
- get_documento(codigo: str) dict [código fonte]¶
Obtém um documento pelo seu código do SEI.
Example
documento_novo = sei.get_documento(codigo="134112")
- Parâmetros:
codigo (str) – código SEI do Documento.
- Retorno:
Documento SEI.
- Tipo de retorno:
dict
- get_documentos(codigo_procedimento_sei: str = None) list[dict] [código fonte]¶
Obtém uma lista de documentos de um determindo procedimento/processo. Procedimento é o mesmo que processo.
Somente vai trazer se o processo tiver sido feito pela API.
Example
documentos_procedimento = sei.get_documentos(codigo_procedimento_sei="17944.100037/2023-84") for doc in documentos_procedimento: print(doc)
- Parâmetros:
codigo_procedimento_sei (str, optional) – Código do procedimento/processo SEI. Defaults to None.
- Retorno:
_description_
- Tipo de retorno:
_type_
- get_modelo_html(id: int) dict [código fonte]¶
Obtém um modelo HTML com base em seu id.
Example
modelo_html = sei.get_modelo_html(id=1) print(modelo_html.get("idModeloHtml")) print(modelo_html.get("nome")) print(modelo_html.get("html")) print(modelo_html.get("idUnidadeStn"))
- Parâmetros:
id (int) – ID do Modelo HTML. Defaults to None.
- Retorno:
_description_
- Tipo de retorno:
_type_
- get_modelos_html(id_unidade_stn: int = None) list[dict] [código fonte]¶
Obtém uma lista de modelos HTML do SEI Administrar.
Example
modelos_html_unidade = sei.get_modelos_html(id_unidade_stn=1) for modelo_html in modelos_html_unidade: print(modelo_html.get("idModeloHtml")) print(modelo_html.get("nome")) print(modelo_html.get("html")) print(modelo_html.get("idUnidadeStn"))
- Parâmetros:
id_unidade_stn (int, optional) – ID da Unidade a qu pertence os Modelos HTML. É opcional. Defaults to None.
- Retorno:
a lista de Modelos Html.
- Tipo de retorno:
_type_
- get_procedimento(id: int = None, codigo: str = None) dict [código fonte]¶
Obtém um procedimento/processo específico pelo seu id ou pelo seu código.
Example
- Parâmetros:
id (int, optional) – ID do procedimento/processo. Defaults to None.
codigo (str, optional) – Código do procedimento/processo. Defaults to None.
- Retorno:
O procedimento.
- Tipo de retorno:
_type_
- get_procedimentos() list[dict] [código fonte]¶
Obtém a lista de Processos/Procedimentos no SEI Administrar. Basicamente, esta função irá trazer todos os Processos/Procedimentos que foram criados utilizando esta API.
Example
procedimentos = sei.get_procedimentos() for procedimento in procedimentos: print(procedimento.get("idProcedimento")) print(procedimento.get("codigoProcedimentoSei"))
- Retorno:
Lista de Processos/procedimentos.
- Tipo de retorno:
_type_
- get_serie(nome: str) dict [código fonte]¶
Obtém uma série do SEI pelo seu nome.
Example
serie = sei.get_serie(nome="Volume de Processo") print(serie.get("idSerie")) print(serie.get("nome")) print(serie.get("aplicabilidade"))
- Parâmetros:
nome (str) – o nome da série.
- Retorno:
_description_
- Tipo de retorno:
_type_
- get_series() list[dict] [código fonte]¶
Obtém a lista de séries do SEI.
Example
series = sei.get_series() for serie in series: print(serie.get("idSerie")) print(serie.get("nome")) print(serie.get("aplicabilidade"))
- Retorno:
a lista de séries do SEI.
- Tipo de retorno:
_type_
- gravar_documento_arquivo(codigo_procedimento_sei: str, descricao: str, id_serie_sei: int, arquivo: bytes | str, nome_arquivo: str, data_arquivo: datetime.datetime | str) str [código fonte]¶
Grava um documento qualquer (ex.: PDF) em um procedimento/processo SEI.
Example
with open("MeuDocumento.pdf", "rb") as arquivo: arquivo_teste = arquivo.read() codigo_documento_novo_arquivo = sei.gravar_documento_arquivo( codigo_procedimento_sei=novo_procedimento.get('codigoProcedimentoSei'), descricao="17944.100005/2022-06", id_serie_sei=263, nome_arquivo="Teste1.pdf", data_arquivo=datetime.now(), arquivo=arquivo_teste )
- Parâmetros:
codigo_procedimento_sei (str) – Código do procedimento SEI a ser incluído o documento.
descricao (str) – Descrição do documento.
id_serie_sei (int) – ID da Série.
arquivo (bytes | str) – Arquivo em bytes, ou o arquivo codificado em base64 em string.
nome_arquivo (str) – Nome do arquivo.s
data_arquivo (datetime | str) – Data do arquivo em datetime, ou em string no formato «DD/MM/YYYY».
- Retorno:
código SEI do documento.
- Tipo de retorno:
str
- gravar_documento_html(codigo_procedimento_sei: str, descricao: str, id_serie_sei: int, html: str) str [código fonte]¶
Grava um documento HTML em um procedimento/processo SEI.
Example
codigo_documento_novo = sei.gravar_documento_html( codigo_procedimento_sei="17944.100005/2022-06", descricao="Meu novo documento", id_serie_sei=1247, html="<p>HTML do meu documento</p>" )
- Parâmetros:
codigo_procedimento_sei (str) – Código do procedimento/processo sei.
descricao (str) – Descrição do documento.
id_serie_sei (int) – ID da Série.
html (str) – HTML com o conteúdo do documento.
- Retorno:
código SEI do documento gerado.
- Tipo de retorno:
str