Classe para obter dados do Persona.

Persona

Como obter dados de um Colaborador

Os dados do Colaborador podem ser obtidos por meio de uma série de métodos da classe {@link Persona.Persona.default}. Estes métodos retornam um objeto do tipo IColaborador, contendo os dados do colaborador em si.

Por padrão, apenas os dados básicos do colaborador são retornados. Os métodos possuem um atributo "options", que recebe um objeto contendo propriedades para que se obtenha dados específicos dos colaboradores.

As propriedades possíveis destes objetos são:

  • incluiFuncoes?: boolean: inclui no atributo "funcoes" a lista de funções que o usuário possui.
  • incluiFrequencia?: boolean: inclui no atributo "folhas" a lista de folhas de frequência do colaborador.
  • dataFrequencia?: string: obtém apenas as folhas de uma determinada data. Este atributo pode ter 3 tipos de formatos: "", para obter todas as folhas de um determinado ano. "/", para obter todas as folhas de um determinado mês. E "//", para obter as folhas de um dia específico.
  • incluiOcorrencias?: boolean: se inclui no atributo "ocorrencias" a lista de ocorrências registradas pelo colaborador.
  • dataOcorrencias?: string: obtém apenas as ocorrências de uma determinada data ou período. Este atributo pode ter 3 tipos de formatos: "", para obter todas as ocorrências de um determinado ano. "/", para obter todas as ocorrências de um determinado mês. E "//", para obter as folhas de um dia específico.
  • incluiDependentes?: boolean: se inclui no atributo "dependentes" uma lista de dependentes
  • incluiExercicios?: boolean: se inclui no atributo "exercicios" uma lista de uorgs em que o usuário esteve lotado.
  • incluiJornadaTrabalho?: boolean: se inclui no atributo "jornadaTrabalho" informações históricas sobre a jornada de trabalho do colaborador.;
  • incluiTelefones?: boolean: se inclui no atributo "telefones" uma lista de telefones cadastrados do colaborador.;
  • incluiSubstituicoes?: boolean: se inclui uma lista de substituições de funções do colaborador;

Atenção:: você pode utilizar mais do que uma das opções em uma mesma chamada. Exemplo:

{incluiDependentes: true, incluiTelefones: true}

Por CPF

Neste exemplo, vamos obter um dado do colaborador pelo CPF, e imprimir o nome na tela:

const persona = (await ariaConnect({username: "username", password: "password"})).getPersona();
const uorg = await persona.getColaboradorPorCpf(3064686119);

console.log(uorg.nome);

Por login

Neste exemplo, obteremos o colaborador pelo login, e imprimiremos seu nome na tela:

const persona = (await ariaConnect({username: "username", password: "password"})).getPersona();
const colaborador = await persona.getColaboradorPorLogin("igor.a.costa");

console.log(colaborador.nome);

Por unidade de lotação

Vamos pegar todos os colaboradores lotados diretamente na unidade 73084, ou seja, COSIS.

const persona = (await ariaConnect({username: "username", password: "password"})).getPersona();
const colaboradores = await persona.getColaboradoresPorIdUorg(73084, false);

for (const colaborador of colaboradores) {
console.log(colaborador.nomePessoa);
}

Agora, vamos pegar todos os colaboradores lotados na unidade, ou seja, COSIS, ou em suas filhas.

const persona = (await ariaConnect({username: "username", password: "password"})).getPersona();
const colaboradores = await persona.getColaboradoresPorIdUorg(73084, true);

for (const colaborador of colaboradores) {
console.log(colaborador.nomePessoa);
}

Obtendo as funções de um colaborador

Utilize qualquer uma das fuções anteriores para obter dados do colaborador, e adicione a opção incluiFuncoes:

const persona = (await ariaConnect({username: "username", password: "password"})).getPersona();

// Obtenha os dados do colaborador, mas passe a opção incluiFuncoes
const colaborador = await persona.getColaboradorPorLogin("igor.a.costa", {incluiFuncoes: true});

// As funções são obtidas no atributo "funcoes"
const funcoes = colaborador.funcoes;

