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
Exemplo:
@Override
public List<Integer> filtraIncidentesColaboradorNaData(int numEmp, int tipCol, int numCad, LocalDate datApu, List<Integer> incidentes) {
System.out.println("Executou a regra " + this.getClass().getCanonicalName());
final int empresa = 3;
final int tipoColaborador = 1;
final int colaborador = 1;
final int codigoAlerta = 2;
LocalDate dia04 = new LocalDate(2009, 8, 4);
if (dia04.isEqual(datApu) && empresa == numEmp && tipoColaborador == tipCol && colaborador == numCad) {
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;
}
}