Pular para o conteúdo principal

Solicitações Diversas

Essa seção visa orientar a configuração da funcionalidade de solicitações diversas.

Pré-requisitos​

  • psmobile: versão 2.25.1+

  • psmobile-ws: versão 2.2.0+

  • pontosoft-ws: versão 2.2.0+

  • pontosoft: versão 6.2.9.8+

  • PSM0020 -> Permite Espelho Ponto - Sim.

Criação de um tipo de solicitação​

tipo_solicitacaocod_assuntodescr_solicitacaonome_tabelaator_solicitacaonivel_aprovacaoanexo_documentoregra_sqlversion
1nullPrevisão de Horas ExtrasPREVISOES_HORAS_EXTRASGGNnull0
  • id - Identificado único do tipo de solicitação.
  • cod_assunto - ⌛.
  • descr_solicitacao - Descrição da solicitação.
  • nome_tabela - Nome da tabela a qual será aplicada as regras de negócio após a aprovação da solicitação.
  • ator_solicitacao - Usuário que poderá realizar a solicitação. Valores disponíveis G (Gestor), F (Funcionário) ou A (Ambos).
  • nivel_aprovacao_ - Permissão necessária para realizar a aprovação da solicitação. Valores disponíveis G (Gestor), R (RH).
  • anexo_documento - Indica se a solicitação poderá receber um anexo na hora da criação pelo ator. Valores disponíveis S (Sim), N (Não).
  • regra_sql - Regra PL/SQL que será executada a cada criação, edição, exclusão e avaliação de uma solicitação.
  • version - Necessário pelo framework Grails. Valor padrão 0.

Criação dos campos para o formulário da solicitação​

  • id - Identificador único do tipo de dado.
  • tipo_solicitacao - ID referente a tabela tipos_solicitacoes_mobile.
  • sequencia - Ordem em que o campo será exibido no formulário.
  • nome_atributo - Nome do atributo utilizado para o processamento da regra de negócio. Padrão snake case e upper case, exemplo COD_FUNCIONARIO.
  • nome_json - Nome que será utilizado para identificação do campo durante o cadastro da solicitação. Padrão camel case, exemplo codFuncionario.
  • tipo_dado - Tipo do dado que será exibido no formulário. Valores disponíveis string, number, date, time, datetime, select, checkbox, funcionario.
  • visivel - Indica se o campo será visível/mostrado no formulário durante o preenchimento das informações. Valores disponíveis S (Sim), N (Não).
  • opcional - Indica se o campo poderá ser vazio ou não. Valores disponíveis S (Sim), N (Não).
  • label - Texto apresentado a cima do campo no formulário.
  • mascara - Ainda não implementado. 🚧
  • placeholder - Texto apresentado no campo, quando nenhum valor foi informado ainda.
  • valor_padrao - Valor padrão do campo quando o formulário é aberto.
  • validacao - Validação para impedir que o usuário envie o formulário com alguma informação inválida. Varia de acordo com o tipo de dado.
  • sql_lookup - SQL Select para buscar os valores disponíveis quando o tipo de dado for select.
  • version - Necessário pelo framework Grails. Valor padrão 0.

Dado do tipo "select"​

Exemplo do campo renderizado na UI:

Select
nome_atributonome_jsontipo_dadovisivelopcionallabelplaceholdersql_lookup
TIPO_AUTORIZA_HEtipoAutorizaHEselectSSTipo AutorizaçãoSelecione o tipo de autorização
  • sql_lookup:
select 'Compensar' descr, 'C' cod from dual union all select 'Autorizar' descr, 'A' cod from dual
  • valor_padrao - Deve ser alguma das opções da variável cod retornada pelo sql acima.
info

É possível utilizar variáveis para a consulta SQL dos valores disponíveis para o usuário selecionar. Para isso, é necessário seguir o padrão abaixo:

  • A variável terá que começar com : e logo após a referência de nomeJson do outro campo dependente;
  • Para variáveis do tipo date, é necessário envolver o valor com to_date(:variavel, formato);
  • Caso algum dos campos dependentes ainda não esteja preenchido, o campo do tipo select ficará indisponível até que sejam preenchidos.
