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