// Você pode iterar pelas funções do colaborador e fazer o que desejar
for (const funcao of funcoes) {
console.log(funcao.codigo);
console.log(funcao.idUorg);
console.log(funcao.inicio);
console.log(funcao.fim);
}

Obtendo as substituições de um colaborador

Utilize qualquer uma das fuções anteriores para obter dados do colaborador, e adicione a opção incluiSubstituicoes:

// Obtenha os dados do colaborador, mas passe a opção incluiSubstituicoes
const colaborador = await persona.getColaboradorPorLogin("igor.a.costa", {incluiSubstituicoes: true});

// As substituições são obtidas no atributo "substituicoes"
const substituicoes = colaborador.substituicoes;

console.log(substituicoes);

// Você pode iterar pelas substituições do colaborador e fazer o que desejar
for (const substituicao of substituicoes) {
console.log(substituicao.funcao);
console.log(substituicao.idUorg)
console.log(substituicao.siglaUorg)
console.log(substituicao.inicio);
console.log(substituicao.fim);
}

Obtendo os dados de frequência de um colaborador

Utilize qualquer uma das fuções anteriores para obter dados do colaborador, e adicione a opção incluiFrequencia e dataFrequencia:

const persona = (await ariaConnect({username: "username", password: "password"})).getPersona();

const colaborador = await persona.getColaboradorPorLogin("igor.a.costa", {incluiFrequencia: true, dataFrequencia: "01/2019"});
const frequencias = colaborador.frequencias;

for (const frequencia of frequencias) {
console.log(frequencia.situacao);
console.log(frequencia.data);
console.log(frequencia.dataAprovacao);
console.log(frequencia.dataConclusao);
console.log(frequencia.dataFechamento);

for (const diaFolha of frequencia.folha) {
console.log(diaFolha.data);
console.log(diaFolha.entradaPrimeiroPeriodo);
console.log(diaFolha.saidaPrimeiroPeriodo);
console.log(diaFolha.entradaSegundoPeriodo);
console.log(diaFolha.saidaPrimeiroPeriodo);
}
}

Obtendo os dados de ocorrências de um colaborador

Utilize qualquer uma das fuções anteriores para obter dados do colaborador, e adicione a opção incluiOcorrencias, e dataOcorrencias:

const persona = (await ariaConnect({username: "username", password: "password"})).getPersona();

// Obtém as ocorrências de Janeiro de 2022.
const colaborador = await persona.getColaboradorPorLogin("igor.a.costa", {incluiOcorrencias: true, dataOcorrencias: "01/2022"});

// Obtém o objeto de ocorrências
const ocorrencias = colaborador.ocorrencias;

// Percorre as ocorrências
for (const ocorrencia of ocorrencias) {
console.log(ocorrencia.codigo);
console.log(ocorrencia.nome);
console.log(ocorrencia.descricao);
console.log(ocorrencia.duracaoDia);
console.log(ocorrencia.inicio);
console.log(ocorrencia.fim);
console.log(ocorrencia.debitaPeriodoAquisitivo);
console.log(ocorrencia.parcial);
console.log(ocorrencia.suspenseEfetivacaoSubst);
console.log(ocorrencia.validada);
}

Obter os dados dos dependentes do colaborador

Utilize qualquer uma das fuções anteriores para obter dados do colaborador, e adicione a opção incluiDependentes:

const persona = (await ariaConnect({username: "username", password: "password"})).getPersona();

const colaborador = await persona.getColaboradorPorLogin("igor.a.costa", {incluiDependentes: true});
const dependentes = colaborador.dependentes;

for (const dependente of dependentes) {
console.log(dependente.cpf);
console.log(dependente.grauParentesco);
console.log(dependente.nome);
}

Obter os dados dos exercícios (lotações) do colaborador

Utilize qualquer uma das fuções anteriores para obter dados do colaborador, e adicione a opção incluiExercicios:

const persona = (await ariaConnect({username: "username", password: "password"})).getPersona();

const colaborador = await persona.getColaboradorPorLogin("igor.a.costa", {incluiExercicios: true});
const exercicios = colaborador.exercicios;