select ht.descr_horario_trabalho descr,
to_char(ht.cod_horario_trabalho) cod
from horarios_trabalhos ht,
funcionarios_parametros_pontos fpp
where(ht.ativo = 'S' or ht.ativo is null)
and fpp.cod_funcionario = :codFuncionario
and ps_horario_empresa_setor(fpp.cod_empresa, null, ht.cod_horario_trabalho, to_date(:dataHorarioTrabalho, 'YYYY-
MM-DD')) != 'N'
order by ht.descr_horario_trabalho asc;

Dado do tipo "date"​

Exemplo do campo renderizado na UI:

Date
nome_atributonome_jsontipo_dadovisivelopcionallabelvalidacao
DATA_PREVISTA_FOLGAdataPrevistaFolgadateSSData Prevista FolgaAFTER_THAN(dataInicialPrevista),ONLY_FUTURE_DAYS
  • validacao - Os valores para esta coluna devem ser cadastrados separados por , e sem espaços.
    • ONLY_FUTURE_DAYS - Indica que o campo deve ser preenchido com apenas datas futuras.
    • BEFORE_THAN($nomeJson) - Indica que o valor cadastrado deve ser antes que o valor do campo $nomeJson.
    • AFTER_THAN($nomeJson) - Indica que o valor cadastrado deve ser depois que o valor do campo $nomeJson.
  • opcional - Ao adicionar este campo com o valor S, será exibido um botão ao lado direito para possibilitar a remoção do valor.

Dado do tipo "time"​

Exemplo do campo renderizado na UI:

Time
nome_atributonome_jsontipo_dadovisivelopcionallabel
DATA_INICIOdataIniciotimeSSData Início
  • opcional - Ao adicionar este campo com o valor S, será exibido um botão ao lado direito para possibilitar a remoção do valor.

Dado do tipo "datetime"​

Exemplo do campo renderizado na UI:

Datetime
nome_atributonome_jsontipo_dadovisivelopcionallabelvalidacao
DATA_INICIAL_PREVISTAdataInicialPrevistadatetimeSNInícioBEFORE_THAN(dataFinalPrevista),ONLY_FUTURE_DAYS
  • validacao - Os valores para esta coluna devem ser cadastrados separados por , e sem espaços.
    • ONLY_FUTURE_DAYS - Indica que o campo deve ser preenchido com apenas datas futuras.
    • BEFORE_THAN($nomeJson) - Indica que o valor cadastrado deve ser antes que o valor do campo $nomeJson.
    • AFTER_THAN($nomeJson) - Indica que o valor cadastrado deve ser depois que o valor do campo $nomeJson.
  • opcional - Ao adicionar este campo com o valor S, será exibido um botão ao lado direito do campo de horas, para possibilitar a remoção do valor.

Dado do tipo "checkbox"​

Exemplo do campo renderizado na UI:

Checkbox
nome_atributonome_jsontipo_dadovisivelopcionallabelvalor_padrao
PROGRAMA_CRECHEprogramaCrechecheckboxSNPrograma crecheN
  • valor_padrao - Valores disponíveis: S (Sim) e N (Não).

Dado do tipo "funcionario"​

Esse tipo de dado carrega a listagem de todos os funcionários que o gestor possui acesso.

Exemplo do campo renderizado na UI:

Funcionario
nome_atributonome_jsontipo_dadovisivelopcionallabelplaceholder
COD_FUNCIONARIOcodFuncionariofuncionarioSNFuncionárioSelecione o funcionário

Adicionando vigência de tipo de solicitação por funcionário​

Antes de irmos para a funcionalidade em si, é necessário criar uma vigência para a empresa, empresa filial ou funcionário ter a permissão de realizar uma solicitação.

A criação da vigência é feita pela tabela tipos_solicitacoes_abrangencia:

  • id - Identificador único do registro.
  • tipo_solicitacao - Identificado do tipo de solicitação da tabela tipos_solicitacoes_mobile.
  • cod_empresa (Opcional) - Código da empresa do funcionário que terá a permissão.
  • cod_empresa_filial (Opcional) - Código da empresa filial que terá a permissão.
  • cod_funcionario (Opcional) - Código do funcionário que terá a permissão.
  • data_vigencia - Data inicial da vigência do tipo de solicitação para o funcionário.
  • data_fim_vigencia - Data final da vigência do tipo de solicitação para o funcionário.
  • version - Campo necessário por conta do framework Grails.

Utilização da funcionalidade como gestor​

Ao possuir ao menos um tipo de solicitação com o campo ator_solicitacao sendo o valor G ou A cadastrada na base do Ponto Soft, uma nova função ficará disponível na tela de Menu.

Gestor

Visualização dos funcionários​

Abrindo essa tela, é possível visualizar os colaboradores que possuem ao menos uma solicitação cadastrada no período.

dica

Para visualizar saldos de outros meses, retorne para a tela anterior e Selecione o Período desejado.

Funcionario

Criação de uma solicitação​

Para adicionar uma solicitação a um colaborador vinculado ao gestor, selecione o funcionário em questão e na sequência, clique em Adicionar Solicitação, na sequência, selecione o Tipo de solicitação desejada.

SolicitaçãoSolicitação

Selecionado o tipo de solicitação desejada, será aberto o formulário para preenchimento do gestor.

Formulário

Solicitações do funcionário​

Na página inicial das solicitações, é possível selecionar algum funcionário e visualizar as suas solicitações.

Nessa tela é possível ver o número de solicitações com situação Aprovada, Reprovada e Pendente. (Apenas aparecerá o indicador caso tenha uma ou mais solicitações com a situação).

Solicitações

Editar ou remover uma solicitação do funcionário​

Na tela de listagem de solicitações do funcionário, é possível editar ou remover uma solicitação selecionando-a.

Editar Solicitação

Avaliação de uma solicitação​

Caso a solicitação tenha sido feita pelo gestor, ela é, automaticamente, aprovada. Isso desde que o nível de aprovação (tipos_solicitacoes_mobile.nivel_aprovacao) seja N (Nenhum), F (Funcionário) ou G (Gestor);

O gestor só poderá realizar solicitações se houver a possibilidade do mesmo ser ator da solicitação (pessoa que vai abrí-la - tipos_solicitacoes_mobile.ator_solicitacao). Ou seja, deve haver a possibilidade da solicitação ser aberta por G (Gestor) ou A (Ambos).

  • N (Nenhum): Caso seja este o valor selecionado, a solicitação não precisará de aprovação. Ela estará automaticamente aceita.

  • F (Funcionário): Caso seja este o valor selecionado, a solicitação precisará da aprovação de um determinado funcionário.

  • G (Gestor): Caso seja este o valor selecionado, a solicitação precisará da aprovação do gestor.

Avaliação

Utilização da funcionalidade para o funcionário​

  • Caso a solicitação aberta pelo funcionário seja classificada com o nível de aprovação (tipos_solicitacoes_mobile.nivel_aprovacao) N (Nenhum), ela será aprovada automaticamente;

  • O funcionário só poderá realizar solicitações se houver a possibilidade do mesmo ser ator da solicitação (pessoa que vai abrí-la - tipos_solicitacoes_mobile.ator_solicitacao). Ou seja, deve haver a possibilidade da solicitação ser aberta por F (Funcionário) ou A (Ambos).

FuncionárioSolicitação

Anexo​

  • Há a opção de adicionar um anexo à solicitação: ao deixar a opção anexo_documento como S na tipos_solicitacoes_mobile, o app disponibiliza a função;

  • O anexo não é obrigatório; a ativação dele é opcional e apenas insere um novo campo no formulário, permitindo, assim, que um documento seja anexado.

Anexo