Olá pessoal da GUJ mais uma vez.
Estou desenvolvendo um sistema para gerenciar horas trabalhadas, não chega a ser uma ficha ponto completa, porém ele registra entrada, saída, calcula o período trabalhado entre os dois tempos e mais algumas funções que não vem ao caso.
Tenho uma jtable que me traz a lista de registros dos profissionais, porém até o momento estou trazendo cada um dos registros :
O que eu quero fazer é agrupar os registros por dia e profissional, e mostrar apenas uma vez.
exemplo:
Dia 25/02/2019 rogerio “9:01”
O código que estou utilizando para popular a JTable é este:
public void listarHorastrabalhadas(JTable tabelaHorastrabalhadas) {
DefaultTableModel modelTable = (DefaultTableModel) tabelaHorastrabalhadas.getModel();
tabelaHorastrabalhadas.setRowSorter(new TableRowSorter(modelTable));
modelTable.setNumRows(0);
SessionFactory sf = HibernateUtil.getSessionFactory();
Session session = sf.openSession();
session.beginTransaction();
String sql = "";
sql = "FROM Ponto";
Query query = session.createQuery(sql);
List<Ponto> dados_ponto = query.list();
int hora, minutos;
for (Ponto pontorow : dados_ponto) {
hora = new CalculaPonto().HorasTrabalhadas(pontorow);
minutos = new CalculaPonto().MinutosTrabalhados(pontorow);
modelTable.addRow(new Object[]{
pontorow.getId(),
Formatacao.ajustaDataDMA(pontorow.getDia().toString()),
pontorow.getProfissional().getNome(),
hora+ ":"+minutos
});
}
session.getTransaction().commit();
session.close();
}
Ficaria muito agradecido se alguem tivesse alguma sugestão. Como sou novo em Java as vezes me falta um pouco de conhecimento para resolver problemas que talvez sejam simples.
Obrigado desde já
