Regra de geração de incidentes

É utilizada para gerar incidentes de ponto customizados de acordo com a política da empresa. Através dessa regra é possível analisar informações do colaborador, como históricos, situações, marcações, definições e informações da ficha cadastral para que com essas informações perceba possíveis incidentes de ponto.

Esta regra é executada nos seguintes momentos:

Para criar uma regra de geração de incidentes é necessário seguir as seguintes premissas:

Exemplo:

Regra do contexto de incidentes para demonstração de uso:

Tem como objetivo criar um incidente quando o colaborador tem alguma exceção ou falta de marcações no dia apurado.

<div class="Code"><p><span class="bordo">package</span> custom.senior.incidente; </p><p><span class="bordo">public class</span> RegraIncidente <span class="bordo">extends</span> PontoRegraIncidente {</p><p class="Ident1"><span class="anotacao">@Override</span></p><p class="Ident1"><span class="bordo">public void</span> calcular(ContextoIncidente contextoIncidente) {</p><p class="Ident3"><span class="comentario">//Pega o dia apurado no contexto de incidentes</span></p><p class="Ident3">LocalDate dataApuracao = contextoIncidente.getDataApuracao();</p><p class="Ident3"></p><p class="Ident3"><span class="comentario">//Apuração do dia</span></p><p class="Ident3">ApuracaoColaborador apuracaoColaborador = contextoIncidente.getApuracaoColaborador(dataApuracao);</p><p class="Ident3"><span class="comentario">//Se tem alguma exceção no dia OU possui falta de marcações</span></p><p class="Ident3"><span class="bordo">if</span> (apuracaoColaborador.getTemExc() == 'S' || apuracaoColaborador.getFalMar() == 'S') {</p><p class="Ident4"><span class="comentario">//Então cria um incidente do tipo 39, que é customizado nesse exemplo</span></p><p class="Ident4">contextoIncidente.criarIncidente(39);</p><p class="Ident3">}</p><p class="Ident1">}</p><p>}</p></div>

Importante
  • Para a criação de incidentes customizados, via ponto de regra, é necessário ter previamente cadastrado um incidente do tipo 1 na base, caso contrário o incidente não será criado para o colaborador.
  • Quando existir uma regra configurada no ponto de regra de geração de incidentes, a criação de incidentes passa a ser tratada exclusivamente por esse ponto. Nesse cenário, métodos de criação de alertas ou incidentes utilizados em outros pontos de regra, como o ponto de apuração, não são executados.
Importante

Para que um campo de usuário customizado esteja com os valores atualizados, sem a necessidade de atualização da página, é necessário que a regra busque este valor através da entidade da tela, utilizando o método getField().getValue() do cursor e especificando o campo da seguinte maneira:

Object value = cursor.getField(<nome do campo de usuário>).getValue(<entidade que representa tabela>)

Contexto disponível: Contexto de geração de incidentes.

Este artigo ajudou você?