Bom, eu preciso pegar a data de todos os contratos de um funcionario e comparar a data Minima e Maxima, e deletar se o funcionario não tinha nenhum contrato no periodo, ou seja filtrar uma lista de funcionarios…
Só que quando eu comparo e jogo as informações no JTable, alguns estão dentro do periodo como previsto, mas outros não são filtrados, sendo que as datas não deveriam entrar…
for (int i = 0; i < FuncionarioDAO.funcionarios.size(); i++) {
Funcionario f = FuncionarioDAO.funcionarios.get(i);
for (int j = 0; j < f.getContrato().size(); j++) {
if (!(f.getContrato().get(j).getDataEntrada() == null) && (!(f.getContrato().get(j).getDataSaida() == null))) {
if ((f.getContrato().get(j).getDataEntrada().before(dataMinima))) {
if ((f.getContrato().get(j).getDataSaida().before(dataMinima))) {
f.getContrato().remove(j);
if(f.getContrato().isEmpty()) {
FuncionarioDAO.funcionarios.remove(i);
}
} else if ((f.getContrato().get(j).getDataEntrada().after(dataMaxima))) {
if ((f.getContrato().get(j).getDataSaida().after(dataMaxima))) {
f.getContrato().remove(j);
if(f.getContrato().isEmpty()) {
FuncionarioDAO.funcionarios.remove(i);
}
}
}
}
}
}
}
Gostaria de saber qual o meu erro de lógica, pois já fiz de tudo, as condições testam se o funcionario foi contrado depois do periodo ou antes e saiu antes…