if (!alta) {
Integer nro = (Integer) ec.createQuery("select distinct a.celda.id from AsignacionPresoCelda a where a.preso = :preso and a.fechaDesde >= (select max(a2.fechaDesde) from AsignacionPresoCelda a2 where a.preso = a2.preso)", AsignacionPresoCelda.class).setParameter("preso", preso).getSingleResult();
celdasInt = ec.createQuery("select c from CeldaInterna c where c.pabellon = :pabellon and c.espacioOcupado + 3 <= c.tamanio", Celda.class).setParameter("pabellon", pabellon).getResultList();
listModel.clear();
for (int i = 0; i < celdasInt.size(); i++) {
CeldaInterna celda = celdasInt.get(i);
if (nro != celda.getCelda().getId()) {
listModel.addElement("Nombre Celda: " + celda.getNombreCelda() + "-" + "Espacio Ocupado: " + celda.getEspacioOcupado());
}
}
} else {
celdasInt = ec.createQuery("select c from CeldaInterna c where c.pabellon = :pabellon and c.espacioOcupado + 3 <= c.tamanio", Celda.class).setParameter("pabellon", pabellon).getResultList();
listModel.clear();
for (int i = 0; i < celdasInt.size(); i++) {
CeldaInterna celda = celdasInt.get(i);
listModel.addElement("Nombre Celda: " + celda.getNombreCelda() + "-" + "Espacio Ocupado: " + celda.getEspacioOcupado());
}
}
}
if (tipo.equals(CarcelConstants.DOMICILIARIA)) {
celdasDom = ec.createQuery("select c from CeldaDomiciliaria c where c.estado = :estado", Celda.class).setParameter("estado", CarcelConstants.ESTADO_CELDA_LIBRE).getResultList();
listModel.clear();
for (int i = 0; i < celdasDom.size(); i++) {
CeldaDomiciliaria celda = celdasDom.get(i);
listModel.addElement("Nro Celda: " + celda.getCelda().getId() + "-" + "Localidad: " + celda.getLocalidad());
}
}
}