/** * Obtiene una lista de objetos de tipo SelectedItem. * * @return la lista */ public List<SelectItem> getSelectedItemSubespecialidad() { try { List<CexEspecialidad> listaSelEsp = new ArrayList<>(); List<SelectItem> items = new ArrayList<>(); for (CexEspecialidad obj : especialidad.getCexEspecialidadList()) { for (CexEspecialidadMedico objSelEspmed : obj.getCexEspecialidadMedicoList()) { if (objSelEspmed.getAdmMedico().getAmeEstado() == 1 && objSelEspmed.getCexEspecialidad().getCesEstado() == 1) { for (CexHorario objSelHor : objSelEspmed.getCexHorarioList()) { if (((objSelHor.getChoFechaFin().after(fechaAgenda) || objSelHor.getChoFechaFin().equals(fechaAgenda)) && objSelHor.getAdmInstitucion().equals(user.getUser().getAdmInstitucion())) && objSelHor.getAdmTipoConsulta().getAtcTipo().equals(1)) { if (!listaSelEsp.isEmpty()) { if (!listaSelEsp.contains(obj)) { listaSelEsp.add(obj); items.add(new SelectItem(obj, obj.getCesNombre())); } } else { listaSelEsp.add(obj); items.add(new SelectItem(obj, obj.getCesNombre())); } } } } } } return items; } catch (Exception e) { log.error("getSelectedItemSubespecialidad() {} ", e.getMessage()); } return null; }
/** * Obtiene una lista de objetos de tipo SelectedItem de la entidad CexMedico. * * @return la lista */ public List<SelectItem> getSelectedItemMedico() { try { Calendar c1 = Calendar.getInstance(); c1.setTime(fechaAgenda); dia = c1.get(Calendar.DAY_OF_WEEK); List<CexEspecialidadMedico> listEspMed = new ArrayList<>(); // Filtra los horarios segun el dia actual List<SelectItem> items = new ArrayList<>(); for (CexEspecialidadMedico cexEspMed : subEspecialidad.getCexEspecialidadMedicoList()) { if (cexEspMed.getAdmMedico().getAmeEstado() == 1 && cexEspMed.getCexEspecialidad().getCesEstado() == 1) { for (CexHorario cexHorario : cexEspMed.getCexHorarioList()) { if (((cexHorario.getChoFechaFin().after(fechaAgenda) || cexHorario.getChoFechaFin().equals(fechaAgenda)) && cexHorario.getAdmInstitucion().equals(user.getUser().getAdmInstitucion())) && cexHorario.getAdmTipoConsulta().getAtcTipo().equals(1)) { for (CexHorariosDia cexHorarioDia1 : cexHorario.getCexHorariosDiaList()) { // Validar que sea el dia actual if (cexHorarioDia1.getCexDia().getCdiId().equals(dia)) { if (cexHorarioDia1.getChdHoraInicioAm() != null || cexHorarioDia1.getChdHoraFinAm() != null) { if (!listEspMed.contains( cexHorarioDia1.getCexHorario().getCexEspecialidadMedico())) { items.add( new SelectItem( cexHorarioDia1.getCexHorario().getCexEspecialidadMedico(), cexHorarioDia1 .getCexHorario() .getCexEspecialidadMedico() .getAdmMedico() .getAmeNombreFull())); listEspMed.add(cexHorarioDia1.getCexHorario().getCexEspecialidadMedico()); } } } } } } } } return items; } catch (Exception e) { log.error("getSelectedItemMedico() {} ", e.getMessage()); } return null; }