if(JOptionPane.showConfirmDialog(EstadoPresoController.this, "Desea Guardar?", "Estado Preso", JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION){
if (!estadoAnterior.getDescripcion().equals("Libre")){
if (ComboEstado.getSelectedItem().toString().split(" - ")[1].equals("Libre")){
Celda c = (Celda) ec.createQuery("select a.celda from AsignacionPresoCelda a where a.preso = :preso and a.fechaDesde >= (select max(a2.fechaDesde) from AsignacionPresoCelda a2 where a2.preso = a.preso)", AsignacionPresoCelda.class).setParameter("preso", preso).getSingleResult();
modificarEstadoCelda(c);
AsignacionPresoCelda asig = (AsignacionPresoCelda) ec.createQuery("select a from AsignacionPresoCelda a where a.preso = :preso and a.fechaDesde >= (select max(a2.fechaDesde) from AsignacionPresoCelda a2 where a2.preso = a.preso)", AsignacionPresoCelda.class).setParameter("preso", preso).getSingleResult();
asig.setFechaHasta(new Timestamp(new Date().getTime()));
ec.updateEntity(asig);
}
ec.persist(estado, true);
JOptionPane.showMessageDialog(EstadoPresoController.this, "Estado modificado satisfactoriamente!");
panelListener.onPanelClose();