Buenas tengo este problema cuando ingreso un historial se me actualiza las horasTotales y me hace algunas operaciones de resta que sucede cuando ingreso el primer registro de la tabla funciona bien pero cuando ingreso el segundo el resultado del segundo me lo resta con el primero no entiendo porque ya probe haciendo debug y nada este es el codigo
public void crearHistorial(Equipo equipo) { historialDao.crearHistorial(equipo, login.getUsuario(), historial.getHorastd(), historial.getUbicacion()); EntityManagerFactory emf = Persistence.createEntityManagerFactory("inventarioPU"); EntityManager em = emf.createEntityManager(); Equipo c = em.find(Equipo.class, equipo.getId()); c.setNumeroControl(historial.getUbicacion()); listahist = bm.buscarHistorial2(); for (Historial hist : listahist) { Historial d = em.find(Historial.class, hist.getId()); d.setHorasTrabajadas(d.getHorastd() - c.getHoras()totales()); c.setHorastotales(c.horastotales + d.HorasTrabajas); c.setHorasmotor(c.getHorasmotor() - d.getHorasTrabajadas()); c.setHorashrida(c.getHorashrida() - d.getHorasTrabajadas()); em.getTransaction().begin(); em.merge(d); em.getTransaction().commit();
Buenas tengo este problema cuando ingreso un historial se me actualiza las horasTotales y me hace algunas operaciones de resta que sucede cuando ingreso el primer registro de la tabla funciona bien pero cuando ingreso el segundo el resultado del segundo me lo resta con el primero no entiendo porque ya probe haciendo debug y nada este es el codigo
public void crearHistorial(Equipo equipo) {
historialDao.crearHistorial(equipo, login.getUsuario(), historial.getHorastd(), historial.getUbicacion());
EntityManagerFactory emf = Persistence.createEntityManagerFactory("inventarioPU");
EntityManager em = emf.createEntityManager();
Equipo c = em.find(Equipo.class, equipo.getId());
c.setNumeroControl(historial.getUbicacion());
listahist = bm.buscarHistorial2();
for (Historial hist : listahist) {
Historial d = em.find(Historial.class, hist.getId());
d.setHorasTrabajadas(d.getHorastd() - c.getHoras()totales());
c.setHorastotales(c.horastotales + d.HorasTrabajas);
c.setHorasmotor(c.getHorasmotor() - d.getHorasTrabajadas());
c.setHorashrida(c.getHorashrida() - d.getHorasTrabajadas());
em.getTransaction().begin();
em.merge(d);
em.getTransaction().commit();
}
em.getTransaction().begin();
em.merge(c);
em.getTransaction().commit();
abrirEquipo(EquipoID);
}