Module Módulo Sei

Módulo de integração com o 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.

const aria = await ariaConnect({username: "username", password: "password"});
const sei = aria.getSei();

Se desejar utilizar em ambiente de Desenvolvimento, utilizar:

const aria = await ariaConnect({username: "username", password: "password", baseUrl: "http://ms-aria.appsdev.ocp.tesouro.gov.br/"});
const sei = aria.getSei();

E, em ambiente de Homologação, usar:

const aria = await ariaConnect({username: "username", password: "password", baseUrl: "http://ms-aria.appshom.ocp.tesouro.gov.br/"});
const sei = aria.getSei();

Como criar um Processo/Procedimento e adicionar documentos nele

Para criar um processo/procedimento no SEI, é necessário utilizar o método sei.gerarProcedimento 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".

const novoProcedimento = await sei.gerarProcedimento("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 novoProcedimento.codigoProcedimentoSei.

Assim, usamos o método sei.gravarDocumentoHtml abaixo para incluir um documento HTML:

const codigoDocumentoNovo = await sei.gravarDocumentoHtml({
codigoProcedimentoSei: novoProcedimento.codigoProcedimentoSei,
descricao: "Meu novo documento",
idSerieSei: 1247,
payloadHtml: "<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.gravarDocumentoArquivo.

const arquivoTeste = fs.readFileSync("Teste1.pdf");

const codigoDocumentoNovoArquivo = await sei.gravarDocumentoArquivo({
codigoProcedimentoSei: novoProcedimento.codigoProcedimentoSei,
descricao: "Meu novo documento",
idSerieSei: 263,
nomeArquivo: "Teste1.pdf",
dataArquivo: new Date(),
arquivo: arquivoTeste
});

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.getDocumentoPorCodigo.

const documentoNovo = await sei.getDocumentoPorCodigo(codigoDocumentoNovo);

Obter os documentos de um Processo/Procedimento

Para obter a lista de documentos de um procedimento/processo, basta utilizar o método sei.getDocumentosPorCodigoProcedimento, 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.

const documentosProcedimento = await sei.getDocumentosPorCodigoProcedimento("17944.100037/2023-84");

for(const doc of documentosProcedimento) {
console.log(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.getSeries.

const series = await sei.getSeries()

for(const serie of series) {
console.log(serie.idSerie);
console.log(serie.nome);
console.log(serie.aplicabilidade);
}

Obter uma Série pelo nome

Para obter uma série pelo seu nome, utilizar o método sei.getSeriePorNome.

const serie = await sei.getSeriePorNome("Volume de Processo");
console.log(serie.idSerie);
console.log(serie.nome);
console.log(serie.aplicabilidade);

Obter todos os Modelos HTML do SEI Administrar

Para obter todos os modelos HTML cadastrados no SEI Administrar, utilizar o método sei.getModelosHtml.

const modelosHtml = await sei.getModelosHtml();

for(const modeloHtml of modelosHtml) {
console.log(modeloHtml.idModeloHtml);
console.log(modeloHtml.nome);
console.log(modeloHtml.html);
console.log(modeloHtml.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.getModelosHtmlPorIdUnidade.

const modelosHtmlUnidade = await sei.getModelosHtmlPorIdUnidade(1);

for(const modeloHtml of modelosHtmlUnidade) {
console.log(modeloHtml.idModeloHtml);
console.log(modeloHtml.nome);
console.log(modeloHtml.html);
console.log(modeloHtml.idUnidadeStn);
}

Obter um Modelo HTML por seu ID

Para obter um Modelo HTML do Sei Administrar pelo seu ID, utilizar o método sei.getModeloHtmlPorId.

const modeloHtml = await sei.getModeloHtmlPorId(1);
console.log(modeloHtml.idModeloHtml);
console.log(modeloHtml.nome);
console.log(modeloHtml.html);
console.log(modeloHtml.idUnidadeStn);

Obter a lista de Processos/Procedimentos

Para obter a lista de processos/procedimentos gerados por meio da API, utilizar o método sei.getProcedimentos.

const procedimentos = await sei.getProcedimentos();

for(const procedimento of procedimentos) {
console.log(procedimento.idProcedimento);
console.log(procedimento.codigoProcedimentoSei);
}

Obter um Processo/Procedimento por ID

Para obter um processo/procedimento pelo seu ID, utilizar o método sei.getProcedimentoPorId.

const procedimentoPorId = await sei.getProcedimentoPorId(1);
console.log(procedimentoPorId.idProcedimento);
console.log(procedimentoPorId.codigoProcedimentoSei);

Obter um Processo/Procedimento por Código

Para obter um processo/procedimento pelo seu código, utilizar o método sei.getProcedimentoPorCodigo.

const procedimentoPorCodigo = await sei.getProcedimentoPorCodigo("17944.100005/2022-06");
console.log(procedimentoPorCodigo.idProcedimento);
console.log(procedimentoPorCodigo.codigoProcedimentoSei);

Index

Classes

Generated using TypeDoc