filtraIncidentesColaboradorNaData
Customiza os incidentes gerados para um colaborador, em um dia específico:
- É sobrescrito pelo usuário e retorna uma lista com os incidentes que serão gerados para o colaborador;
- É chamado para cada colaborador, incidente e dia, considerando somente os incidentes relevantes para o colaborador que está sendo processado.
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;
}
}
English
Español
English
Español