for (const exercicio of colaborador.exercicios) {
console.log(exercicio.inicio);
console.log(exercicio.fim);
console.log(exercicio.idUorg);
console.log(exercicio.sigla);
console.log(exercicio.movimentacao);
}

Obter os dados das jornadas de trabalho do colaborador

Utilize qualquer uma das fuções anteriores para obter dados do colaborador, e adicione a opção incluiJornadaTrabalho:

// Obtenha os dados do colaborador, mas passe a opção incluiJornadaTrabalho
const colaborador = await persona.getColaboradorPorLogin("igor.a.costa", {incluiJornadaTrabalho: true});
const jornadas = colaborador.jornadasTrabalho;

// Percorre a lista de jornadas de trabalho do colaborador.
for (const jornada of jornadas) {
console.log(jornada.inicio);
console.log(jornada.fim);
console.log(jornada.entradaPrimeiroPeriodo);
console.log(jornada.saidaPrimeiroPeriodo);
console.log(jornada.entradaSegundoPeriodo);
console.log(jornada.saidaSegundoPeriodo);
console.log(jornada.tipoHorario);
}

Obter telefones do colaborador

Utilize qualquer uma das fuções anteriores para obter dados do colaborador, e adicione a opção incluiTelefones:

// Obtenha os dados do colaborador, mas passe a opção incluiTelefones
const colaborador = await persona.getColaboradorPorLogin("igor.a.costa", {incluiTelefones: true});
const telefones = colaborador.telefones;

// Percorre a lista de telefones e faz o que quiser com ela
for (const telefone of telefones) {
console.log(telefone.tipo);
console.log(telefone.ddd);
console.log(telefone.numero);
}

Como obter dados de UORGs

Os dados da uorg podem ser obtidos por métodos na classe Aria.

Os métodos aceitam as seguintes options:

  • incluiSubUorgs?: boolean: traz não somente a uorg em questão, mas também todas as suas subUorgs, no atributo subUorgs.
  • incluiFuncoes?: boolean: se inclui as funções e os colaboradores que ocuparam as funções da uorg.
  • incluiInativas?: boolean: se inclui unidades inativas no resultado.

Por ID da Uorg

Vamos pegar a Uorg de ID = 73084 e imprimir seu nome na tela:

const persona = (await ariaConnect({username: "username", password: "password"})).getPersona();
const uorg = await persona.getUorgPorId(73084);

console.log(uorg.nome);

Pela sigla

É necessário informar a sigla do pai no caso de uorgs homônimas.

Um exemplo é o seguinte:

const persona = (await ariaConnect({username: "username", password: "password"})).getPersona();
const uorg = await persona.getUorgPorSiglas("COSIS", "COGET");

console.log(uorg.nome);

Obter toda a hierarquia da STN e percorrê-la

Neste exemplo, obtenho a hierarquia da STN e imprimo todos os filhos recursivamente.

const persona = (await ariaConnect({username: "username", password: "password"})).getPersona();
const uorgStn = await persona.getHierarquiaSTN();

// Função recursiva que imprime Uorgs e seus filhos
const imprimeUorgs = (uorgs : IUorg[]) => {
if(uorgs) {
for (const uorg of uorgs) {
console.log(uorg.nome);

if(uorg.subUorgs.length > 0) {
console.log("Filhos:");
imprimeUorgs(uorg.subUorgs);
}
}
}
}

imprimeUorgs(uorgStn.subUorgs);

Obter as Uorgs por nível

Neste exemplo, pegamos todas as Uorgs no nível "Órgão", que é o número 1, e printamos o seu nome.

const persona = (await ariaConnect({username: "username", password: "password"})).getPersona();
const uorgs = await persona.getUorgsPorNivel(1); // Nível Órgão
*
for (const uorg of uorgs) {
console.log(uorg.nome);
}

Obter as UORGs filhas de uma unidade

Neste exemplo, obtenho as uorgs filhas da COSIS e imprimo em tela

const persona = (await ariaConnect({username: "username", password: "password"})).getPersona();
const uorgs = await persona.getUorgsFilhas(73084);

for(const uorg of uorgs) {
console.log(uorg.nome);
}

Obter as sub-uorgs de uma uorg

