public void cargarRespuestasPregunta() { try { if (ConstantesClima.Parametro.PREGUNTA_TIPO_RESPUESTA_UNICA_HORIZONTAL.equals( preguntaDto.getTipoPreguntaDto().getId()) || ConstantesClima.Parametro.PREGUNTA_TIPO_RESPUESTA_UNICA_VERTICAL.equals( preguntaDto.getTipoPreguntaDto().getId()) || ConstantesClima.Parametro.PREGUNTA_TIPO_RESPUESTA_UNICA_DESPLEGABLE.equals( preguntaDto.getTipoPreguntaDto().getId())) { List<RespuestaDto> listResp = respuestaManager.obtenerRespuestaxPreguntaEncuestado(preguntaDto, encuestadoDto); if (listResp != null && listResp.size() > 0) { preguntaDto.setOpcionSeleted(listResp.get(0).getOpcionDto().getId()); } } else if (ConstantesClima.Parametro.PREGUNTA_TIPO_RESPUESTA_MULTIPLE_HORIZONTAL.equals( preguntaDto.getTipoPreguntaDto().getId()) || ConstantesClima.Parametro.PREGUNTA_TIPO_RESPUESTA_MULTIPLE_VERTICAL.equals( preguntaDto.getTipoPreguntaDto().getId())) { List<RespuestaDto> listResp = respuestaManager.obtenerRespuestaxPreguntaEncuestado(preguntaDto, encuestadoDto); if (listResp != null && listResp.size() > 0) { for (int n = 0; n < listResp.size(); n++) { for (int p = 0; p < preguntaDto.getListaOpcionesResp().size(); p++) { if (listResp .get(n) .getOpcionDto() .getId() .equals(preguntaDto.getListaOpcionesResp().get(p).getId())) { preguntaDto.getListaOpcionesResp().get(p).setSelected(true); break; } } } } } else if (ConstantesClima.Parametro.PREGUNTA_TIPO_RESPUESTA_ABIERTA.equals( preguntaDto.getTipoPreguntaDto().getId())) { List<RespuestaDto> listResp = respuestaManager.obtenerRespuestaxPreguntaEncuestado(preguntaDto, encuestadoDto); if (listResp != null && listResp.size() > 0) { preguntaDto.setTextInserted(listResp.get(0).getValor()); } } } catch (Exception e) { } }
public boolean irPreguntaSiguiente() throws DAOException { if (ConstantesClima.Parametro.PREGUNTA_TIPO_RESPUESTA_UNICA_HORIZONTAL.equals( preguntaDto.getTipoPreguntaDto().getId()) || ConstantesClima.Parametro.PREGUNTA_TIPO_RESPUESTA_UNICA_VERTICAL.equals( preguntaDto.getTipoPreguntaDto().getId()) || ConstantesClima.Parametro.PREGUNTA_TIPO_RESPUESTA_UNICA_DESPLEGABLE.equals( preguntaDto.getTipoPreguntaDto().getId())) { if (preguntaDto.getEsObligatorio() && preguntaDto.getOpcionSeleted() == null) { showError( UtilCore.Internacionalizacion.getMensajeInternacional( "encuestado.mensaje.validacion.pregunta")); return false; } if (preguntaDto.getOpcionSeleted() != null) { RespuestaDto respuestaDto = new RespuestaDto(); for (int i = 0; i < preguntaDto.getListaOpcionesResp().size(); i++) { if (preguntaDto .getOpcionSeleted() .equals(preguntaDto.getListaOpcionesResp().get(i).getId())) { List<RespuestaDto> listResp = respuestaManager.obtenerRespuestaxPreguntaEncuestado(preguntaDto, encuestadoDto); if (listResp != null && listResp.size() > 0) { respuestaDto = listResp.get(0); respuestaDto.setOpcionDto(preguntaDto.getListaOpcionesResp().get(i)); respuestaManager.editar(respuestaDto); } else { respuestaDto.setOpcionDto(preguntaDto.getListaOpcionesResp().get(i)); respuestaDto.setPreguntaDto(preguntaDto); respuestaDto.setEncuestadoDto(encuestadoDto); respuestaManager.nuevo(respuestaDto); } encuestadoDto.setPreguntaDto(preguntaDto); encuestadoDto.setNumeroPregunta(new Long(preguntaActual)); encuestadoDto.setEncuestaDto(dto); encuestadoManager.editar(encuestadoDto); break; } } } else { // para las preguntas que no sean obligatorias, si es que habia algo en base de datos // se elimina List<RespuestaDto> listResp = respuestaManager.obtenerRespuestaxPreguntaEncuestado(preguntaDto, encuestadoDto); if (listResp != null && listResp.size() > 0) { respuestaManager.eliminar(listResp.get(0)); } } } else if (ConstantesClima.Parametro.PREGUNTA_TIPO_RESPUESTA_MULTIPLE_HORIZONTAL.equals( preguntaDto.getTipoPreguntaDto().getId()) || ConstantesClima.Parametro.PREGUNTA_TIPO_RESPUESTA_MULTIPLE_VERTICAL.equals( preguntaDto.getTipoPreguntaDto().getId())) { if (preguntaDto.getEsObligatorio()) { boolean sel = false; for (int i = 0; i < preguntaDto.getListaOpcionesResp().size(); i++) { // System.out.println("opcion: "+ i+ "==> // "+preguntaDto.getListaOpcionesResp().get(i).isSelected()); if (preguntaDto.getListaOpcionesResp().get(i).isSelected()) { // showError(UtilCore.Internacionalizacion.getMensajeInternacional("encuestado.mensaje.validacion.pregunta")); sel = true; break; } } if (!sel) { showError( UtilCore.Internacionalizacion.getMensajeInternacional( "encuestado.mensaje.validacion.pregunta")); return false; } } List<RespuestaDto> listResp = respuestaManager.obtenerRespuestaxPreguntaEncuestado(preguntaDto, encuestadoDto); for (int j = 0; j < listResp.size(); j++) { respuestaManager.eliminar(listResp.get(j)); } for (int i = 0; i < preguntaDto.getListaOpcionesResp().size(); i++) { if (preguntaDto.getListaOpcionesResp().get(i).isSelected()) { RespuestaDto respuestaDto = new RespuestaDto(); respuestaDto.setOpcionDto(preguntaDto.getListaOpcionesResp().get(i)); respuestaDto.setPreguntaDto(preguntaDto); respuestaDto.setEncuestadoDto(encuestadoDto); respuestaManager.nuevo(respuestaDto); } } encuestadoDto.setPreguntaDto(preguntaDto); encuestadoDto.setNumeroPregunta(new Long(preguntaActual)); encuestadoDto.setEncuestaDto(dto); encuestadoManager.editar(encuestadoDto); } else if (ConstantesClima.Parametro.PREGUNTA_TIPO_RESPUESTA_ABIERTA.equals( preguntaDto.getTipoPreguntaDto().getId())) { if (preguntaDto.getEsObligatorio()) { if (preguntaDto.getTextInserted() == null || preguntaDto.getTextInserted().trim().equals("")) { showError( UtilCore.Internacionalizacion.getMensajeInternacional( "encuestado.mensaje.validacion.pregunta")); return false; } } RespuestaDto respuestaDto = new RespuestaDto(); List<RespuestaDto> listResp = respuestaManager.obtenerRespuestaxPreguntaEncuestado(preguntaDto, encuestadoDto); if (listResp != null && listResp.size() > 0) { respuestaDto = listResp.get(0); respuestaDto.setValor(preguntaDto.getTextInserted()); respuestaManager.editar(respuestaDto); } else { respuestaDto.setValor( preguntaDto.getTextInserted() == null ? "" : preguntaDto.getTextInserted()); respuestaDto.setPreguntaDto(preguntaDto); respuestaDto.setEncuestadoDto(encuestadoDto); respuestaManager.nuevo(respuestaDto); } encuestadoDto.setPreguntaDto(preguntaDto); encuestadoDto.setNumeroPregunta(new Long(preguntaActual)); encuestadoDto.setEncuestaDto(dto); encuestadoManager.editar(encuestadoDto); } if (preguntaActual < cantTotalPreguntas) { preguntaDto = this.dto.getListaPreguntas().get(preguntaActual); preguntaActual = preguntaActual + 1; cantTotalOpciones = preguntaDto.getListaOpcionesResp().size(); } return true; }