Precisa de apoio?
Gestão de Pessoas - Manual do Usuário > Customizações > Funções > filtraIncidentesColaboradorNaData

filtraIncidentesColaboradorNaData

Customiza os incidentes gerados para um colaborador, em um dia específico:

Sintaxe: filtraIncidentesColaboradorNaData(int numEmp, int tipCol, int numCad, LocalDate datApu, List<Integer> incidentes);

Parâmetros:

Nome Tipo Descrição
numEmp int Empresa do colaborador que está sendo processado.
tipCol int Tipo do colaborador que está sendo processado.
numCad int Cadastro do colaborador que está sendo processado.
datApu LocalDate Data que está sendo apurada e utilizada para gerar incidentes.
incidentes int Lista com os códigos dos incidentes em potencial para o colaborador na data passada como parâmetro.

Tipo de retorno: Retorna uma lista com os códigos dos incidentes que devem ser gerados para o colaborador no dia processado. Para não gerar incidentes para o colaborador neste dia, basta retornar uma lista vazia.

Contexto: Contexto de geração de incidentes. A regra precisa ter como padrão o pacote custom.br.com.senior.incidente e nome da classe RegraIncidenteFiltro e implementar na classe PontoRegraIncidenteFiltro.

Exemplo:

package custom.br.com.senior.incidente;

import java.util.List;

import java.time.LocalDate;

import br.com.senior.rh.entity.IColaboradorPonto;

import com.senior.util.config.Configuration;

public class RegraIncidenteFiltro implements PontoRegraIncidenteFiltro {

@Override

public List<Integer> filtraIncidentesColaboradorNaData(ContextoIncidente contextoIncidente, List<Integer> incidentes) {

System.out.println("Executou a regra " + this.getClass().getCanonicalName());

 

final int empresa = 1;

final int tipoColaborador = 1;

final int colaborador = 1;

final int codigoAlerta = 14;

LocalDate dia04 = LocalDate.of(2026, 5, 4);

 

IColaboradorPonto colaboradorPonto = contextoIncidente.getColaborador();

 

if (dia04.isEqual(contextoIncidente.getDataApuracao()) && empresa == colaboradorPonto.getNumEmp() && tipoColaborador == colaboradorPonto.getTipCol() && colaborador == colaboradorPonto.getNumCad()) {

for (int i = 0; i < incidentes.size(); i++) {

if (codigoAlerta == incidentes.get(i)) {

incidentes.remove(i);

break;

}

}

}

 

String regraExecutadoComSucesso = Boolean.FALSE.toString();

if (!incidentes.contains(new Integer(codigoAlerta))) {

regraExecutadoComSucesso = Boolean.TRUE.toString();

}

Configuration.set(getClass().getName(), regraExecutadoComSucesso);

return incidentes;

}

}

Este artigo ajudou você?