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:
// Obtenha os dados do colaborador, mas passe a opção incluiFuncoes constcolaborador = awaitpersona.getColaboradorPorLogin("igor.a.costa", {incluiFuncoes:true});
// As funções são obtidas no atributo "funcoes" constfuncoes = colaborador.funcoes;
// Você pode iterar pelas funções do colaborador e fazer o que desejar for (constfuncaooffuncoes) { console.log(funcao.codigo); console.log(funcao.idUorg); console.log(funcao.inicio); console.log(funcao.fim); }
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 constcolaborador = awaitpersona.getColaboradorPorLogin("igor.a.costa", {incluiSubstituicoes:true});
// As substituições são obtidas no atributo "substituicoes" constsubstituicoes = colaborador.substituicoes;
console.log(substituicoes);
// Você pode iterar pelas substituições do colaborador e fazer o que desejar for (constsubstituicaoofsubstituicoes) { console.log(substituicao.funcao); console.log(substituicao.idUorg) console.log(substituicao.siglaUorg) console.log(substituicao.inicio); console.log(substituicao.fim); }
// Obtém as ocorrências de Janeiro de 2022. constcolaborador = awaitpersona.getColaboradorPorLogin("igor.a.costa", {incluiOcorrencias:true, dataOcorrencias:"01/2022"});
// Obtém o objeto de ocorrências constocorrencias = colaborador.ocorrencias;
// Percorre as ocorrências for (constocorrenciaofocorrencias) { 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); }
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 constcolaborador = awaitpersona.getColaboradorPorLogin("igor.a.costa", {incluiJornadaTrabalho:true}); constjornadas = colaborador.jornadasTrabalho;
// Percorre a lista de jornadas de trabalho do colaborador. for (constjornadaofjornadas) { 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); }
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 constcolaborador = awaitpersona.getColaboradorPorLogin("igor.a.costa", {incluiTelefones:true}); consttelefones = colaborador.telefones;
// Percorre a lista de telefones e faz o que quiser com ela for (consttelefoneoftelefones) { console.log(telefone.tipo); console.log(telefone.ddd); console.log(telefone.numero); }
// Neste caso, irá pegar todas as subUorgs da COSIS // Podemos imprimir toda a hierarquia recursivamente: constimprimeUorgs = (uorgs : IUorg[]) => { if(uorgs) { for (constuorgofuorgs) { 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); } } } }
// Percorremos a lista de funções for (constfuncaooffuncoes) { 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 (constocupanteoffuncao.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 (constsubstitutooffuncao.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); } }
Módulo de integração com o 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:
Atenção:: você pode utilizar mais do que uma das opções em uma mesma chamada. Exemplo:
Por CPF
Neste exemplo, vamos obter um dado do colaborador pelo CPF, e imprimir o nome na tela:
Por login
Neste exemplo, obteremos o colaborador pelo login, e imprimiremos seu nome na tela:
Por unidade de lotação
Vamos pegar todos os colaboradores lotados diretamente na unidade 73084, ou seja, COSIS.
Agora, vamos pegar todos os colaboradores lotados na unidade, ou seja, COSIS, ou em suas filhas.
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:
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:
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:
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:
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:
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:
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:
Obter telefones do colaborador
Utilize qualquer uma das fuções anteriores para obter dados do colaborador, e adicione a opção incluiTelefones:
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:
Por ID da Uorg
Vamos pegar a Uorg de ID = 73084 e imprimir seu nome na tela:
Pela sigla
É necessário informar a sigla do pai no caso de uorgs homônimas.
Um exemplo é o seguinte:
Obter toda a hierarquia da STN e percorrê-la
Neste exemplo, obtenho a hierarquia da STN e imprimo todos os filhos recursivamente.
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.
Obter as UORGs filhas de uma unidade
Neste exemplo, obtenho as uorgs filhas da COSIS e imprimo em tela
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.
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.