É possível obter todas as sub-uorgs de uma uorg específica, e as sub-uorgs dessas sub-uorgs também. Para isso, usar a option incluiSubUorgs.

const uorg = await persona.getUorgPorId(73084, {incluiSubUorgs: true});
const subUorgs = uorg.subUorgs;

// Neste caso, irá pegar todas as subUorgs da COSIS
// Podemos imprimir toda a hierarquia recursivamente:
const imprimeUorgs = (uorgs : IUorg[]) => {
if(uorgs) {
for (const uorg of uorgs) {
console.log(uorg.nome);

// As subUorgs também têm subUorgs, então eu posso
// usar da recursão e percorrê-las
if(uorg.subUorgs.length > 0) {
console.log("Filhos:");
imprimeUorgs(uorg.subUorgs);
}
}
}
}

imprimeUorgs(subUorgs);

Obter as listas das funções de uma uorg e seus ocupantes

Podemos obter a lista das funções de uma uorg e seus ocupantes usando qualquer uma das funções para obter uorg, e usando a option incluiFuncoes.

const uorg = await persona.getUorgPorId(73084, {incluiFuncoes: true});
const funcoes = uorg.funcoes;

// Percorremos a lista de funções
for (const funcao of funcoes) {
console.log(funcao.idFuncao);
console.log(funcao.idFuncaoUnidade);
console.log(funcao.codigo);
console.log(funcao.inicio);
console.log(funcao.fim);
console.log(funcao.legislacao);
console.log(funcao.tipo);
console.log(funcao.funcaoStn);
console.log(funcao.ativo);

// Agora, percorremos a lista de ocupantes dessa função
for (const ocupante of funcao.ocupantes) {
console.log(ocupante.login);
console.log(ocupante.nome);
console.log(ocupante.cpf);
console.log(ocupante.idColaborador);
console.log(ocupante.idPessoa);
console.log(ocupante.inicio);
console.log(ocupante.fim);
}

// Agora, também percorremos a lista de substitutos dessa função
for (const substituto of funcao.substituicoes) {
console.log(substituto.login);
console.log(substituto.nome);
console.log(substituto.cpf);
console.log(substituto.idColaborador);
console.log(substituto.idPessoa);
console.log(substituto.inicio);
console.log(substituto.fim);
}
}

Author

Igor Augusto de Faria Costa

Hierarchy

  • default

Constructors

