package br.com.centralit.citcorpore.ajaxForms; import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.lang.StringEscapeUtils; import br.com.centralit.citajax.html.AjaxFormAction; import br.com.centralit.citajax.html.DocumentHTML; import br.com.centralit.citajax.html.HTMLForm; import br.com.centralit.citajax.html.HTMLSelect; import br.com.centralit.citcorpore.bean.ChecklistQuestionarioDTO; import br.com.centralit.citcorpore.bean.RequisicaoQuestionarioDTO; import br.com.centralit.citcorpore.bean.UsuarioDTO; import br.com.centralit.citcorpore.negocio.RequisicaoQuestionarioService; import br.com.centralit.citcorpore.util.CitCorporeConstantes; import br.com.centralit.citcorpore.util.Enumerados.TipoDate; import br.com.centralit.citcorpore.util.WebUtil; import br.com.centralit.citquestionario.bean.QuestionarioDTO; import br.com.centralit.citquestionario.negocio.QuestionarioService; import br.com.citframework.excecao.ServiceException; import br.com.citframework.service.ServiceLocator; import br.com.citframework.util.UtilDatas; import br.com.citframework.util.UtilI18N; import br.com.citframework.util.UtilStrings; @SuppressWarnings({"rawtypes"}) public class ChecklistQuestionario extends AjaxFormAction { @Override public void load(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { final ChecklistQuestionarioDTO checklistQuestionarioDTO = (ChecklistQuestionarioDTO) document.getBean(); carregaComboQuest(document, request, response); listarRegistrosQuestionario(document, request, response); final HTMLForm form = document.getForm("form"); form.setValues(checklistQuestionarioDTO); } @Override public Class<ChecklistQuestionarioDTO> getBeanClass() { return ChecklistQuestionarioDTO.class; } public void save(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { if (document.getBean() == null) { document.alert(UtilI18N.internacionaliza(request, "MSG05")); } else { document.alert(UtilI18N.internacionaliza(request, "MSG06")); } final HTMLForm form = document.getForm("form"); form.clear(); } public void carregaComboQuest(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { final QuestionarioService questionarioService = (QuestionarioService) ServiceLocator.getInstance().getService( QuestionarioService.class, null); final HTMLSelect comboQuestionario = document.getSelectById("idQuestionario"); @SuppressWarnings("unchecked") final ArrayList<QuestionarioDTO> tipos = (ArrayList) questionarioService.list(); comboQuestionario.removeAllOptions(); if (tipos != null && tipos.size() > 0) { comboQuestionario.addOption("", "-- " + UtilI18N.internacionaliza(request, "alcada.limite.todos") + " --"); for (final QuestionarioDTO tipo : tipos) { comboQuestionario.addOption(tipo.getIdQuestionario().toString(), StringEscapeUtils.escapeJavaScript(tipo.getNomeQuestionario())); } } } /** * Metodo colocar status Inativo quando for solicitado a exclus�o do usuario. * * @param document * @param request * @param response * @throws Exception */ public void delete(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { final HTMLForm form = document.getForm("form"); form.clear(); } /** * Metodo para restaura os campos. * * @param document * @param request * @param response * @throws Exception */ public void restore(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { final HTMLForm form = document.getForm("form"); form.clear(); } public void listarRegistrosQuestionario(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { final ChecklistQuestionarioDTO checklistQuestionarioDTO = (ChecklistQuestionarioDTO) document.getBean(); final UsuarioDTO usuario = WebUtil.getUsuario(request); if (usuario == null) { document.alert("Sess�o expirada! Favor efetuar logon novamente!"); return; } String PRONTUARIO_FORMA_EDICAO = "PRONTUARIO_FORMA_EDICAO"; if (PRONTUARIO_FORMA_EDICAO == null || PRONTUARIO_FORMA_EDICAO.trim().equalsIgnoreCase("")) { PRONTUARIO_FORMA_EDICAO = "P"; } QuestionarioDTO questionarioDTO = new QuestionarioDTO(); final QuestionarioService questionarioService = (QuestionarioService) ServiceLocator.getInstance().getService( QuestionarioService.class, null); if (checklistQuestionarioDTO.getIdQuestionario() != null) { questionarioDTO.setIdQuestionario(checklistQuestionarioDTO.getIdQuestionario()); questionarioDTO = (QuestionarioDTO) questionarioService.restore(questionarioDTO); checklistQuestionarioDTO.setIdQuestionarioOrigem(questionarioDTO.getIdQuestionarioOrigem()); } final RequisicaoQuestionarioService requisicaoQuestionariosService = (RequisicaoQuestionarioService) ServiceLocator .getInstance().getService(RequisicaoQuestionarioService.class, null); final Collection colQuestHist = requisicaoQuestionariosService .listByIdTipoAbaAndTipoRequisicaoAndQuestionario(checklistQuestionarioDTO); Integer seqGeral = new Integer(0); String abrir = ""; String abrirUltimo = ""; String geralData = ""; final StringBuilder strTable = new StringBuilder(); strTable.append(""); final StringBuilder hist_Pront = new StringBuilder(); if (colQuestHist != null && colQuestHist.size() > 0) { strTable.append("<table width=\"100%\" class=\"tableLess\">"); strTable.append("<thead>"); strTable.append("<tr>"); strTable.append("<th width=\"7%\" >"); strTable.append(" "); strTable.append("</th>"); strTable.append("<th>"); strTable.append(UtilI18N.internacionaliza(request, "itemConfiguracaoTree.versao")); strTable.append("</th>"); strTable.append("<th>"); strTable.append(UtilI18N.internacionaliza(request, "questionario.dataHora")); strTable.append("</th>"); strTable.append("<th>"); strTable.append(UtilI18N.internacionaliza(request, "menu.nome.questionario")); strTable.append("</th>"); strTable.append("<th >"); strTable.append(UtilI18N.internacionaliza(request, "citcorpore.comum.concluida")); strTable.append("</th>"); strTable.append("</tr>"); strTable.append("</thead>"); hist_Pront.append("geral_hist_Pront_Quest_Seq = new Array();"); hist_Pront.append("geral_hist_Pront_Quest = new Array();"); hist_Pront.append("geral_hist_Pront_Quest = new Array();"); seqGeral = colQuestHist.size(); Integer seq = colQuestHist.size(); int i = colQuestHist.size() - 1; for (final Iterator it = colQuestHist.iterator(); it.hasNext();) { final RequisicaoQuestionarioDTO reqQuestQuestDTO = (RequisicaoQuestionarioDTO) it.next(); hist_Pront.append("geral_hist_Pront_Quest_Seq[" + i + "] = '" + seq.toString() + "';"); hist_Pront.append("geral_hist_Pront_Quest_Data[" + i + "] = '" + UtilDatas.convertDateToString(TipoDate.DATE_DEFAULT, reqQuestQuestDTO.getDataQuestionario(), WebUtil.getLanguage(request)) + "';"); final String descricao = ""; final Collection col = null; strTable.append("<tr>"); strTable.append("<td >"); abrir = "titulo_Selecionado = '" + descricao.replaceAll("'", "") + "';"; abrir += "try{cit$('divTituloPOPUPQUEST').innerHTML = titulo_Selecionado;}catch(e){};"; if ("F".equalsIgnoreCase(reqQuestQuestDTO.getSituacao())) { abrir += "abaSelecionada = '" + reqQuestQuestDTO.getAba() + "'; chamaEdicaoQuestionario(" + reqQuestQuestDTO.getIdRequisicao() + "," + reqQuestQuestDTO.getIdQuestionario() + ",0, " + reqQuestQuestDTO.getIdRequisicaoQuestionario() + ", true, 'N', '" + reqQuestQuestDTO.getAba() + "," + reqQuestQuestDTO.getNomeQuestionario() + "')"; strTable.append("<img title=\"" + UtilI18N.internacionaliza(request, "Questionario.questionarioPreenchido") + "\" src=\"" + CitCorporeConstantes.CAMINHO_SERVIDOR + request.getContextPath() + "/template_new/images/icons/large/grey/archive.png\" border=\"0\" onclick=\"try{cit$('div_PQ_Indicador').innerHTML = '--';}catch(e){};try{cit$('div_PQ_Data').innerHTML = '" + UtilDatas.convertDateToString(TipoDate.DATE_DEFAULT, reqQuestQuestDTO.getDataQuestionario(), WebUtil.getLanguage(request)) + "';}catch(e){};" + abrir + "\" style=\"cursor:pointer\" >"); } else { abrir += "abaSelecionada = '" + reqQuestQuestDTO.getAba() + "'; chamaEdicaoQuestionario(" + reqQuestQuestDTO.getIdRequisicao() + "," + reqQuestQuestDTO.getIdQuestionario() + ",0, " + reqQuestQuestDTO.getIdRequisicaoQuestionario() + ", false, 'N', '" + reqQuestQuestDTO.getAba() + "," + reqQuestQuestDTO.getNomeQuestionario() + "')"; strTable.append("<img title='" + UtilI18N.internacionaliza(request, "Questionario.questionarioPreenchido") + "' src=\"" + CitCorporeConstantes.CAMINHO_SERVIDOR + request.getContextPath() + "/template_new/images/icons/large/grey/archive.png\" border=\"0\" onclick=\"try{cit$('div_PQ_Indicador').innerHTML = '--';}catch(e){};try{cit$('div_PQ_Data').innerHTML = '" + UtilDatas.convertDateToString(TipoDate.DATE_DEFAULT, reqQuestQuestDTO.getDataQuestionario(), WebUtil.getLanguage(request)) + "';}catch(e){};" + abrir + "\" style=\"cursor:pointer\" >"); } strTable.append("</td>"); strTable.append("<td class='tdPontilhada' style=\"text-align:center\">" + seq.toString() + "</td>"); strTable.append("<td class='tdPontilhada'>"); strTable.append(UtilDatas.convertDateToString(TipoDate.TIMESTAMP_WITH_SECONDS, reqQuestQuestDTO.getDataHoraGrav(), WebUtil.getLanguage(request))); strTable.append("</td>"); strTable.append("<td class='tdPontilhada'>"); strTable.append(UtilStrings.nullToVazio(reqQuestQuestDTO.getNomeQuestionario()) + " "); strTable.append("</td>"); strTable.append("<td class='tdPontilhada' style='text-align: center'>"); if (reqQuestQuestDTO.getConfirmacao() != null && reqQuestQuestDTO.getConfirmacao().equalsIgnoreCase("S")) { strTable.append("<label style='cursor:pointer'><input type='checkbox' value='S' id='confirma' name='confirma' checked onclick='gravaConfirmacao(" + reqQuestQuestDTO.getIdRequisicaoQuestionario() + ", \"S\");'/></label><br>"); } else { strTable.append("<label style='cursor:pointer'><input type='checkbox' value='N' id='confirma' name='confirma' onclick='gravaConfirmacao(" + reqQuestQuestDTO.getIdRequisicaoQuestionario() + ", \"N\");'/></label><br>"); } strTable.append("</td>"); strTable.append("</tr>"); seq = seq - 1; hist_Pront.append("geral_hist_Pront_Quest_Comando[" + i + "] = \"" + abrir + "\";"); i--; if (abrirUltimo.equalsIgnoreCase("")) { abrirUltimo = abrir; } if (geralData.equalsIgnoreCase("")) { if (checklistQuestionarioDTO.getTipoApresResumo() == null) { checklistQuestionarioDTO.setTipoApresResumo(""); } if (!checklistQuestionarioDTO.getTipoApresResumo().equalsIgnoreCase("E")) { hist_Pront.append("geral_data = '" + UtilDatas.convertDateToString(TipoDate.DATE_DEFAULT, reqQuestQuestDTO.getDataQuestionario(), WebUtil.getLanguage(request)) + "';"); geralData = "geral_data = '" + UtilDatas.convertDateToString(TipoDate.DATE_DEFAULT, reqQuestQuestDTO.getDataQuestionario(), WebUtil.getLanguage(request)) + "';"; } } } strTable.append("</table>"); if (PRONTUARIO_FORMA_EDICAO.equalsIgnoreCase("A")) { document.executeScript(hist_Pront.toString()); if (checklistQuestionarioDTO.getTipoApresResumo() == null) { checklistQuestionarioDTO.setTipoApresResumo(""); } if (!checklistQuestionarioDTO.getTipoApresResumo().equalsIgnoreCase("E")) { document.executeScript("geral_seq_Pront_Questionario = " + seqGeral.toString()); document.executeScript("geral_seq_Sel_Pront_Questionario = (" + seqGeral.toString() + " - 1)"); } if (!abrir.equalsIgnoreCase("")) { checklistQuestionarioDTO.setUltimoComando(abrirUltimo); } } if (checklistQuestionarioDTO.getTipoApresResumo() == null || checklistQuestionarioDTO.getTipoApresResumo().equalsIgnoreCase("J")) { document.getElementById("divRegistros").setInnerHTML(strTable.toString()); } else { if (!checklistQuestionarioDTO.getTipoApresResumo().equalsIgnoreCase("*")) {// O * indica para nao apresentar nada document.getElementById("divHistRes_Conteudo").setInnerHTML(strTable.toString()); final HTMLForm form = document.getForm("form"); form.setValues(checklistQuestionarioDTO); } } } } public void gravaConfirmacaoQuestionario(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws ServiceException, Exception { final ChecklistQuestionarioDTO checkQuestionario = (ChecklistQuestionarioDTO) document.getBean(); final RequisicaoQuestionarioService reqQuestionarioService = (RequisicaoQuestionarioService) ServiceLocator .getInstance().getService(RequisicaoQuestionarioService.class, null); RequisicaoQuestionarioDTO reqQuestionario = new RequisicaoQuestionarioDTO(); reqQuestionario.setIdRequisicaoQuestionario(checkQuestionario.getIdRequisicaoQuestionario()); reqQuestionario = (RequisicaoQuestionarioDTO) reqQuestionarioService.restore(reqQuestionario); String confirmacao; if (reqQuestionario.getConfirmacao() == null || reqQuestionario.getConfirmacao().equalsIgnoreCase("")) { confirmacao = "N"; } else { confirmacao = reqQuestionario.getConfirmacao(); } if (confirmacao.equalsIgnoreCase("N")) { document.alert(UtilI18N.internacionaliza(request, "requisicaoLiberacao.validaQuestionarioMarcado")); } else { document.alert(UtilI18N.internacionaliza(request, "requisicaoLiberacao.validaQuestionarioDesmarcado")); } } }