Estou com um problema ao gerar um relatório… no meio da minha lista vem linhas vazias…
mas descobri que vem essas linhas porque tem dados que estão no biométrico mas não estão no Time Sheet.
agora que descobri isso preciso tratar isso também… mas não sei de que maneira…
segue a classe pra vocês entenderem . .
public List comparaTimeSheetBiometrico(Date dataIni, Date dataFim) throws ParseException {
listaTimeSheet = retornaConsultaTimeSheet(dataIni, dataFim);
listaBiometrico = retornaConsultaBiometrico(dataIni, dataFim);
listaAlmoco = retornaConsultaAlmoco(dataIni, dataFim);
boolean flag = false;
for (Biometrico bt : listaBiometrico) {
CompTimeSheetBiometrico comp = new CompTimeSheetBiometrico();
// tem linhas que não entram aqui nesse for (TimeSheetBio... ).
//então antes dele preciso tratar de maneira que só vai trazer do Biometrico os mesmos dias que tenho no Time Sheet.
// mas não sei como fazer isso =/.
for (TimeSheetBio ts : listaTimeSheet) {
if (ts.getHora() == null) {
flag = true;
} else {
flag = false;
}
if (ts.getSigla().equals(bt.getSigla()) && ts.getData().equals(bt.getData())) {
comp.setSigla(ts.getSigla());
comp.setNome(ts.getNome());
comp.setN_apropriacao(ts.getN_apropriacao());
comp.setData(bt.getData());
if (ts.getFlag_destino().equals("entrada")) {
if (!converteData(ts.getHora()).equals(formataHora(bt.getMenor_horario()))) {
comp.setEntradaTS(ts.getHora());
comp.setEntradaBio(bt.getMenor_horario());
} else if (converteData(ts.getHora()).equals(formataHora(bt.getMenor_horario()))) {
comp.setEntradaTS(ts.getHora());
comp.setEntradaBio(bt.getMenor_horario());
}
}
if (flag == true) {
for (TimeSheetAlmoco al : listaAlmoco) {
if (bt.getSigla().equals(al.getSigla()) && (bt.getData().equals(al.getData()))) {
if (al.getFlag_destino().equals("ida_almoco")) {
if (!converteData(al.getHora()).equals(formataHora(bt.getMaior_horario()))) {
comp.setSaidaTS(al.getHora());
comp.setSaidaBio(bt.getMaior_horario());
} else if (converteData(al.getHora()).equals(formataHora(bt.getMaior_horario()))) {
comp.setSaidaTS(al.getHora());
comp.setSaidaBio(bt.getMaior_horario());
}
}
}
}
} else if (flag == false) {
if (ts.getFlag_destino().equals("saida")) {
if (!converteData(ts.getHora()).equals(formataHora(bt.getMaior_horario()))) {
comp.setSaidaTS(ts.getHora());
comp.setSaidaBio(bt.getMaior_horario());
} else if (converteData(ts.getHora()).equals(formataHora(bt.getMaior_horario()))) {
comp.setSaidaTS(ts.getHora());
comp.setSaidaBio(bt.getMaior_horario());
}
}
}
}
}
listComp.add(comp);
}
return listComp;
}
Alguém pode me ajudar . ?!?!!!