Methods

  • Obtém os dados de um colaborador pelo CPF.

    Example

    Vamos obter um colaborador pelo CPF e imprimir o seu nome.

    const persona = (await ariaConnect({username: "username", password: "password"})).getPersona();
    const uorg = await persona.getColaboradorPorCpf(3064686119);

    console.log(uorg.nome);

    Returns

    Parameters

    • cpf: number

      CPF do colaborador, sem pontos e nem vírgulas.

    • Optional options: default

      Opções de retorno. Ver IColaboradorUorg.

    Returns Promise<default>

  • Vamos obter um colaborador pelo login e imprimir o seu nome.

    const persona = (await ariaConnect({username: "username", password: "password"})).getPersona();
    const colaborador = await persona.getColaboradorPorLogin("igor.a.costa");

    console.log(colaborador.nome);

    Returns

    Parameters

    • login: string
    • Optional options: default

    Returns Promise<default>

  • Obtém uma lista de colaboradores lotados atualmente em uma determinada Uorg.

    Example

    Vamos pegar todos os colaboradores lotados diretamente na unidade 73084, ou seja, COSIS.

    const persona = (await ariaConnect({username: "username", password: "password"})).getPersona();
    const colaboradores = await persona.getColaboradoresPorIdUorg(73084, false);

    for (const colaborador of colaboradores) {
    console.log(colaborador.nomePessoa);
    }

    Agora, vamos pegar todos os colaboradores lotados na unidade 73084, ou seja, COSIS, ou em suas filhas.

    const persona = (await ariaConnect({username: "username", password: "password"})).getPersona();
    const colaboradores = await persona.getColaboradoresPorIdUorg(73084, true);

    for (const colaborador of colaboradores) {
    console.log(colaborador.nomePessoa);
    }

    Returns

    Parameters

    • idUorg: number
    • incluirSubUorgs: boolean
    • Optional options: default

    Returns Promise<default[]>

  • Obtém toda a hierarquia da STN no campo subUorgs.

    Example

    Neste exemplo, obtenho a hierarquia e imprimo todos os filhos recursivamente.

    const persona = (await ariaConnect({username: "username", password: "password"})).getPersona();
    const uorgStn = await persona.getHierarquiaSTN();

    // Função recursiva que imprime Uorgs e seus filhos
    const imprimeUorgs = (uorgs : IUorg[]) => {
    if(uorgs) {
    for (const uorg of uorgs) {
    console.log(uorg.nome);

    if(uorg.subUorgs.length > 0) {
    console.log("Filhos:");
    imprimeUorgs(uorg.subUorgs);
    }
    }
    }
    }

    imprimeUorgs(uorgStn.subUorgs);

    Returns

    Promise do IUorg contendo toda a hierarquia da STN no campo subUorgs.

    Returns Promise<default>

  • Obtém uma uorg pelo seu ID.

    Example

    Vamos pegar a Uorg de ID = 73084 e imprimir seu nome na tela:

    const persona = (await ariaConnect({username: "username", password: "password"})).getPersona();
    const uorg = await persona.getUorgPorId(73084);

    console.log(uorg.nome);

    Returns

    Parameters

    • idUorg: number

      ID da Uorg.

    • Optional options: default

      Opções de retorno. Ver IOptionsUorg.

    Returns Promise<default>

  • Obtém uma UORG pela sua sigla, e pela sigla do pai. É necessário informar a sigla do pai no caso de uorgs homônimas.

    Example

    Um exemplo é o seguinte:

    const persona = (await ariaConnect({username: "username", password: "password"})).getPersona();
    const uorg = await persona.getUorgPorSiglas("COSIS", "COGET");

    console.log(uorg.nome);

    Returns

    Parameters

    • sigla: string

      Sigla da UORG.

    • siglaPai: string

      Sigla do pai

    • Optional options: default

      Opções de retorno. Ver IOptionsUorg.

    Returns Promise<default>

  • Obtém as Uorgs filhas de uma determinada Uorg.

    Returns

    Promise com a lista de Uorgs filhas.

    Parameters

    • idUorg: number

      ID da Uorg pai.

    • Optional options: default

      Opções de retorno. Ver IOptionsUorg. -

    Returns Promise<default[]>

  • Obtém as Uorgs de um determinado nível.

    Example

    Neste exemplo, pegamos todas as Uorgs no nível "Órgão", e printamos o seu nome.

    const persona = (await ariaConnect({username: "username", password: "password"})).getPersona();
    const uorgs = await persona.getUorgsPorNivel(1); // Nível Órgão

    for (const uorg of uorgs) {
    console.log(uorg.nome);
    }

    Returns

    Parameters

    • idNivel: number

      ID do Nível. Os níveis possíveis são:

      • 1: Órgão
      • 2: Subórgão
      • 4: Gerência
      • 6: Administração Direta Estadual
      • 7: Administração Direta Federal
      • 8: Administração Direta Municipal
      • 9: Autarquia
      • 10: COGEF
      • 11: Economia Mista
      • 12: Empresa Privada
      • 13: Empresa Pública
      • 14: Fundação
      • 15: Interna
      • 16: Judiciário Estadual
      • 17: Judiciário Federal
      • 18: Legislativo Estadual
      • 19: Legislativo Federal
      • 20: Ministério da Fazenda
      • 21: Presidência da República
      • 22: STN - Coordenação
      • 23: STN - Coordenação-geral
      • 24: STN - Gabinete
      • 25: STN - Gerência
      • 26: STN - Núcleo
      • 27: STN - Secretaria
      • 28: STN - Subsecretaria
      • 2050: STN - Diretoria
      • 3050: Organismo Internacional
      • 4050: STN - Assessoria
      • 5051: Secretaria Especial
      • 6050: STN - Divisão
      • 5050: Ministério da Economia: 1: 1
    • Optional options: default

    Returns Promise<default[]>

Generated using TypeDoc