package br.com.centralit.citquestionario.ajaxForms; import java.io.File; import java.sql.Date; import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import br.com.centralit.citajax.html.AjaxFormAction; import br.com.centralit.citajax.html.DocumentHTML; import br.com.centralit.citajax.html.HTMLSelect; import br.com.centralit.citcorpore.bean.GaleriaImagensDTO; import br.com.centralit.citcorpore.bean.SolicitacaoServicoDTO; import br.com.centralit.citcorpore.negocio.ContratoQuestionariosService; import br.com.centralit.citcorpore.negocio.GaleriaImagensService; import br.com.centralit.citcorpore.negocio.SolicitacaoServicoService; import br.com.centralit.citcorpore.util.CriptoUtils; import br.com.centralit.citcorpore.util.Enumerados.TipoDate; import br.com.centralit.citcorpore.util.WebUtil; import br.com.centralit.citged.bean.ControleGEDDTO; import br.com.centralit.citged.negocio.ControleGEDService; import br.com.centralit.citquestionario.bean.ArquivoMultimidiaDTO; import br.com.centralit.citquestionario.bean.GrupoQuestionarioDTO; import br.com.centralit.citquestionario.bean.LinhaSpoolQuestionario; import br.com.centralit.citquestionario.bean.ListagemDTO; import br.com.centralit.citquestionario.bean.ListagemLinhaDTO; import br.com.centralit.citquestionario.bean.OpcaoRespostaQuestionarioDTO; import br.com.centralit.citquestionario.bean.QuestaoQuestionarioDTO; import br.com.centralit.citquestionario.bean.QuestionarioDTO; import br.com.centralit.citquestionario.bean.RespostaItemQuestionarioAnexosDTO; import br.com.centralit.citquestionario.bean.RespostaItemQuestionarioDTO; import br.com.centralit.citquestionario.bean.RespostaItemQuestionarioOpcoesDTO; import br.com.centralit.citquestionario.bean.ValidacaoGeralQuestionarioDTO; import br.com.centralit.citquestionario.negocio.GrupoQuestionarioService; import br.com.centralit.citquestionario.negocio.ListagemService; import br.com.centralit.citquestionario.negocio.OpcaoRespostaQuestionarioService; import br.com.centralit.citquestionario.negocio.QuestaoQuestionarioService; import br.com.centralit.citquestionario.negocio.QuestionarioService; import br.com.centralit.citquestionario.negocio.RespostaItemQuestionarioService; import br.com.centralit.citquestionario.util.ListagemConfig; import br.com.centralit.citquestionario.util.RenderDynamicForm; import br.com.centralit.citquestionario.util.WebUtilQuestionario; import br.com.citframework.dto.Usuario; import br.com.citframework.service.ServiceLocator; import br.com.citframework.util.Constantes; import br.com.citframework.util.UtilDatas; import br.com.citframework.util.UtilFormatacao; import br.com.citframework.util.UtilHTML; import br.com.citframework.util.UtilStrings; public class VisualizacaoQuestionario extends AjaxFormAction { private String QUESTIONARIO_COR_FUNDO_GRUPO = "#F1F1F1"; private String QUESTIONARIO_SIZE_QUESTAO = "50px"; public Class getBeanClass() { return QuestionarioDTO.class; } public void load(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { QuestionarioDTO questionario = (QuestionarioDTO) document.getBean(); Usuario user = WebUtilQuestionario.getUsuario(request); if (user == null){ document.alert("O usu�rio n�o est� logado! Favor logar no sistema!"); return; } Integer idProfissinal = user.getIdProfissional(); String QUESTIONARIO_CELLPADDING_TABELA_QUESTOES = "1"; String QUESTIONARIO_CELLSPACING_TABELA_QUESTOES = "1"; String QUESTIONARIO_WIDTH_COLUNA_AVANCO = "10%"; Collection colQuestoesComSigla = new ArrayList(); LinhaSpoolQuestionario linhaSpoolQuestionario; Collection colLinhas = new ArrayList(); boolean somenteLeitura = false; String modo = request.getParameter("modo"); if ("somenteleitura".equalsIgnoreCase(modo)){ somenteLeitura = true; } Integer idSolicitacaoServico = questionario.getIdSolicitacaoServico(); Integer idItem = null; String detalhaHistorico = "S"; if (questionario.getDetalhaHistorico() != null && !questionario.getDetalhaHistorico().equalsIgnoreCase("")){ detalhaHistorico = questionario.getDetalhaHistorico(); } String mostrarAbreFecha = "S"; if (questionario.getMostrarAbreFecha() != null && !questionario.getMostrarAbreFecha().equalsIgnoreCase("")){ mostrarAbreFecha = questionario.getMostrarAbreFecha(); } String subQuestionario = "N"; if (questionario.getSubQuestionario() != null && !questionario.getSubQuestionario().equalsIgnoreCase("")){ subQuestionario = questionario.getSubQuestionario(); } if (questionario.getIdItem() != null && questionario.getIdItem().intValue() > 0){ idItem = questionario.getIdItem(); } request.setAttribute("idSolicitacaoServicoVisualizacaoHistCampos", "" + idSolicitacaoServico); //String avanco = "     "; String avanco = " "; ValidacaoGeralQuestionarioDTO validaGeral = new ValidacaoGeralQuestionarioDTO(); //VERIFICAR SE REALMENTE TEM NECESSIDADE DAS LINHAS ABAIXO!!!!!!!!!!!!!!!!!!!!!!!!! //linhaSpoolQuestionario = new LinhaSpoolQuestionario("<table border = '0' width='100%'>"); //colLinhas.add(linhaSpoolQuestionario); Integer idProfissional = questionario.getIdProfissional(); Date dataQuestionario = questionario.getDataQuestionario(); QuestionarioService questionarioService = (QuestionarioService) ServiceLocator.getInstance().getService(QuestionarioService.class, null); QuestaoQuestionarioService questaoService = (QuestaoQuestionarioService) ServiceLocator.getInstance().getService(QuestaoQuestionarioService.class, null); GrupoQuestionarioService grupoQuestionarioService = (GrupoQuestionarioService) ServiceLocator.getInstance().getService(GrupoQuestionarioService.class, null); ContratoQuestionariosService contratoQuestionariosService = (ContratoQuestionariosService) ServiceLocator.getInstance().getService(ContratoQuestionariosService.class, null); questionario.setModo(QuestionarioDTO.MODO_VISUALIZACAO); Integer idIdentificadorResposta = questionario.getIdIdentificadorResposta(); if(questionario.getIdQuestionario() != null || questionario.getIdQuestionarioOrigem() != null){ questionario = (QuestionarioDTO) questionarioService.restore(questionario); } if (questionario == null){ document.alert("Formul�rio n�o encontrado!"); return; } questionario.setIdIdentificadorResposta(idIdentificadorResposta); questionario.setIdItem(idItem); questionario.setDetalhaHistorico(detalhaHistorico); SolicitacaoServicoService solicitacaoServicoService = (SolicitacaoServicoService) ServiceLocator.getInstance().getService(SolicitacaoServicoService.class, null); SolicitacaoServicoDTO solicitacaoServicoDto = new SolicitacaoServicoDTO(); if (idSolicitacaoServico != null){ solicitacaoServicoDto.setIdSolicitacaoServico(idSolicitacaoServico); solicitacaoServicoDto = (SolicitacaoServicoDTO) solicitacaoServicoService.restore(solicitacaoServicoDto); }else{ solicitacaoServicoDto = null; } HTMLSelect idQuestoesCalculadas = document.getSelectById("idQuestoesCalculadas"); idQuestoesCalculadas.removeAllOptions(); String bufferAposLoad = ""; if(questionario != null && questionario.getColGrupos() != null && questionario.getColGrupos().size() >0){ for(Iterator it = questionario.getColGrupos().iterator(); it.hasNext();){ GrupoQuestionarioDTO grupoQuestDto = (GrupoQuestionarioDTO)it.next(); if (mostrarAbreFecha.equalsIgnoreCase("S")){ if (grupoQuestDto.getNomeGrupoQuestionario() == null || grupoQuestDto.getNomeGrupoQuestionario().trim().equalsIgnoreCase("") || grupoQuestDto.getNomeGrupoQuestionario().trim().equalsIgnoreCase(" ")){ linhaSpoolQuestionario = new LinhaSpoolQuestionario("<tr><td colspan='20' width='100%'><b>" + grupoQuestDto.getNomeGrupoQuestionario() + "</b></td></tr>"); }else{ linhaSpoolQuestionario = new LinhaSpoolQuestionario("<tr><td width='30%'><img id='linha_div' src='"+ Constantes.getValue("SERVER_ADDRESS") + Constantes.getValue("CONTEXTO_APLICACAO") + "/imagens/linha_divisao.png' border='0' heigth='12px'><br/><br/></td></tr><tr><td bgcolor='" + QUESTIONARIO_COR_FUNDO_GRUPO + "' colspan='20' width='100%'><img id='imgQUEST_GRP_" + grupoQuestDto.getIdGrupoQuestionario() + "' src='" + Constantes.getValue("SERVER_ADDRESS") + Constantes.getValue("CONTEXTO_APLICACAO") + "/imagens/menos1.png' border='0' onclick='abreMaisMenosGrp(this, \"divQUEST_GRP_" + grupoQuestDto.getIdGrupoQuestionario() + "\")' style='cursor:pointer; font-size: 10pt !important; font-family: arial, helvetica !important;'/> <b>" + grupoQuestDto.getNomeGrupoQuestionario() + "</b><br/><br/></td></tr>"); } }else{ if (grupoQuestDto.getNomeGrupoQuestionario() == null || grupoQuestDto.getNomeGrupoQuestionario().trim().equalsIgnoreCase("") || grupoQuestDto.getNomeGrupoQuestionario().trim().equalsIgnoreCase(" ")){ linhaSpoolQuestionario = new LinhaSpoolQuestionario("<tr><td colspan='20' width='100%'><b>" + grupoQuestDto.getNomeGrupoQuestionario() + "</b></td></tr>"); }else{ linhaSpoolQuestionario = new LinhaSpoolQuestionario("<tr><td bgcolor='" + QUESTIONARIO_COR_FUNDO_GRUPO + "' colspan='20' width='100%'><b>" + grupoQuestDto.getNomeGrupoQuestionario() + "</b></td></tr>"); } } linhaSpoolQuestionario.setGenerateTR(false); colLinhas.add(linhaSpoolQuestionario); if (mostrarAbreFecha.equalsIgnoreCase("S")){ if (grupoQuestDto.getNomeGrupoQuestionario() == null || grupoQuestDto.getNomeGrupoQuestionario().trim().equalsIgnoreCase("") || grupoQuestDto.getNomeGrupoQuestionario().trim().equalsIgnoreCase(" ")){ linhaSpoolQuestionario = new LinhaSpoolQuestionario("<tr><td>"); }else{ linhaSpoolQuestionario = new LinhaSpoolQuestionario("<tr><td><div id='divQUEST_GRP_" + grupoQuestDto.getIdGrupoQuestionario() + "' class='tableLess'>"); } }else{ linhaSpoolQuestionario = new LinhaSpoolQuestionario("<tr><td>"); } linhaSpoolQuestionario.setGenerateTR(false); colLinhas.add(linhaSpoolQuestionario); linhaSpoolQuestionario = new LinhaSpoolQuestionario("<table border='0' width='100%' style='border-collapse: collapse;' cellpadding='" + QUESTIONARIO_CELLPADDING_TABELA_QUESTOES + "' cellspacing='" + QUESTIONARIO_CELLSPACING_TABELA_QUESTOES + "'>"); linhaSpoolQuestionario.setGenerateTR(false); colLinhas.add(linhaSpoolQuestionario); if (grupoQuestDto.getColQuestoes() != null){ for (Iterator itQuest = grupoQuestDto.getColQuestoes().iterator(); itQuest.hasNext();){ QuestaoQuestionarioDTO questaoDto = (QuestaoQuestionarioDTO)itQuest.next(); //document.alert(questaoDto.getTipo()); if (questaoDto.getSigla() != null && !questaoDto.getSigla().trim().equals("")) colQuestoesComSigla.add(questaoDto); questaoDto.setIdSolicitacaoServico(idSolicitacaoServico); if (questaoDto.getTipo().equalsIgnoreCase("T") || questaoDto.getTipo().equalsIgnoreCase("Q") || questaoDto.getTipo().equalsIgnoreCase("C") || questaoDto.getTipo().equalsIgnoreCase("P")){ // Texto Fixo, Quest�o, Compartilhada ou HTML linhaSpoolQuestionario = new LinhaSpoolQuestionario(montaLinhaQuestao(questaoDto, null, null, request, validaGeral, questionario, somenteLeitura, subQuestionario)); colLinhas.add(linhaSpoolQuestionario); if (questaoDto.getCalculada() != null && questaoDto.getCalculada().equalsIgnoreCase("S")) { idQuestoesCalculadas.addOption(questaoDto.getIdQuestaoQuestionario().toString(), questaoDto.getIdQuestaoQuestionario().toString()); } }else if (questaoDto.getTipo().equalsIgnoreCase("D")){ // Formulario dinamico String bufferQuestao = "<tr><td width='" + QUESTIONARIO_WIDTH_COLUNA_AVANCO + "'>" + avanco + "</td><td colspan='20'>"; bufferQuestao += RenderDynamicForm.render(questaoDto.getAbaResultSubForm(), "XML", idSolicitacaoServico, idProfissinal); bufferQuestao += "</td></tr>"; linhaSpoolQuestionario = new LinhaSpoolQuestionario(bufferQuestao); linhaSpoolQuestionario.setGenerateTR(false); colLinhas.add(linhaSpoolQuestionario); }else if (questaoDto.getTipo().equalsIgnoreCase("H")){ // Historico de Sessoes String bufferQuestao = "<tr><td width='" + QUESTIONARIO_WIDTH_COLUNA_AVANCO + "'>" + avanco + "</td><td colspan='4' align='left' style='text-align:left'>"; bufferQuestao += "<input type='hidden' name='campoDyn_" + questaoDto.getIdQuestaoQuestionario() + "' value=''/>"; bufferQuestao += "<input type='button' style='BACKGROUND-COLOR: yellow' name='btnDyn_" + questaoDto.getIdQuestaoQuestionario() + "' onclick='parent.showHistoricoAba(\""+questaoDto.getAbaResultSubForm()+"\");' value='Hist�rico'/>"; bufferQuestao += "</td></tr>"; linhaSpoolQuestionario = new LinhaSpoolQuestionario(bufferQuestao); colLinhas.add(linhaSpoolQuestionario); /*}else if (questaoDto.getTipo().equalsIgnoreCase("I")){ // Informa��es Hist�ricas ProntuarioEletronicoConfigService peCfgService = (ProntuarioEletronicoConfigService) ServiceLocator.getInstance().getService(ProntuarioEletronicoConfigService.class, null); ProntuarioEletronicoConfigDTO peCfgDto = new ProntuarioEletronicoConfigDTO(); peCfgDto.setNome(questaoDto.getAbaResultSubForm()); List lst = (List) peCfgService.findByNome(questaoDto.getAbaResultSubForm()); if (lst != null && lst.size() > 0){ peCfgDto = (ProntuarioEletronicoConfigDTO) lst.get(0); if (peCfgDto != null){ String bufferQuestao = "<tr><td width='" + QUESTIONARIO_WIDTH_COLUNA_AVANCO + "'>" + avanco + "</td><td colspan='4'>"; bufferQuestao += "<input type='hidden' name='campoDyn_" + questaoDto.getIdQuestaoQuestionario() + "' value=''/>"; bufferQuestao += "<input type='button' name='btnDyn_" + questaoDto.getIdQuestaoQuestionario() + "' onclick='parent.funcaoChamaInformacoesHistoricas(\""+questaoDto.getAbaResultSubForm()+"\", \"" + peCfgDto.getIdProntuarioEletronicoConfig() + "\");' value='Informa��es Hist�ricas'/>"; bufferQuestao += "</td></tr>"; linhaSpoolQuestionario = new LinhaSpoolQuestionario(bufferQuestao); colLinhas.add(linhaSpoolQuestionario); } }*/ }else if (questaoDto.getTipo().equalsIgnoreCase("F")){ // SubFormulario String bufferQuestao = ""; try{ QuestionarioDTO questDto = new QuestionarioDTO(); questDto.setIdQuestionario(questaoDto.getIdSubQuestionario()); questDto = (QuestionarioDTO) questionarioService.restore(questDto); bufferQuestao += "<tr><td width='" + QUESTIONARIO_WIDTH_COLUNA_AVANCO + "'>" + avanco + "</td><td colspan='4'>"; bufferQuestao += "<input type='button' name='btnDyn_" + questaoDto.getIdQuestaoQuestionario() + "' onclick='parent.chamaHistoricoQuestionario("+questaoDto.getIdSubQuestionario()+",\"" + questaoDto.getAbaResultSubForm() + "\");' value='" + questDto.getNomeQuestionario() + "'/>"; bufferQuestao += "</td></tr>"; bufferQuestao += "<tr><td colspan='4'>"; RespostaItemQuestionarioDTO resposta = questaoDto.obtemRespostaItemDto(null); String texto = ""; if (resposta != null){ if (resposta.getRespostaTextual() != null){ texto = resposta.getRespostaTextual(); } } bufferQuestao += "</td></tr>"; }catch (Exception e) { e.printStackTrace(); bufferQuestao += "<tr><td colspan='20'><b>OCORREU ERRO AO RECUPERAR DOS DO FORMUL�RIO ASSOCIADO!</b></td></tr>"; } linhaSpoolQuestionario = new LinhaSpoolQuestionario(bufferQuestao); colLinhas.add(linhaSpoolQuestionario); }else if (questaoDto.getTipo().equalsIgnoreCase("M")){ // Matriz int altura = questaoDto.getQtdeLinhas() * 75; if (altura > 300) { altura = 300; } String strAux = ""; if (questaoDto.getIdSolicitacaoServico() != null){ //strAux = "<a href='#ancoraVisualizaHistoricoCampo'><img src='" + Constantes.getValue("SERVER_ADDRESS") + Constantes.getValue("CONTEXTO_APLICACAO") + "/imagens/limparPeq.gif' border='0' style='cursor:pointer' title='Clique aqui para obter o hist�rico deste campo' onclick='chamaTelaHistoricoQuestMatTabela(\"" + questaoDto.getIdQuestaoQuestionario() + "\", \"" + questaoDto.getIdQuestaoOrigem() + "\")'></a> "; } String bufferQuestao = "<tr><td width='" + QUESTIONARIO_WIDTH_COLUNA_AVANCO + "'>" + avanco + "</td><td colspan='20'><fieldset><legend>" + strAux + montaTituloQuestao(questaoDto, request) + "</legend>"; //bufferQuestao += "<div id='divQuestoesMatriz_" + questaoDto.getIdQuestaoQuestionario() + "' style='width: 720px; height: "+altura+"px; overflow: auto;'>"; bufferQuestao += "<div id='divQuestoesMatriz_" + questaoDto.getIdQuestaoQuestionario() + "' style='width: 100%; height: 100%; overflow: auto;'>"; bufferQuestao += "<table id='tblQuestoesMatriz_" + questaoDto.getIdQuestaoQuestionario() + "' cellpadding='0' cellspacing='0' width='100%' height='100%' border = '1'>"; if (questaoDto.getCabecalhoColunas().equalsIgnoreCase("S")){ bufferQuestao += "<tr><td></td>"; for(Iterator itCol = questaoDto.getColCabecalhosColuna().iterator(); itCol.hasNext();){ QuestaoQuestionarioDTO questaoAgrup = (QuestaoQuestionarioDTO)itCol.next(); bufferQuestao += "<td bgcolor='" + QUESTIONARIO_COR_FUNDO_GRUPO + "'>"+questaoAgrup.getTituloQuestaoQuestionarioSemFmt()+"</td>"; } bufferQuestao += "</tr>"; } Iterator itLin = questaoDto.getColCabecalhosLinha().iterator(); Iterator itCel = questaoDto.getColQuestoesAgrupadas().iterator(); for(Integer linha = 1; linha <= questaoDto.getQtdeLinhas(); linha++){ bufferQuestao += "<tr><td></td>"; if (questaoDto.getCabecalhoLinhas().equalsIgnoreCase("S")){ try{ QuestaoQuestionarioDTO questaoAgrupada = (QuestaoQuestionarioDTO) itLin.next(); bufferQuestao += "<td bgcolor='" + QUESTIONARIO_COR_FUNDO_GRUPO + "'>"+questaoAgrupada.getTituloQuestaoQuestionarioSemFmt()+"</td>"; }catch (Exception e) { e.printStackTrace(); } } for(Integer coluna = 1; coluna <= questaoDto.getQtdeColunas(); coluna++){ try{ QuestaoQuestionarioDTO questaoAgrupada = (QuestaoQuestionarioDTO) itCel.next(); bufferQuestao += "<td><table border = '0' cellpadding='" + QUESTIONARIO_CELLPADDING_TABELA_QUESTOES + "' cellspacing='" + QUESTIONARIO_CELLSPACING_TABELA_QUESTOES + "'>"; bufferQuestao += montaLinhaQuestao(questaoAgrupada, questaoDto, null, request, validaGeral, questionario, somenteLeitura, subQuestionario); bufferQuestao += "</table></td>"; }catch (Exception e) { bufferQuestao += "<td></td>"; } } bufferQuestao += "</tr>"; } bufferQuestao += "</table></div></fieldset></td></tr>"; linhaSpoolQuestionario = new LinhaSpoolQuestionario(bufferQuestao); colLinhas.add(linhaSpoolQuestionario); }else if (questaoDto.getTipo().equalsIgnoreCase("L")){ // Tabela String strAux = ""; if (questaoDto.getIdSolicitacaoServico() != null){ //strAux = "<a href='#ancoraVisualizaHistoricoCampo'><img src='" + Constantes.getValue("SERVER_ADDRESS") + Constantes.getValue("CONTEXTO_APLICACAO") + "/imagens/limparPeq.gif' border='0' style='cursor:pointer' title='Clique aqui para obter o hist�rico deste campo' onclick='chamaTelaHistoricoQuestMatTabela(\"" + questaoDto.getIdQuestaoQuestionario() + "\", \"" + questaoDto.getIdQuestaoOrigem() + "\")'></a> "; } String bufferQuestao = "<tr><td width='" + QUESTIONARIO_WIDTH_COLUNA_AVANCO + "'>" + avanco + "</td><td colspan='20'><fieldset><legend>" + strAux + montaTituloQuestao(questaoDto, request) + "</legend>"; //bufferQuestao += "<table style='width: 715px;' border = '0'>"; bufferQuestao += "<table style='width: 100%;' border = '0'>"; bufferQuestao += "<td align='right'><input type='button' name='btnAddResposta' value='Adicionar' onclick='adicionarRespostaTabela("+questaoDto.getIdQuestaoQuestionario()+")'/></td>"; bufferQuestao += "</table>"; bufferQuestao += "<div style='display:none;'><table id='tblQuestoesTabela_" + questaoDto.getIdQuestaoQuestionario() + "' cellpadding='" + QUESTIONARIO_CELLPADDING_TABELA_QUESTOES + "' cellspacing='" + QUESTIONARIO_CELLSPACING_TABELA_QUESTOES + "'>"; for (Iterator itCel = questaoDto.getColQuestoesAgrupadas().iterator(); itCel.hasNext();){ QuestaoQuestionarioDTO questaoAgrupada = (QuestaoQuestionarioDTO) itCel.next(); bufferQuestao += "<td><table>"; bufferQuestao += montaLinhaQuestao(questaoAgrupada, questaoDto, 0, request, validaGeral, questionario, somenteLeitura, subQuestionario); bufferQuestao += "</table></td>"; } bufferQuestao += "</table></div>"; //bufferQuestao += "<div style='width: 720px; height: 100%; overflow: auto;'>"; bufferQuestao += "<div style='width: 100%; height: 100%; overflow: auto;'>"; bufferQuestao += "<table id='tblRespostasTabela_" + questaoDto.getIdQuestaoQuestionario() + "' cellpadding='0' cellspacing='0' width='100%' border = '1'>"; bufferQuestao += "<td bgcolor='" + QUESTIONARIO_COR_FUNDO_GRUPO + "'> </td>"; for (Iterator itCel = questaoDto.getColQuestoesAgrupadas().iterator(); itCel.hasNext();){ QuestaoQuestionarioDTO questaoAgrupada = (QuestaoQuestionarioDTO) itCel.next(); bufferQuestao += "<td bgcolor='" + QUESTIONARIO_COR_FUNDO_GRUPO + "'>"+montaTituloQuestao(questaoAgrupada, request)+"</td>"; } int ultimoSequencial = 0; if (questaoDto.getColRespostas() != null && questaoDto.getColRespostas().size() > 0) { int sequencial = 0; for (Iterator itResp = questaoDto.getColRespostas().iterator(); itResp.hasNext();){ RespostaItemQuestionarioDTO resp = (RespostaItemQuestionarioDTO) itResp.next(); if (resp.getSequencialResposta() != null && resp.getSequencialResposta().intValue() != sequencial) { if (sequencial > 0){ bufferQuestao += "</tr>"; } sequencial = resp.getSequencialResposta(); if (sequencial > ultimoSequencial){ ultimoSequencial = sequencial; } bufferQuestao += "<tr><td><img src='"+br.com.citframework.util.Constantes.getValue("SERVER_ADDRESS")+br.com.citframework.util.Constantes.getValue("CONTEXTO_APLICACAO") + "/produtos/citsaude/imagens/btnExcluirRegistro.gif' title='Clique aqui para excluir esta linha' border='0' onclick='excluirRespostaTabela("+questaoDto.getIdQuestaoQuestionario()+",this)'/></td>"; for (Iterator itCel = questaoDto.getColQuestoesAgrupadas().iterator(); itCel.hasNext();){ QuestaoQuestionarioDTO questaoTabela = (QuestaoQuestionarioDTO) itCel.next(); bufferQuestao += "<td><table border = '0'>"; bufferQuestao += montaLinhaQuestao(questaoTabela, questaoDto, sequencial, request, validaGeral, questionario, somenteLeitura, subQuestionario); bufferQuestao += "</table></td>"; } } } bufferQuestao += "</tr>"; } bufferQuestao += "</table>"; bufferQuestao += "<input type='hidden' name='ultimoSequencial_" + questaoDto.getIdQuestaoQuestionario() + "' value='" + ultimoSequencial + "'/>"; bufferQuestao += "</div></fieldset></td>"; linhaSpoolQuestionario = new LinhaSpoolQuestionario(bufferQuestao); colLinhas.add(linhaSpoolQuestionario); } } } linhaSpoolQuestionario = new LinhaSpoolQuestionario("</table>"); linhaSpoolQuestionario.setGenerateTR(false); colLinhas.add(linhaSpoolQuestionario); if (mostrarAbreFecha.equalsIgnoreCase("S")){ if (grupoQuestDto.getNomeGrupoQuestionario() == null || grupoQuestDto.getNomeGrupoQuestionario().trim().equalsIgnoreCase("") || grupoQuestDto.getNomeGrupoQuestionario().trim().equalsIgnoreCase(" ")){ linhaSpoolQuestionario = new LinhaSpoolQuestionario("</td></tr>"); }else{ linhaSpoolQuestionario = new LinhaSpoolQuestionario("</td></tr></div>"); } }else{ linhaSpoolQuestionario = new LinhaSpoolQuestionario("</td></tr>"); } linhaSpoolQuestionario.setGenerateTR(false); colLinhas.add(linhaSpoolQuestionario); } } linhaSpoolQuestionario = new LinhaSpoolQuestionario(""); colLinhas.add(linhaSpoolQuestionario); request.setAttribute("strValidaFaixaValoresGeral", validaGeral.getValidacao()); request.setAttribute("linhasQuestionario", colLinhas); request.setAttribute("bufferAposLoad", bufferAposLoad); request.setAttribute("colQuestoesComSigla", colQuestoesComSigla); request.setAttribute("javaScript", questionario.getJavaScript()); document.executeScript("document.formQuestionario.idQuestionario.value = '" + questionario.getIdQuestionario() + "'"); String idServicoContrato = request.getParameter("idServicoContrato"); String idServico = request.getParameter("idServico"); String obrigatorio = request.getParameter("respostaObrigatoria"); if (idServicoContrato != null && idServico != null){ document.executeScript("document.formQuestionario.idServicoContrato.value = '" + idServicoContrato + "'"); document.executeScript("document.formQuestionario.idServico.value = '" + idServico + "'"); document.executeScript("document.formQuestionario.obrigatorio.value = '" + obrigatorio + "'"); } } private String montaLinhaQuestao(QuestaoQuestionarioDTO questaoDto, QuestaoQuestionarioDTO questaoAgrupadoraDto, Integer sequencialResposta, HttpServletRequest request, ValidacaoGeralQuestionarioDTO validaGeral, QuestionarioDTO questionario, boolean somenteLeitura, String subQuestionario) throws Exception { String PRONTUARIO_FORMA_EDICAO = "P"; String QUESTIONARIO_WIDTH_COLUNA_TITULO_QUESTAO = "30%"; String QUESTIONARIO_WIDTH_COLUNA_AVANCO = "1%"; String QUESTIONARIO_QUEBRA_LINHA_FINAL_TIT_QUESTAO = "S"; Usuario user = WebUtilQuestionario.getUsuario(request); String linhaSpoolQuestionario; String avanco = "     "; String bufferQuestao = ""; if (questaoDto.getTextoInicial() != null && !questaoDto.getTextoInicial().trim().equalsIgnoreCase("")){ bufferQuestao = "<tr><td width='" + QUESTIONARIO_WIDTH_COLUNA_AVANCO + "'>" + avanco + "</td><td>" + questaoDto.getTextoInicial() + "</td></tr>"; } RespostaItemQuestionarioDTO resposta = questaoDto.obtemRespostaItemDto(sequencialResposta); RespostaItemQuestionarioService respostaItemQuestionarioService = (RespostaItemQuestionarioService) ServiceLocator.getInstance().getService(RespostaItemQuestionarioService.class, null); QuestionarioService questionarioService = (QuestionarioService) ServiceLocator.getInstance().getService(QuestionarioService.class, null); OpcaoRespostaQuestionarioService opcaoRespostaQuestionarioServiceBean = (OpcaoRespostaQuestionarioService) ServiceLocator.getInstance().getService(OpcaoRespostaQuestionarioService.class, null); String indicadorTabela = ""; String value = ""; String value2 = ""; String value3 = ""; String value4 = ""; String value5 = ""; String value6 = ""; String dadosAdicionais = ""; String classOpcoes = ""; String infoObr = ""; String readonly = ""; String colsTextArea = "50"; String avancoTitulo = ""; String idCampo = ""; if (subQuestionario.equalsIgnoreCase("S")){ idCampo = "SUBQUESTIONARIO#" + questionario.getIdItem() + "#campoDyn_"; }else{ idCampo = "campoDyn_"; } boolean montaTitulo = true; boolean campoTabela = false; if (questaoAgrupadoraDto == null) { // Verifica se � Quest�o de Matriz ou Tabela //avancoTitulo = "<td width='" + QUESTIONARIO_WIDTH_COLUNA_AVANCO + "'>" + avanco + "</td>"; }else{ colsTextArea = "40"; montaTitulo = questaoDto.getTipo().equalsIgnoreCase("T"); if (questaoAgrupadoraDto.getTipo().trim().equalsIgnoreCase("L")) { if (sequencialResposta == 0) { campoTabela = true; idCampo = "campoTbl_"; indicadorTabela = "#seq#"; }else{ idCampo = "campoDyn_"+sequencialResposta+"#"; indicadorTabela = sequencialResposta.toString(); } } } if (questaoDto.getCalculada() != null && questaoDto.getCalculada().equalsIgnoreCase("S")) { readonly = " readonly='readonly' "; } if ("S".equalsIgnoreCase(questaoDto.getObrigatoria()) && (!(questaoDto.getTipo().equalsIgnoreCase("T") || questaoDto.getTipoQuestao().equalsIgnoreCase("F") || questaoDto.getTipoQuestao().equalsIgnoreCase("L")) )){ classOpcoes += "Valid[Required"; infoObr = "*"; } if (questaoDto.getTipoQuestao().equalsIgnoreCase("T") || questaoDto.getTipoQuestao().equalsIgnoreCase("A")){ //Texto if (!classOpcoes.equalsIgnoreCase("")){ classOpcoes += "] "; } if (resposta!=null){ value = resposta.getRespostaTextual(); } }else if (questaoDto.getTipoQuestao().equalsIgnoreCase("D")){ //Data if (!classOpcoes.equalsIgnoreCase("")){ classOpcoes += ","; }else{ classOpcoes += "Valid["; } classOpcoes += "Date"; classOpcoes += "] Format[Date]"; if (resposta!=null){ if (resposta.getRespostaData() != null){ value = UtilDatas.convertDateToString(TipoDate.DATE_DEFAULT, resposta.getRespostaData(), WebUtil.getLanguage(request)); } } }else if (questaoDto.getTipoQuestao().equalsIgnoreCase("H")){ //Data if (!classOpcoes.equalsIgnoreCase("")){ classOpcoes += ","; }else{ classOpcoes += "Valid["; } classOpcoes += "Hora"; classOpcoes += "] Format[Hora]"; if (resposta!=null){ if(resposta.getRespostaHora() != null){ if(resposta.getRespostaHora().length() == 4) value = UtilDatas.formatHoraStr(resposta.getRespostaHora()); else if(resposta.getRespostaHora().length() == 3) value = resposta.getRespostaHora().substring(0, 2) + ":" + resposta.getRespostaHora().substring(2); else value = resposta.getRespostaHora(); } } }else if (questaoDto.getTipoQuestao().equalsIgnoreCase("N")){ //N�mero (sem casas decimais) ou Frequencia Cardiaca if (!classOpcoes.equalsIgnoreCase("")){ classOpcoes += "] "; } classOpcoes += "Format[Numero]"; if (resposta!=null){ if (resposta.getRespostaNumero() != null){ value = UtilFormatacao.formatDouble(resposta.getRespostaNumero(), 0); } } }else if (questaoDto.getTipoQuestao().equalsIgnoreCase("Q")){ if (!classOpcoes.equalsIgnoreCase("")){ classOpcoes += "] "; } classOpcoes += "Format[Numero]"; if (resposta!=null){ if (resposta.getRespostaValor() != null){ value = UtilFormatacao.formatDouble(resposta.getRespostaValor(), 0); } } }else if (questaoDto.getTipoQuestao().equalsIgnoreCase("V")){ //Valor Decimal if (!classOpcoes.equalsIgnoreCase("")){ classOpcoes += "] "; } classOpcoes += "Format[Moeda]"; if (resposta!=null){ int qtdeDecimais = 0; if (questaoDto.getDecimais()!=null){ qtdeDecimais = questaoDto.getDecimais().intValue(); } if (resposta.getRespostaValor() != null){ value = UtilFormatacao.formatDouble(resposta.getRespostaValor(), qtdeDecimais); } } }else if (questaoDto.getTipoQuestao().equalsIgnoreCase("%")){ // % if (!classOpcoes.equalsIgnoreCase("")){ classOpcoes += "] "; } classOpcoes += "Format[Moeda]"; if (resposta!=null){ int qtdeDecimais = 0; if (questaoDto.getDecimais()!=null){ qtdeDecimais = questaoDto.getDecimais().intValue(); } if (resposta.getRespostaPercentual() != null){ value = UtilFormatacao.formatDouble(resposta.getRespostaPercentual(), qtdeDecimais); } } }else{ if (!classOpcoes.equalsIgnoreCase("")){ classOpcoes += "] "; } } if (questaoDto.getTipoQuestao().equalsIgnoreCase("1")){ //Faixa de N�meros (sem casas decimais) if (resposta!=null){ value = UtilFormatacao.formatDouble(resposta.getRespostaValor(), 0); value2 = UtilFormatacao.formatDouble(resposta.getRespostaValor2(), 0); } } if (questaoDto.getTipoQuestao().equalsIgnoreCase("2")){ //Faixa de Valores (com casas decimais) if (resposta!=null){ int qtdeDecimais = 0; if (questaoDto.getDecimais()!=null){ qtdeDecimais = questaoDto.getDecimais().intValue(); } value = UtilFormatacao.formatDouble(resposta.getRespostaValor(), qtdeDecimais); value2 = UtilFormatacao.formatDouble(resposta.getRespostaValor2(), qtdeDecimais); } } if (questaoDto.getTipoQuestao().equalsIgnoreCase("G")){ //Mes/Ano if (resposta!=null){ if (resposta.getRespostaMes() != null){ value = UtilFormatacao.formatInt(resposta.getRespostaMes().intValue(), "00"); } if (resposta.getRespostaAno() != null){ value2 = UtilFormatacao.formatInt(resposta.getRespostaAno().intValue(), "0000"); } } } if (questaoDto.getTipoQuestao().equalsIgnoreCase("*")){ //Percentual e Valor if (resposta!=null){ if (resposta.getRespostaPercentual() != null){ value = UtilFormatacao.formatDouble(resposta.getRespostaPercentual(), 2); } if (resposta.getRespostaValor() != null){ value2 = UtilFormatacao.formatDouble(resposta.getRespostaValor(), 2); } } } if (questaoDto.getTipoQuestao().equalsIgnoreCase("L")){ //Campo Longo - Editor if (resposta!=null){ value = resposta.getRespostaTextual(); } } if (questaoDto.getTipoQuestao().equalsIgnoreCase("9")){ //Desenho if (resposta!=null){ value = resposta.getRespostaTextual(); } } if (questaoDto.getTipoQuestao().equalsIgnoreCase("G")){ //Mes/Ano classOpcoes += " Format[Numero] "; } if (questaoDto.getTipoQuestao().equalsIgnoreCase("*")){ //% e Valor classOpcoes += " Format[Moeda] "; } String strAux = questaoDto.getTituloQuestaoQuestionarioSemFmt(); strAux = strAux.replaceAll("\n", ""); strAux = strAux.replaceAll("\r", ""); strAux = UtilHTML.decodeHTML(strAux); classOpcoes += " Description[" + strAux + "] "; if (!classOpcoes.equalsIgnoreCase("")){ if (campoTabela){ classOpcoes = "#class#='" + classOpcoes + "'"; }else{ classOpcoes = "class='" + classOpcoes + "'"; } } value = UtilStrings.nullToVazio(value); String tituloQuestao = ""; tituloQuestao=""; if (questaoDto.getTipoQuestao().equalsIgnoreCase("9")){ //Desenho montaTitulo = false; } String dimensionamentoCampo = "40%"; if (montaTitulo){ tituloQuestao += montaTituloQuestao(questaoDto, request); if (questaoDto.getTipo().equalsIgnoreCase("T") || questaoDto.getTipoQuestao().equalsIgnoreCase("F")){ //Texto Fixo bufferQuestao += "<tr>" + avancoTitulo + "<td align='left' style='text-align:left;' colspan='20' ><div id='divTitulo_"+questaoDto.getIdQuestaoQuestionario()+"'> " + tituloQuestao + "</div></td></tr>"; }if (questaoDto.getTipo().equalsIgnoreCase("P")){ //HTML String valorDefault = questaoDto.getValorDefaultNoEnter(); valorDefault = valorDefault.replaceAll("\\\\'", "'"); bufferQuestao += "<tr>" + avancoTitulo + "<td align='left' style='text-align:left;' colspan='20' ><div>" + valorDefault + "</div></td></tr>"; }else{ if ("B".equalsIgnoreCase(questaoDto.getInfoResposta())){ //Em baixo da pergunta bufferQuestao += "<tr>" + avancoTitulo + "<td></td><td align='left' style='text-align:left' colspan='4'><div id='divTitulo_"+questaoDto.getIdQuestaoQuestionario()+"'>" + tituloQuestao + "</div></td></tr>"; //bufferQuestao += "<tr><td>" + avanco; bufferQuestao += "<tr>" + avancoTitulo + "<td align='left' style='text-align:left' >"; dimensionamentoCampo = "90%"; }else{ if (QUESTIONARIO_QUEBRA_LINHA_FINAL_TIT_QUESTAO.equalsIgnoreCase("S")){ bufferQuestao += "<tr>" + avancoTitulo + "<td align='left' style='text-align:left;' width='" + QUESTIONARIO_WIDTH_COLUNA_TITULO_QUESTAO + "' ><div id='divTitulo_"+questaoDto.getIdQuestaoQuestionario()+"'>" + tituloQuestao + "</div>"; }else{ if (tituloQuestao.length() <= 40){ bufferQuestao += "<tr>" + avancoTitulo + "<td align='left' nowrap='true' style='text-align:left; white-space: nowrap;' width='" + QUESTIONARIO_WIDTH_COLUNA_TITULO_QUESTAO + "' ><div id='divTitulo_"+questaoDto.getIdQuestaoQuestionario()+"'>" + tituloQuestao + "</div>"; }else{ bufferQuestao += "<tr>" + avancoTitulo + "<td align='left' style='text-align:left;' width='" + QUESTIONARIO_WIDTH_COLUNA_TITULO_QUESTAO + "' ><div id='divTitulo_"+questaoDto.getIdQuestaoQuestionario()+"'>" + tituloQuestao + "</div>"; } } } /*if (questaoDto.getIdSolicitacaoServico() != null && questionario.getDetalhaHistorico().equalsIgnoreCase("S")){ bufferQuestao += "<div id='divHist_"+questaoDto.getIdQuestaoQuestionario()+"'><a href='#ancoraVisualizaHistoricoCampo'><img src='" + Constantes.getValue("SERVER_ADDRESS") + Constantes.getValue("CONTEXTO_APLICACAO") + "/imagens/histCampo.gif' border='0' style='cursor:pointer' title='Clique aqui para obter o hist�rico deste campo' onclick='chamaTelaHistoricoQuest(\"" + idCampo + questaoDto.getIdQuestaoQuestionario() + "\", \"" + questaoDto.getIdQuestaoOrigem() + "\")'></a></div>"; if (questaoDto.getTipoQuestao().equalsIgnoreCase("N") || questaoDto.getTipoQuestao().equalsIgnoreCase("V") || questaoDto.getTipoQuestao().equalsIgnoreCase("%") || questaoDto.getTipoQuestao().equalsIgnoreCase("P") || questaoDto.getTipoQuestao().equalsIgnoreCase("Q") || questaoDto.getTipoQuestao().equalsIgnoreCase("!") || questaoDto.getTipoQuestao().equalsIgnoreCase("*") || questaoDto.getTipoQuestao().equalsIgnoreCase("1") || questaoDto.getTipoQuestao().equalsIgnoreCase("2")){ bufferQuestao += "<div id='divHistGraf_"+questaoDto.getIdQuestaoQuestionario()+"'><a href='#ancoraVisualizaHistoricoCampo'><img src='" + Constantes.getValue("SERVER_ADDRESS") + Constantes.getValue("CONTEXTO_APLICACAO") + "/imagens/grafico_peq.gif' border='0' style='cursor:pointer' title='Clique aqui para visualizar o gr�fico do hist�rico deste campo' onclick='chamaTelaHistoricoQuestGrafico(\"" + idCampo + questaoDto.getIdQuestaoQuestionario() + "\", \"" + questaoDto.getIdQuestaoOrigem() + "\")'></a></div>"; } }*/ if (questaoDto.getUnidade()!=null && !questaoDto.getUnidade().equalsIgnoreCase("")){ dadosAdicionais += " " + questaoDto.getUnidade(); } if (questaoDto.getValoresReferencia()!=null && !questaoDto.getValoresReferencia().equalsIgnoreCase("")){ dadosAdicionais += "</td><td>" + questaoDto.getValoresReferencia() + ""; } } }else { if (questaoDto.getIdSolicitacaoServico() != null && questionario.getDetalhaHistorico().equalsIgnoreCase("S")){ if (!questaoDto.getTipoQuestao().equalsIgnoreCase("9")){ //Desenho bufferQuestao += "<div id='divHist_"+questaoDto.getIdQuestaoQuestionario()+"'><a href='#ancoraVisualizaHistoricoCampo'><img src='" + Constantes.getValue("SERVER_ADDRESS") + Constantes.getValue("CONTEXTO_APLICACAO") + "/imagens/seta_link.gif' border='0' style='cursor:pointer' title='Clique aqui para obter o hist�rico deste campo' onclick='chamaTelaHistoricoQuest(\"" + idCampo + questaoDto.getIdQuestaoQuestionario() + "\", \"" + questaoDto.getIdQuestaoOrigem() + "\")'></a></div>"; } if (questaoDto.getTipoQuestao().equalsIgnoreCase("N") || questaoDto.getTipoQuestao().equalsIgnoreCase("V") || questaoDto.getTipoQuestao().equalsIgnoreCase("%") || questaoDto.getTipoQuestao().equalsIgnoreCase("P") || questaoDto.getTipoQuestao().equalsIgnoreCase("Q") || questaoDto.getTipoQuestao().equalsIgnoreCase("!") || questaoDto.getTipoQuestao().equalsIgnoreCase("*") || questaoDto.getTipoQuestao().equalsIgnoreCase("1") || questaoDto.getTipoQuestao().equalsIgnoreCase("2")){ bufferQuestao += "<div id='divHistGraf_"+questaoDto.getIdQuestaoQuestionario()+"'><a href='#ancoraVisualizaHistoricoCampo'><img src='" + Constantes.getValue("SERVER_ADDRESS") + Constantes.getValue("CONTEXTO_APLICACAO") + "/imagens/grafico.gif' border='0' style='cursor:pointer' title='Clique aqui para visualizar o gr�fico do hist�rico deste campo' onclick='chamaTelaHistoricoQuestGrafico(\"" + idCampo + questaoDto.getIdQuestaoQuestionario() + "\", \"" + questaoDto.getIdQuestaoOrigem() + "\")'></a></div>"; } } if (questaoDto.getUnidade()!=null && !questaoDto.getUnidade().equalsIgnoreCase("")){ dadosAdicionais += " " + questaoDto.getUnidade(); } if (questaoDto.getValoresReferencia()!=null && !questaoDto.getValoresReferencia().equalsIgnoreCase("")){ dadosAdicionais += "</td><td>" + questaoDto.getValoresReferencia() + ""; } } if (questaoDto.getTipoQuestao().equalsIgnoreCase("T")){ //Texto Curto (Tamanho delimitado) bufferQuestao += "</td><td width='" + dimensionamentoCampo + "' colspan='10' align='left' style='text-align:left' ><input type='text' " + classOpcoes + " onchange='limpaCamposCalculados(this);'" + " name='" + idCampo + questaoDto.getIdQuestaoQuestionario() + "'" + readonly + " size='" + QUESTIONARIO_SIZE_QUESTAO + "' maxlength='" + questaoDto.getTamanho() + "' value='" + value + "' />" + dadosAdicionais + "</td></tr>"; } if (questaoDto.getTipoQuestao().equalsIgnoreCase("A")){ //Texto Longo (Campo de observa��es, etc.) if (questaoAgrupadoraDto == null) { if (PRONTUARIO_FORMA_EDICAO.equalsIgnoreCase("P")){ bufferQuestao += montaIconeModeloTextual(idCampo + questaoDto.getIdQuestaoQuestionario(), "A") + "</td><td width='" + dimensionamentoCampo + "' colspan='10' align='left' style='text-align:left' ><div id='listagemModelosTextuais" + idCampo + questaoDto.getIdQuestaoQuestionario() + "' style='width: 595px; height:195px; overflow: auto; display:none; border:1px solid black'></div><textarea " + classOpcoes + " onchange='limpaCamposCalculados(this);'" + " name='" + idCampo + questaoDto.getIdQuestaoQuestionario() + "' id='" + idCampo + questaoDto.getIdQuestaoQuestionario() + "'" + readonly + " rows='1' cols='" + colsTextArea + "' >" + value + "</textarea>" + dadosAdicionais + "</td></tr>"; }else{ bufferQuestao += montaIconeModeloTextual(idCampo + questaoDto.getIdQuestaoQuestionario(), "A") + "</td><td width='" + dimensionamentoCampo + "' colspan='10' align='left' style='text-align:left' ><div id='listagemModelosTextuais" + idCampo + questaoDto.getIdQuestaoQuestionario() + "' style='width: 595px; height:195px; overflow: auto; display:none; border:1px solid black'></div><textarea " + classOpcoes + " onchange='limpaCamposCalculados(this);'" + " name='" + idCampo + questaoDto.getIdQuestaoQuestionario() + "' id='" + idCampo + questaoDto.getIdQuestaoQuestionario() + "'" + readonly + " rows='1' cols='" + colsTextArea + "' onkeydown='resizeTextArea(event, this)' onblur='resizeTextArea(event, this)' style='width:100%'>" + value + "</textarea>" + dadosAdicionais + "</td></tr>"; } }else{ bufferQuestao += "</td><td width='" + dimensionamentoCampo + "' colspan='10' align='left' style='text-align:left' ><div id='listagemModelosTextuais" + idCampo + questaoDto.getIdQuestaoQuestionario() + "' style='width: 595px; height:195px; overflow: auto; display:none; border:1px solid black'></div><textarea " + classOpcoes + " onchange='limpaCamposCalculados(this);'" + " name='" + idCampo + questaoDto.getIdQuestaoQuestionario() + "' id='" + idCampo + questaoDto.getIdQuestaoQuestionario() + "'" + readonly + " rows='1' cols='" + colsTextArea + "' >" + value + "</textarea>" + dadosAdicionais + "</td></tr>"; } } if (questaoDto.getTipoQuestao().equalsIgnoreCase("L")){ //Texto Longo com Editor (Campo de Laudos, etc.) if (questaoAgrupadoraDto == null) { bufferQuestao += montaIconeModeloTextual(idCampo + questaoDto.getIdQuestaoQuestionario(), "L") + "</td><td width='" + dimensionamentoCampo + "' colspan='10' align='left' style='text-align:left' ><div id='listagemModelosTextuais" + idCampo + questaoDto.getIdQuestaoQuestionario() + "' style='width: 595px; height:195px; overflow: auto; display:none; border:1px solid black'></div><textarea " + classOpcoes + " onchange='limpaCamposCalculados(this);'" + " name='" + idCampo + questaoDto.getIdQuestaoQuestionario() + "' id='" + idCampo + questaoDto.getIdQuestaoQuestionario() + "'" + readonly + " rows='1' cols='" + colsTextArea + "' style='width: 95%' >" + value + "</textarea>" + dadosAdicionais + "</td></tr>"; }else{ bufferQuestao += "</td><td width='" + dimensionamentoCampo + "' colspan='10' align='left' style='text-align:left' ><div id='listagemModelosTextuais" + idCampo + questaoDto.getIdQuestaoQuestionario() + "' style='width: 595px; height:195px; overflow: auto; display:none; border:1px solid black'></div><textarea " + classOpcoes + " onchange='limpaCamposCalculados(this);'" + " name='" + idCampo + questaoDto.getIdQuestaoQuestionario() + "' id='" + idCampo + questaoDto.getIdQuestaoQuestionario() + "'" + readonly + " rows='1' cols='" + colsTextArea + "' style='width: 95%' >" + value + "</textarea>" + dadosAdicionais + "</td></tr>"; } List lst = (List) request.getAttribute("LST_CAMPOS_EDITOR"); if (lst == null) lst = new ArrayList(); lst.add("" + idCampo + questaoDto.getIdQuestaoQuestionario()); request.setAttribute("LST_CAMPOS_EDITOR", lst); } if (questaoDto.getTipoQuestao().equalsIgnoreCase("R")){ //Radio if (questaoDto.getColOpcoesResposta()!=null){ String aux = ""; if ("B".equalsIgnoreCase(questaoDto.getInfoResposta())){ //Em baixo da pergunta aux = " colspan='5' "; } String bufferOut = "</td><td width='" + dimensionamentoCampo + "' align='left' style='text-align:left' " + aux + " ><div id='divOpcoes_"+questaoDto.getIdQuestaoQuestionario()+"'>"; for(Iterator itOpcResp = questaoDto.getColOpcoesResposta().iterator(); itOpcResp.hasNext();){ OpcaoRespostaQuestionarioDTO opcRespDto = (OpcaoRespostaQuestionarioDTO)itOpcResp.next(); opcRespDto.setSelecionada(false); String checked = ""; if (resposta!=null){ if (isInCollection(opcRespDto, resposta.getColOpcoesResposta())){ checked = " checked='checked' "; opcRespDto.setSelecionada(true); } } bufferOut += "<input type='radio' " + classOpcoes + " onclick='limpaCamposCalculados(this);trataComplementoOpcao(this,\""+questaoDto.getIdQuestaoQuestionario().toString()+"\",\""+opcRespDto.getIdOpcaoRespostaQuestionario().toString()+"\")'" + " name='" + idCampo + questaoDto.getIdQuestaoQuestionario() + "' value='" + opcRespDto.getIdOpcaoRespostaQuestionario() + "' " + checked + "/><span id='tituloOpc_" + opcRespDto.getIdOpcaoRespostaQuestionario() + "' class='ml2 mr5'>" + opcRespDto.getTitulo() + "</span>"; if (opcRespDto.getQuestaoComplementoDto() != null) { String display = "none"; if (opcRespDto.getQuestaoComplementoDto().getRespostaItemDto() != null) { if (opcRespDto.isSelecionada()) { display = "block"; }else{ opcRespDto.getQuestaoComplementoDto().setRespostaItemDto(null); } } bufferOut += "<div id='divOpcao"+questaoDto.getIdQuestaoQuestionario().toString()+"_"+opcRespDto.getIdOpcaoRespostaQuestionario().toString()+"' style='display:"+display+"'><table width='100%'>"; bufferOut += montaLinhaQuestao(opcRespDto.getQuestaoComplementoDto(), null, null, request, validaGeral, questionario, somenteLeitura, subQuestionario); bufferOut += "</table></div>"; } } bufferOut += "" + dadosAdicionais + "</td></tr>"; /* for(Iterator itOpcResp = questaoDto.getColOpcoesResposta().iterator(); itOpcResp.hasNext();){ OpcaoRespostaQuestionarioDTO opcRespDto = (OpcaoRespostaQuestionarioDTO)itOpcResp.next(); if (opcRespDto.getQuestaoComplementoDto() != null) { String display = "none"; if (opcRespDto.getQuestaoComplementoDto().getRespostaItemDto() != null) { if (opcRespDto.isSelecionada()) { display = "block"; }else{ opcRespDto.getQuestaoComplementoDto().setRespostaItemDto(null); } } bufferOut += "<tr><td> </td><td> </td><td><div id='divOpcao"+questaoDto.getIdQuestaoQuestionario().toString()+"_"+opcRespDto.getIdOpcaoRespostaQuestionario().toString()+"' style='display:"+display+"'><table width='100%'>"; bufferOut += montaLinhaQuestao(opcRespDto.getQuestaoComplementoDto(), null, null, request, validaFaixaValoresGeral, questionario, somenteLeitura); bufferOut += "</table></div></td></tr>"; } } */ bufferOut += "</div>"; bufferQuestao += bufferOut; } } if (questaoDto.getTipoQuestao().equalsIgnoreCase("C")){ //CheckBox if (questaoDto.getColOpcoesResposta()!=null){ String aux = ""; if ("B".equalsIgnoreCase(questaoDto.getInfoResposta())){ //Em baixo da pergunta aux = " colspan='5' "; } String bufferOut = "</td><td width='" + dimensionamentoCampo + "' align='left' style='text-align:left' " + aux + " ><div id='divOpcoes_"+questaoDto.getIdQuestaoQuestionario()+"'>"; for(Iterator itOpcResp = questaoDto.getColOpcoesResposta().iterator(); itOpcResp.hasNext();){ OpcaoRespostaQuestionarioDTO opcRespDto = (OpcaoRespostaQuestionarioDTO)itOpcResp.next(); opcRespDto.setSelecionada(false); String checked = ""; if (resposta!=null){ if (isInCollection(opcRespDto, resposta.getColOpcoesResposta())){ checked = " checked='checked' "; opcRespDto.setSelecionada(true); } } bufferOut += "<input type='checkbox' " + classOpcoes + " onclick='limpaCamposCalculados(this);trataComplementoOpcao(this,\""+questaoDto.getIdQuestaoQuestionario().toString()+"\",\""+opcRespDto.getIdOpcaoRespostaQuestionario().toString()+"\")'" + " name='" + idCampo + questaoDto.getIdQuestaoQuestionario() + "' value='" + opcRespDto.getIdOpcaoRespostaQuestionario() + "' " + checked + "/><span id='tituloOpc_" + opcRespDto.getIdOpcaoRespostaQuestionario() + "' class='ml2 mr5'>" + opcRespDto.getTitulo() + "</span>"; if (opcRespDto.getQuestaoComplementoDto() != null) { String display = "none"; if (opcRespDto.getQuestaoComplementoDto().getRespostaItemDto() != null) { if (opcRespDto.isSelecionada()) { display = "block"; }else{ opcRespDto.getQuestaoComplementoDto().setRespostaItemDto(null); } } bufferOut += "<div id='divOpcao"+questaoDto.getIdQuestaoQuestionario().toString()+"_"+opcRespDto.getIdOpcaoRespostaQuestionario().toString()+"' style='display:"+display+"'><table width='100%'>"; bufferOut += montaLinhaQuestao(opcRespDto.getQuestaoComplementoDto(), null, null, request, validaGeral, questionario, somenteLeitura, subQuestionario); bufferOut += "</table></div>"; } } bufferOut += "" + dadosAdicionais + "</td></tr>"; /* for(Iterator itOpcResp = questaoDto.getColOpcoesResposta().iterator(); itOpcResp.hasNext();){ OpcaoRespostaQuestionarioDTO opcRespDto = (OpcaoRespostaQuestionarioDTO)itOpcResp.next(); if (opcRespDto.getQuestaoComplementoDto() != null) { String display = "none"; if (opcRespDto.getQuestaoComplementoDto().getRespostaItemDto() != null) { if (opcRespDto.isSelecionada()) { display = "block"; }else{ opcRespDto.getQuestaoComplementoDto().setRespostaItemDto(null); } } bufferOut += "<tr><td> </td><td> </td><td><div id='divOpcao"+questaoDto.getIdQuestaoQuestionario().toString()+"_"+opcRespDto.getIdOpcaoRespostaQuestionario().toString()+"' style='display:"+display+"'><table width='100%'>"; bufferOut += montaLinhaQuestao(opcRespDto.getQuestaoComplementoDto(), null, null, request, validaFaixaValoresGeral, questionario, somenteLeitura); bufferOut += "</table></div></td></tr>"; } } */ bufferOut += "</div>"; bufferQuestao += bufferOut; } } if (questaoDto.getTipoQuestao().equalsIgnoreCase("X")){ //ComboBox (Caixa de Sele��o) if (questaoDto.getColOpcoesResposta()!=null){ String aux = ""; if ("B".equalsIgnoreCase(questaoDto.getInfoResposta())){ //Em baixo da pergunta aux = " colspan='5' "; } String bufferOut = "</td><td width='" + dimensionamentoCampo + "' align='left' style='text-align:left' " + aux + " ><div id='divOpcoes_"+questaoDto.getIdQuestaoQuestionario()+"'>"; bufferOut += "<select " + classOpcoes + " onclick='limpaCamposCalculados(this);trataComplementoOpcao(this,\""+questaoDto.getIdQuestaoQuestionario().toString()+"\",\"0\")'" + " name='" + idCampo + questaoDto.getIdQuestaoQuestionario() + "'>"; bufferOut += "<option value=''>-- Selecione --</option>"; for(Iterator itOpcResp = questaoDto.getColOpcoesResposta().iterator(); itOpcResp.hasNext();){ OpcaoRespostaQuestionarioDTO opcRespDto = (OpcaoRespostaQuestionarioDTO)itOpcResp.next(); opcRespDto.setSelecionada(false); String selected = ""; if (resposta!=null){ if (isInCollection(opcRespDto, resposta.getColOpcoesResposta())){ selected = " selected='selected' "; opcRespDto.setSelecionada(true); } } bufferOut += "<option value='" + opcRespDto.getIdOpcaoRespostaQuestionario() + "' " + selected + ">" + opcRespDto.getTitulo() + "</option>"; } bufferOut += "</select>"; bufferOut += "" + dadosAdicionais + "</td></tr>"; for(Iterator itOpcResp = questaoDto.getColOpcoesResposta().iterator(); itOpcResp.hasNext();){ OpcaoRespostaQuestionarioDTO opcRespDto = (OpcaoRespostaQuestionarioDTO)itOpcResp.next(); if (opcRespDto.getQuestaoComplementoDto() != null) { String display = "none"; if (opcRespDto.getQuestaoComplementoDto().getRespostaItemDto() != null) { if (opcRespDto.isSelecionada()) { display = "block"; }else{ opcRespDto.getQuestaoComplementoDto().setRespostaItemDto(null); } } bufferOut += "<tr><td> </td><td> </td><td><div id='divOpcao"+questaoDto.getIdQuestaoQuestionario().toString()+"_"+opcRespDto.getIdOpcaoRespostaQuestionario().toString()+"' style='display:"+display+"'><table width='100%'>"; bufferOut += montaLinhaQuestao(opcRespDto.getQuestaoComplementoDto(), null, null, request, validaGeral, questionario, somenteLeitura, subQuestionario); bufferOut += "</table></div></td></tr>"; } } bufferOut += "</div>"; bufferQuestao += bufferOut; } } if (questaoDto.getTipoQuestao().equalsIgnoreCase("N")){ //N�mero (sem casas decimais) String strValidaFaixaValores = ""; if (questaoDto.getValorPermitido1() != null && questaoDto.getValorPermitido2() != null){ if (questaoDto.getValorPermitido1().doubleValue() > 0 || questaoDto.getValorPermitido2().doubleValue() > 0){ strValidaFaixaValores = "onblur=\"validaFaixaValores(this, '" + UtilFormatacao.formatDouble(questaoDto.getValorPermitido1(),3) + "','" + UtilFormatacao.formatDouble(questaoDto.getValorPermitido2(),3) + "', false)\""; validaGeral.addValidacao("ret = validaFaixaValores(document.formQuestionario." + idCampo + questaoDto.getIdQuestaoQuestionario() + ", '" + UtilFormatacao.formatDouble(questaoDto.getValorPermitido1(),3) + "','" + UtilFormatacao.formatDouble(questaoDto.getValorPermitido2(),3) + "', true);\nif (!ret) {return false;}\n"); } } String tamanhoStr = "15"; if (questaoDto.getTamanho() != null && questaoDto.getTamanho().intValue() > 0){ tamanhoStr = "" + questaoDto.getTamanho(); } bufferQuestao += "</td><td width='" + dimensionamentoCampo + "' align='left' style='text-align:left' ><input type='text' " + classOpcoes + " name='" + idCampo + questaoDto.getIdQuestaoQuestionario() + "'" + readonly + " size='" + tamanhoStr + "' maxlength='" + tamanhoStr + "' value='" + value + "' " + strValidaFaixaValores + "/>" + dadosAdicionais + "</td></tr>"; } if (questaoDto.getTipoQuestao().equalsIgnoreCase("V")){ //Valor Decimal String strValidaFaixaValores = ""; if (questaoDto.getValorPermitido1() != null && questaoDto.getValorPermitido2() != null){ if (questaoDto.getValorPermitido1().doubleValue() > 0 || questaoDto.getValorPermitido2().doubleValue() > 0){ strValidaFaixaValores = "onblur=\"validaFaixaValores(this, '" + UtilFormatacao.formatDouble(questaoDto.getValorPermitido1(),3) + "','" + UtilFormatacao.formatDouble(questaoDto.getValorPermitido2(),3) + "', false)\""; validaGeral.addValidacao("ret = validaFaixaValores(document.formQuestionario." + idCampo + questaoDto.getIdQuestaoQuestionario() + ", '" + UtilFormatacao.formatDouble(questaoDto.getValorPermitido1(),3) + "','" + UtilFormatacao.formatDouble(questaoDto.getValorPermitido2(),3) + "', true);\nif (!ret) {return false;}\n"); } } bufferQuestao += "</td><td width='" + dimensionamentoCampo + "' align='left' style='text-align:left' ><input type='text' " + classOpcoes + " name='" + idCampo + questaoDto.getIdQuestaoQuestionario() + "'" + readonly + " size='" + QUESTIONARIO_SIZE_QUESTAO + "' maxlength='" + questaoDto.getTamanho() + "' value='" + value + "' " + strValidaFaixaValores + "/>" + dadosAdicionais + "</td></tr>"; } if (questaoDto.getTipoQuestao().equalsIgnoreCase("%")){ //% (Percentual) String strValidaFaixaValores = ""; if (questaoDto.getValorPermitido1() != null && questaoDto.getValorPermitido2() != null){ if (questaoDto.getValorPermitido1().doubleValue() > 0 || questaoDto.getValorPermitido2().doubleValue() > 0){ strValidaFaixaValores = "onblur=\"validaFaixaValores(this, '" + UtilFormatacao.formatDouble(questaoDto.getValorPermitido1(),3) + "','" + UtilFormatacao.formatDouble(questaoDto.getValorPermitido2(),3) + "', false)\""; validaGeral.addValidacao("ret = validaFaixaValores(document.formQuestionario." + idCampo + questaoDto.getIdQuestaoQuestionario() + ", '" + UtilFormatacao.formatDouble(questaoDto.getValorPermitido1(),3) + "','" + UtilFormatacao.formatDouble(questaoDto.getValorPermitido2(),3) + "', true);\nif (!ret) {return false;}\n"); } } bufferQuestao += "</td><td width='" + dimensionamentoCampo + "' align='left' style='text-align:left' ><input type='text' " + classOpcoes + " onchange='limpaCamposCalculados(this);'" + " name='" + idCampo + questaoDto.getIdQuestaoQuestionario() + "'" + readonly + " size='" + QUESTIONARIO_SIZE_QUESTAO + "' maxlength='" + questaoDto.getTamanho() + "' value='" + value + "' " + strValidaFaixaValores + "/>" + dadosAdicionais + "</td></tr>"; } if (questaoDto.getTipoQuestao().equalsIgnoreCase("*")){ //% (Percentual) + Valor Absoluto bufferQuestao += "</td><td width='" + dimensionamentoCampo + "' align='left' style='text-align:left' ><input type='text' " + classOpcoes + " onchange='limpaCamposCalculados(this);'" + " name='" + idCampo + questaoDto.getIdQuestaoQuestionario() + "'" + readonly + " size='6' maxlength='6' value='" + value + "'/>% Valor: <input type='text' " + classOpcoes + " onchange='limpaCamposCalculados(this);'" + " name='" + idCampo + questaoDto.getIdQuestaoQuestionario() + "' size='15' maxlength='15' value='" + value2 + "'/>" + dadosAdicionais + "</td></tr>"; } if (questaoDto.getTipoQuestao().equalsIgnoreCase("1")){ //Faixa de Valores (N�meros) bufferQuestao += "</td><td width='" + dimensionamentoCampo + "' align='left' style='text-align:left' >Valor Inicial: <input type='text' " + classOpcoes + " onchange='limpaCamposCalculados(this);'" + " name='" + idCampo + questaoDto.getIdQuestaoQuestionario() + "' size='6' maxlength='6' value='" + value + "'/> Valor Final: <input type='text' " + classOpcoes + " onchange='limpaCamposCalculados(this);'" + " name='" + idCampo + questaoDto.getIdQuestaoQuestionario() + "' size='15' maxlength='15' value='" + value2 + "'/>" + dadosAdicionais + "</td></tr>"; } if (questaoDto.getTipoQuestao().equalsIgnoreCase("2")){ //Faixa de Valores (Valores decimais) bufferQuestao += "</td><td width='" + dimensionamentoCampo + "' align='left' style='text-align:left' >Valor Inicial: <input type='text' " + classOpcoes + " onchange='limpaCamposCalculados(this);'" + " name='" + idCampo + questaoDto.getIdQuestaoQuestionario() + "' size='6' maxlength='6' value='" + value + "'/> Valor Final: <input type='text' " + classOpcoes + " onchange='limpaCamposCalculados(this);'" + " name='" + idCampo + questaoDto.getIdQuestaoQuestionario() + "' size='15' maxlength='15' value='" + value2 + "'/>" + dadosAdicionais + "</td></tr>"; } if (questaoDto.getTipoQuestao().equalsIgnoreCase("I")){ //Galeria de Imagens bufferQuestao += "</td><td width='" + dimensionamentoCampo + "' align='left' style='text-align:left' ><a href='#'>[Clique aqui para inserir uma imagem]</a><div id='divGalImg" + questaoDto.getIdQuestaoQuestionario() + "'></div></td></tr>"; } if (questaoDto.getTipoQuestao().equalsIgnoreCase("M")){ //Galeria Multim�dia (Videos,etc.) } bufferQuestao += "</td><td width='" + dimensionamentoCampo + "' align='left' style='text-align:left' ><a href='#' onclick=\"chamaTelaUploadArquivoMultimidia('divGalMulti" + questaoDto.getIdQuestaoQuestionario() + "'," + questaoDto.getIdQuestaoQuestionario() + ")\">[Clique aqui para inserir um arquivo mult�midia]</a><div id='divGalMulti" + questaoDto.getIdQuestaoQuestionario() + "' style='border:1px solid black; height: 200px; width: 100%; background-color:white; overflow:auto; margin: 0px 10px 10px 10px;'></div></td></tr>"; Collection colAnexos = new ArrayList(); if (resposta != null){ if (resposta.getColRelacaoAnexos() != null){ for(Iterator it = resposta.getColRelacaoAnexos().iterator(); it.hasNext();){ RespostaItemQuestionarioAnexosDTO respAnexoDto = (RespostaItemQuestionarioAnexosDTO)it.next(); ArquivoMultimidiaDTO arquivoMultimidia = new ArquivoMultimidiaDTO(); arquivoMultimidia.setCaminhoArquivo("IDCITGED=" + respAnexoDto.getCaminhoAnexo()); arquivoMultimidia.setObservacao(respAnexoDto.getObservacao()); arquivoMultimidia.setIdQuestaoQuest(questaoDto.getIdQuestaoQuestionario()); arquivoMultimidia.setNomeArquivo(respAnexoDto.getNomeArquivo()); arquivoMultimidia.setUrlArquivo(Constantes.getValue("SERVER_ADDRESS") + Constantes.getValue("CONTEXTO_APLICACAO") + "/recuperaFromGed/recuperaFromGed.load?idControleGED=" + respAnexoDto.getCaminhoAnexo()); colAnexos.add(arquivoMultimidia); } } } request.getSession(true).setAttribute("TEMP_LISTA_ARQ_MULTIMIDIA", colAnexos); bufferQuestao += "<script>function chamaAtualicaoLista_" + questaoDto.getIdQuestaoQuestionario() + "(){document.formArquivosMultimidia.idDIV.value = 'divGalMulti" + questaoDto.getIdQuestaoQuestionario() + "';}</script>"; bufferQuestao += "<script>addEvent(window, \"load\", chamaAtualicaoLista_" + questaoDto.getIdQuestaoQuestionario() + ", false);</script>"; bufferQuestao += "<script>addEvent(window, \"load\", apresentaListaItensGED, true);</script>"; } if (questaoDto.getTipoQuestao().equalsIgnoreCase("D")){ //Data String aux = ""; if (!somenteLeitura){ aux = "<img src=\"" + Constantes.getValue("SERVER_ADDRESS") + Constantes.getValue("CONTEXTO_APLICACAO") + "/imagens/cal.gif\" title=\"Clique aqui para selecionar uma data\" style=\"cursor:pointer\" align=\"top\" height=\"18\" onclick=\"return QUESTIONARIO_showCalendar('" + idCampo + questaoDto.getIdQuestaoQuestionario() + readonly + "', 'dd/mm/y');\">"; } bufferQuestao += "</td><td width='" + dimensionamentoCampo + "' align='left' style='text-align:left' ><input type='text' " + classOpcoes + " onchange='limpaCamposCalculados(this);'" + " name='" + idCampo + questaoDto.getIdQuestaoQuestionario() + readonly + "' id='" + idCampo + questaoDto.getIdQuestaoQuestionario() + readonly + "' size='10' maxlength='10' value='" + value + "'/>" + aux + " " + dadosAdicionais + "</td></tr>"; } if (questaoDto.getTipoQuestao().equalsIgnoreCase("H")){ //Hora bufferQuestao += "</td><td width='" + dimensionamentoCampo + "' align='left' style='text-align:left' ><input type='text' " + classOpcoes + " onchange='limpaCamposCalculados(this);'" + " name='" + idCampo + questaoDto.getIdQuestaoQuestionario() + "'" + readonly + " size='5' maxlength='5' value='" + value + "'/>" + dadosAdicionais + "</td></tr>"; } if (questaoDto.getTipoQuestao().equalsIgnoreCase("G")){ //Mes/Ano classOpcoes += "Format[Numero]"; bufferQuestao += "</td><td width='" + dimensionamentoCampo + "' align='left' style='text-align:left' >M�s: <input type='text' " + classOpcoes + " onchange='limpaCamposCalculados(this);'" + " name='" + idCampo + questaoDto.getIdQuestaoQuestionario() + "'" + readonly + "size='2' maxlength='2' value='" + value + "'/> Ano:<input type='text' " + classOpcoes + " onchange='limpaCamposCalculados(this);'" + " name='" + idCampo + questaoDto.getIdQuestaoQuestionario() + "'" + readonly + "size='4' maxlength='4' value='" + value2 + "'/>" + dadosAdicionais + "</td></tr>"; } if (questaoDto.getTipoQuestao().equalsIgnoreCase("8")){ //Listagem ListagemDTO listagem = ListagemConfig.getInstance().find(questaoDto.getNomeListagem()); if (listagem != null){ ListagemService listagemService = (ListagemService) ServiceLocator.getInstance().getService(ListagemService.class, null); listagem = (ListagemDTO) listagemService.restore(listagem); String aux = ""; if ("B".equalsIgnoreCase(questaoDto.getInfoResposta())){ //Em baixo da pergunta aux = " colspan='5' "; } String bufferOut = "</td><td width='" + dimensionamentoCampo + "' align='left' style='text-align:left' " + aux + " >"; bufferOut += "<select " + classOpcoes + " onchange='limpaCamposCalculados(this);'" + " name='" + idCampo + questaoDto.getIdQuestaoQuestionario() + "'>"; bufferOut += "<option value=''>-- Selecione --</option>"; for(Iterator it = listagem.getLinhas().iterator(); it.hasNext();){ ListagemLinhaDTO linha = (ListagemLinhaDTO)it.next(); String selected = ""; if (resposta != null && resposta.getRespostaIdListagem() != null){ if (linha.getId().trim().equalsIgnoreCase(resposta.getRespostaIdListagem().trim())){ selected = " selected='selected' "; } } bufferOut += "<option value='" + linha.getId() + "' " + selected + ">" + linha.getDescricao() + "</option>"; } bufferOut += "</select>"; bufferOut += "" + dadosAdicionais + "</td></tr>"; bufferQuestao += bufferOut; } } if (questaoDto.getTipoQuestao().equalsIgnoreCase("9")){ //Desenho GaleriaImagensService galeriaImagensService = (GaleriaImagensService) ServiceLocator.getInstance().getService(GaleriaImagensService.class, null); ControleGEDService controleGEDService = (ControleGEDService) ServiceLocator.getInstance().getService(ControleGEDService.class, null); GaleriaImagensDTO galeriaImagensDTO = new GaleriaImagensDTO(); if (questaoDto.getIdImagem() != null){ galeriaImagensDTO.setIdImagem(questaoDto.getIdImagem()); galeriaImagensDTO = (GaleriaImagensDTO) galeriaImagensService.restore(galeriaImagensDTO); } if (galeriaImagensDTO == null){ galeriaImagensDTO = new GaleriaImagensDTO(); } String caminhoAnexo = ""; if (galeriaImagensDTO.getIdImagem() != null){ ControleGEDDTO controleGEDDTO = new ControleGEDDTO(); controleGEDDTO.setIdControleGED(new Integer(galeriaImagensDTO.getNomeImagem())); controleGEDDTO = (ControleGEDDTO) controleGEDService.restore(controleGEDDTO); if (controleGEDDTO != null){ //String urlSistema = ParametroUtil.getValor(ParametroSistema.URL_Sistema, null, ""); String urlSistema = Constantes.getValue("CONTEXTO_APLICACAO"); File fileDir2 = new File(urlSistema + "/galeriaImagens"); if (!fileDir2.exists()){ fileDir2.mkdirs(); } fileDir2 = new File(urlSistema + "/galeriaImagens/" + user.getIdEmpresa()); if (!fileDir2.exists()){ fileDir2.mkdirs(); } fileDir2 = new File(urlSistema + "/galeriaImagens/" + user.getIdEmpresa() + "/" + galeriaImagensDTO.getIdCategoriaGaleriaImagem()); if (!fileDir2.exists()){ fileDir2.mkdirs(); } try{ CriptoUtils.decryptFile(Constantes.getValue("DIRETORIO_GED") + "/" + user.getIdEmpresa() + "/" + controleGEDDTO.getPasta() + "/" + controleGEDDTO.getIdControleGED() + ".ged", urlSistema + "/galeriaImagens/" + user.getIdEmpresa() + "/" + galeriaImagensDTO.getIdCategoriaGaleriaImagem() + "/" + controleGEDDTO.getIdControleGED() + "." + galeriaImagensDTO.getExtensao(), System.getProperties().get("user.dir") + Constantes.getValue("CAMINHO_CHAVE_PRIVADA")); }catch (Exception e) { e.printStackTrace(); } caminhoAnexo = Constantes.getValue("SERVER_ADDRESS") + Constantes.getValue("CONTEXTO_APLICACAO") + "/galeriaImagens/" + user.getIdEmpresa() + "/" + galeriaImagensDTO.getIdCategoriaGaleriaImagem() + "/" + controleGEDDTO.getIdControleGED() + "." + galeriaImagensDTO.getExtensao(); } } bufferQuestao += "<tr><td width='" + QUESTIONARIO_WIDTH_COLUNA_AVANCO + "'>" + avanco + "</td><td colspan='20'>"; if (galeriaImagensDTO.getIdImagem() == null){ bufferQuestao += "<a href='#ancoraGaleriaImagens' onclick='chamaGaleriaImagens("+questaoDto.getIdQuestaoQuestionario()+"," + questaoDto.getIdImagem() + ", \"" + idCampo + questaoDto.getIdQuestaoQuestionario() + "\");'>" + questaoDto.getTituloQuestaoQuestionarioSemFmt() + "<a/>"; }else{ bufferQuestao += "<input type='button' name='btnDyn_" + questaoDto.getIdQuestaoQuestionario() + "' onclick='chamaEditorImagens("+questaoDto.getIdQuestaoQuestionario()+"," + questaoDto.getIdImagem() + ",\"" + caminhoAnexo + "\", \"" + idCampo + questaoDto.getIdQuestaoQuestionario() + "\");' value='" + questaoDto.getTituloQuestaoQuestionarioSemFmt() + "'/>"; } bufferQuestao += "</td></tr>"; bufferQuestao += "<tr><td colspan='20'>"; bufferQuestao += "<textarea style='display:none' name='" + idCampo + questaoDto.getIdQuestaoQuestionario() + "' id='" + idCampo + questaoDto.getIdQuestaoQuestionario() + "'>" + value + "</textarea>"; bufferQuestao += "<iframe id='ifrImagem_" + questaoDto.getIdQuestaoQuestionario() + "' name='ifrImagem_" + questaoDto.getIdQuestaoQuestionario() + "' src='about:blank' height='480%' width='640' frameborder='1'></iframe>"; bufferQuestao += "</td></tr>"; if (value != null && !value.trim().equalsIgnoreCase("")){ bufferQuestao += "<script>document.getElementById('ifrImagem_" + questaoDto.getIdQuestaoQuestionario() + "').src = 'data:image/svg+xml;base64,'+encode64_questionario(document.getElementById('campoDyn_" + questaoDto.getIdQuestaoQuestionario() + "').value);</script>"; } } /* if ("B".equalsIgnoreCase(questaoDto.getInfoResposta())){ //Em baixo da pergunta //OK }else{ bufferQuestao += "</td></tr>"; } */ //bufferQuestao += "</td></tr>"; return bufferQuestao; } private String montaIconeModeloTextual(String campo, String tipoCampo){ //return "<img src='" + Constantes.getValue("SERVER_ADDRESS") + Constantes.getValue("CONTEXTO_APLICACAO") + "/imagens/modelo.gif' border='0' style='cursor:pointer' title='Clique aqui para acessar a biblioteca de modelos textuais' onclick='chamaTelaModelosTextuaisQuest(\"" + campo + "\", \"" + tipoCampo + "\")'>"; return ""; } private String montaTituloQuestao(QuestaoQuestionarioDTO questaoDto, HttpServletRequest request){ String QUESTIONARIO_QUEBRA_LINHA_FINAL_TIT_QUESTAO = "S"; String tituloQuestao = questaoDto.getTituloQuestaoQuestionario(); if (!tituloQuestao.equalsIgnoreCase("")){ String infoObr = ""; if ("S".equalsIgnoreCase(questaoDto.getObrigatoria()) && (!(questaoDto.getTipo().equalsIgnoreCase("T") || questaoDto.getTipoQuestao().equalsIgnoreCase("F")) )){ infoObr = "*"; } tituloQuestao = tituloQuestao.trim(); tituloQuestao = tituloQuestao.replaceAll("<p>", ""); tituloQuestao = tituloQuestao.replaceAll("</p>", "<br/>"); if (tituloQuestao.length() > 6){ if (QUESTIONARIO_QUEBRA_LINHA_FINAL_TIT_QUESTAO.equalsIgnoreCase("S")){ if (tituloQuestao.substring(tituloQuestao.length()-5, tituloQuestao.length()).equalsIgnoreCase("</br>") || tituloQuestao.substring(tituloQuestao.length()-5, tituloQuestao.length()).equalsIgnoreCase("<br/>")){ tituloQuestao = tituloQuestao.substring(0, tituloQuestao.length()-5) + infoObr + "<br/>"; }else if (tituloQuestao.substring(tituloQuestao.length()-6, tituloQuestao.length()).equalsIgnoreCase("<br />")){ tituloQuestao = tituloQuestao.substring(0, tituloQuestao.length()-6) + infoObr + "<br/>"; } }else{ if (tituloQuestao.substring(tituloQuestao.length()-5, tituloQuestao.length()).equalsIgnoreCase("</br>") || tituloQuestao.substring(tituloQuestao.length()-5, tituloQuestao.length()).equalsIgnoreCase("<br/>")){ tituloQuestao = tituloQuestao.substring(0, tituloQuestao.length()-5) + infoObr + ""; }else if (tituloQuestao.substring(tituloQuestao.length()-4, tituloQuestao.length()).equalsIgnoreCase("<br>") || tituloQuestao.substring(tituloQuestao.length()-4, tituloQuestao.length()).equalsIgnoreCase("<br>")){ tituloQuestao = tituloQuestao.substring(0, tituloQuestao.length()-4) + infoObr + ""; }else if (tituloQuestao.substring(tituloQuestao.length()-6, tituloQuestao.length()).equalsIgnoreCase("<br />")){ tituloQuestao = tituloQuestao.substring(0, tituloQuestao.length()-6) + infoObr + ""; } } }else{ tituloQuestao = tituloQuestao + infoObr; } } return tituloQuestao; } private boolean isInCollection(OpcaoRespostaQuestionarioDTO opcRespDto, Collection colVerificar){ if (colVerificar == null) return false; for(Iterator it = colVerificar.iterator(); it.hasNext();){ RespostaItemQuestionarioOpcoesDTO respItemQuestDto = (RespostaItemQuestionarioOpcoesDTO)it.next(); if (respItemQuestDto.getIdOpcaoRespostaQuestionario().intValue() == opcRespDto.getIdOpcaoRespostaQuestionario().intValue()){ return true; } } for(Iterator it = colVerificar.iterator(); it.hasNext();){ RespostaItemQuestionarioOpcoesDTO respItemQuestDto = (RespostaItemQuestionarioOpcoesDTO)it.next(); if (respItemQuestDto.getTitulo().equalsIgnoreCase(opcRespDto.getTitulo())){ return true; } } return false; } }