From bfbcab0fd4f198f55b57c4a7603c7d87c235d054 Mon Sep 17 00:00:00 2001 From: gibransodre Date: Wed, 4 Jan 2017 09:02:04 -0200 Subject: [PATCH] Correções nas datas limites de preenchimento. --- WebContent/WEB-INF/jsp/login/login.jsp | 2 +- WebContent/WEB-INF/tags/baseLayout.tag | 2 +- src/br/com/controller/QuestionarioController.java | 3 +-- src/br/com/controller/formularioOrgaoController.java | 397 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- src/br/com/dao/HashDao.java | 51 ++++++++++++++++++++++++++++++++++++++++++++++++--- src/br/com/model/entity/EnvioEmailSemAutenticacao.java | 16 ++++++++-------- 6 files changed, 237 insertions(+), 234 deletions(-) diff --git a/WebContent/WEB-INF/jsp/login/login.jsp b/WebContent/WEB-INF/jsp/login/login.jsp index fa0c5bd..bbcb33c 100644 --- a/WebContent/WEB-INF/jsp/login/login.jsp +++ b/WebContent/WEB-INF/jsp/login/login.jsp @@ -115,7 +115,7 @@ impressão e assinatura do FAD, assim como a elaboração de Plano de Trabalho para cada ambiente digital que não esteja em conformidade com as diretrizes de acessibilidade e o envio destes (através da opção 'Anexar Documentos' ou 'Enviar Relatório à PFDC/MPF' na barra de menu acima) para à Procuradoria Federal dos Direitos do Cidadão (PFDC) do Ministério Público Federal (MPF) e - publicação no sítio ou portal eletrônico do órgão ou entidade até o dia 2 de janeiro de 2017.

+ publicação no sítio ou portal eletrônico do órgão ou entidade até o dia 02 de janeiro de 2017.

Para preenchimento deste questionário, o órgão deverá informar, pelo menos, o sítio institucional e selecionar quatro páginas deste mesmo sítio (Exemplo: contato, serviços, perguntas frequentes e notícias) para submissão das respostas. Observando que os sítios informados não diff --git a/WebContent/WEB-INF/tags/baseLayout.tag b/WebContent/WEB-INF/tags/baseLayout.tag index 9a05980..5025565 100644 --- a/WebContent/WEB-INF/tags/baseLayout.tag +++ b/WebContent/WEB-INF/tags/baseLayout.tag @@ -94,7 +94,7 @@ Acesso a Informação

  • - + Brasil - Governo Federal
  • diff --git a/src/br/com/controller/QuestionarioController.java b/src/br/com/controller/QuestionarioController.java index 7526146..e8a94ef 100644 --- a/src/br/com/controller/QuestionarioController.java +++ b/src/br/com/controller/QuestionarioController.java @@ -201,8 +201,7 @@ public class QuestionarioController { mensagem.append("inteira responsabilidade.

    "); mensagem.append("

    O FAD poderá ser preenchido no período " - + DateUtil.dataHoraFormatadaDiaMesAno(prop.getProperty("dataInicio")) + " a " - + DateUtil.dataHoraFormatadaDiaMesAno(prop.getProperty("dataFim")) + ", data limite "); + + DateUtil.dataHoraFormatadaDiaMesAno(prop.getProperty("dataInicio")) + " a 02/01/2017, data limite "); mensagem .append("para o envio do relatório circunstanciado (formulário de acessibilidade digital e plano de "); mensagem diff --git a/src/br/com/controller/formularioOrgaoController.java b/src/br/com/controller/formularioOrgaoController.java index dead13c..95a8d15 100644 --- a/src/br/com/controller/formularioOrgaoController.java +++ b/src/br/com/controller/formularioOrgaoController.java @@ -3,11 +3,6 @@ package br.com.controller; import java.util.ArrayList; import java.util.List; - - - - - import javax.servlet.ServletContext; import br.com.caelum.vraptor.Path; @@ -47,10 +42,8 @@ public class formularioOrgaoController { } @Path("/logout") - public void logout() - { - VRaptorRequestHolder.currentRequest().getServletContext() - .setAttribute("usuarioLogado", false); + public void logout() { + VRaptorRequestHolder.currentRequest().getServletContext().setAttribute("usuarioLogado", false); } @Path("/formularioOrgao") @@ -58,269 +51,235 @@ public class formularioOrgaoController { Validacao validacao = new Validacao(); mensagemValidacaoCampos = new ArrayList(); - mensagemValidacaoCampos = validacao.validarHash(path, valorHash); - - if (mensagemValidacaoCampos.size() > 0) { - result.include("mensagemValidacaoCampos", mensagemValidacaoCampos); - this.validator.add(new ValidationMessage("", "")); - this.validator.onErrorUsePageOf(loginController.class).login(); - } HashDao hashDao = new HashDao(); + questionario = new Questionario(); questionario = hashDao.verificarHash(path, valorHash); verificarPosicaoUsuario(questionario); - - if(!questionario.isFlagEnviado()) - { - - if (questionario.getDtInicioQuestionario() != null && !valorHash.equalsIgnoreCase("")) { - - VRaptorRequestHolder.currentRequest().getServletContext() - .setAttribute("usuarioLogado", true); - - - VRaptorRequestHolder.currentRequest().getServletContext() - .setAttribute("valorHash", valorHash); - - VRaptorRequestHolder.currentRequest().getServletContext() - .setAttribute("questionario", questionario); - - RespostaQuestionarioDao respostaQuestionarioDao = new RespostaQuestionarioDao(); - - List lsRespostaQuestionario = new ArrayList(); - - lsRespostaQuestionario = - respostaQuestionarioDao.retornarRespostaQuestionarioPorQuestionario(path ,questionario - .getIdQuestionario()); - int idPergunta; - - for (RespostaQuestionario respostaQuestionario : lsRespostaQuestionario) { - idPergunta = respostaQuestionario.getPergunta().getIdPergunta(); - switch (respostaQuestionario.getPergunta().getIdPergunta()) { - case 1: - result.include("nomeOrgao", respostaQuestionario.getTextoResposta()); - break; - case 2: - result.include("nomePessoa", respostaQuestionario.getTextoResposta()); - break; - case 3: - result.include("cargo", respostaQuestionario.getTextoResposta()); - break; - case 4: - result.include("telefone", respostaQuestionario.getTextoResposta()); - break; - case 5: - result.include("email", respostaQuestionario.getTextoResposta()); - break; - default: - break; + + if (!questionario.isFlagEnviado()) { + if (!hashDao.verificarDataExpirada(path, valorHash)) { + + mensagemValidacaoCampos = validacao.validarHash(path, valorHash); + + if (mensagemValidacaoCampos.size() > 0) { + result.include("mensagemValidacaoCampos", mensagemValidacaoCampos); + this.validator.add(new ValidationMessage("", "")); + this.validator.onErrorUsePageOf(loginController.class).login(); } - - String nomeCampo = respostaQuestionario.getAmostragemSiteQuestionario().getNomeCampo(); - - if(nomeCampo != null) - { - setValorCamposUrl(nomeCampo, - respostaQuestionario.getAmostragemSiteQuestionario().getUrlAmostraSiteQuestionario()); + + + + if (questionario.getDtInicioQuestionario() != null && !valorHash.equalsIgnoreCase("")) { + + VRaptorRequestHolder.currentRequest().getServletContext() + .setAttribute("usuarioLogado", true); + + + VRaptorRequestHolder.currentRequest().getServletContext() + .setAttribute("valorHash", valorHash); + + VRaptorRequestHolder.currentRequest().getServletContext() + .setAttribute("questionario", questionario); + + RespostaQuestionarioDao respostaQuestionarioDao = new RespostaQuestionarioDao(); + + List lsRespostaQuestionario = new ArrayList(); + + lsRespostaQuestionario = + respostaQuestionarioDao.retornarRespostaQuestionarioPorQuestionario(path, + questionario.getIdQuestionario()); + int idPergunta; + + for (RespostaQuestionario respostaQuestionario : lsRespostaQuestionario) { + idPergunta = respostaQuestionario.getPergunta().getIdPergunta(); + switch (respostaQuestionario.getPergunta().getIdPergunta()) { + case 1: + result.include("nomeOrgao", respostaQuestionario.getTextoResposta()); + break; + case 2: + result.include("nomePessoa", respostaQuestionario.getTextoResposta()); + break; + case 3: + result.include("cargo", respostaQuestionario.getTextoResposta()); + break; + case 4: + result.include("telefone", respostaQuestionario.getTextoResposta()); + break; + case 5: + result.include("email", respostaQuestionario.getTextoResposta()); + break; + default: + break; + } + + String nomeCampo = respostaQuestionario.getAmostragemSiteQuestionario().getNomeCampo(); + + if (nomeCampo != null) { + setValorCamposUrl(nomeCampo, respostaQuestionario.getAmostragemSiteQuestionario() + .getUrlAmostraSiteQuestionario()); + } + } } + + } else { + validacao = new Validacao(); + validacao.setCampo("valorHash"); + validacao.setMensagem("ATENÇÃO: O prazo para o preenchimento do formulário está expirado."); + + mensagemValidacaoCampos.add(validacao); + + result.include("mensagemValidacaoCampos", mensagemValidacaoCampos); + this.validator.add(new ValidationMessage("", "")); + this.validator.onErrorUsePageOf(loginController.class).login(); } - } - } - else - { + + } else { validacao = new Validacao(); validacao.setCampo("valorHash"); validacao .setMensagem("ATENÇÃO: Você já concluiu todos os passos do envio do relatório circunstanciado à PFDC/MPF. Não é mais possível alterar seus dados."); - + mensagemValidacaoCampos.add(validacao); - + result.include("mensagemValidacaoCampos", mensagemValidacaoCampos); this.validator.add(new ValidationMessage("", "")); this.validator.onErrorUsePageOf(loginController.class).login(); } } - private void setValorCamposUrl(String nomeCampo, String valorCampo) - { - //ambiente 1 - if(nomeCampo.equalsIgnoreCase("hAmbiente1")) - { - result.include("ambiente1", valorCampo); + private void setValorCamposUrl(String nomeCampo, String valorCampo) { + // ambiente 1 + if (nomeCampo.equalsIgnoreCase("hAmbiente1")) { + result.include("ambiente1", valorCampo); } - - if(nomeCampo.equalsIgnoreCase("hPagina11")) - { - result.include("pagina11", valorCampo); + + if (nomeCampo.equalsIgnoreCase("hPagina11")) { + result.include("pagina11", valorCampo); } - if(nomeCampo.equalsIgnoreCase("hPagina12")) - { - result.include("pagina12", valorCampo); + if (nomeCampo.equalsIgnoreCase("hPagina12")) { + result.include("pagina12", valorCampo); } - if(nomeCampo.equalsIgnoreCase("hPagina13")) - { - result.include("pagina13", valorCampo); + if (nomeCampo.equalsIgnoreCase("hPagina13")) { + result.include("pagina13", valorCampo); } - if(nomeCampo.equalsIgnoreCase("hPagina14")) - { - result.include("pagina14", valorCampo); + if (nomeCampo.equalsIgnoreCase("hPagina14")) { + result.include("pagina14", valorCampo); } - - //ambiente 2 - if(nomeCampo.equalsIgnoreCase("hAmbiente2")) - { - result.include("ambiente2", valorCampo); + + // ambiente 2 + if (nomeCampo.equalsIgnoreCase("hAmbiente2")) { + result.include("ambiente2", valorCampo); } - - if(nomeCampo.equalsIgnoreCase("hPagina21")) - { - result.include("pagina21", valorCampo); + + if (nomeCampo.equalsIgnoreCase("hPagina21")) { + result.include("pagina21", valorCampo); } - if(nomeCampo.equalsIgnoreCase("hPagina22")) - { - result.include("pagina22", valorCampo); + if (nomeCampo.equalsIgnoreCase("hPagina22")) { + result.include("pagina22", valorCampo); } - if(nomeCampo.equalsIgnoreCase("hPagina23")) - { - result.include("pagina23", valorCampo); + if (nomeCampo.equalsIgnoreCase("hPagina23")) { + result.include("pagina23", valorCampo); } - if(nomeCampo.equalsIgnoreCase("hPagina24")) - { - result.include("pagina24", valorCampo); + if (nomeCampo.equalsIgnoreCase("hPagina24")) { + result.include("pagina24", valorCampo); } - - //ambiente 3 - if(nomeCampo.equalsIgnoreCase("hAmbiente3")) - { - result.include("ambiente3", valorCampo); + + // ambiente 3 + if (nomeCampo.equalsIgnoreCase("hAmbiente3")) { + result.include("ambiente3", valorCampo); } - - if(nomeCampo.equalsIgnoreCase("hPagina31")) - { - result.include("pagina31", valorCampo); + + if (nomeCampo.equalsIgnoreCase("hPagina31")) { + result.include("pagina31", valorCampo); } - if(nomeCampo.equalsIgnoreCase("hPagina32")) - { - result.include("pagina32", valorCampo); + if (nomeCampo.equalsIgnoreCase("hPagina32")) { + result.include("pagina32", valorCampo); } - if(nomeCampo.equalsIgnoreCase("hPagina33")) - { - result.include("pagina33", valorCampo); + if (nomeCampo.equalsIgnoreCase("hPagina33")) { + result.include("pagina33", valorCampo); } - if(nomeCampo.equalsIgnoreCase("hPagina34")) - { - result.include("pagina34", valorCampo); + if (nomeCampo.equalsIgnoreCase("hPagina34")) { + result.include("pagina34", valorCampo); } - - //ambiente 4 - if(nomeCampo.equalsIgnoreCase("hAmbiente4")) - { - result.include("ambiente4", valorCampo); + + // ambiente 4 + if (nomeCampo.equalsIgnoreCase("hAmbiente4")) { + result.include("ambiente4", valorCampo); } - - if(nomeCampo.equalsIgnoreCase("hPagina41")) - { - result.include("pagina41", valorCampo); + + if (nomeCampo.equalsIgnoreCase("hPagina41")) { + result.include("pagina41", valorCampo); } - if(nomeCampo.equalsIgnoreCase("hPagina42")) - { - result.include("pagina42", valorCampo); + if (nomeCampo.equalsIgnoreCase("hPagina42")) { + result.include("pagina42", valorCampo); } - if(nomeCampo.equalsIgnoreCase("hPagina43")) - { - result.include("pagina43", valorCampo); + if (nomeCampo.equalsIgnoreCase("hPagina43")) { + result.include("pagina43", valorCampo); } - if(nomeCampo.equalsIgnoreCase("hPagina44")) - { - result.include("pagina44", valorCampo); + if (nomeCampo.equalsIgnoreCase("hPagina44")) { + result.include("pagina44", valorCampo); } - - - //ambiente 5 - if(nomeCampo.equalsIgnoreCase("hAmbiente5")) - { - result.include("ambiente5", valorCampo); + + + // ambiente 5 + if (nomeCampo.equalsIgnoreCase("hAmbiente5")) { + result.include("ambiente5", valorCampo); } - - if(nomeCampo.equalsIgnoreCase("hPagina51")) - { - result.include("pagina51", valorCampo); + + if (nomeCampo.equalsIgnoreCase("hPagina51")) { + result.include("pagina51", valorCampo); } - if(nomeCampo.equalsIgnoreCase("hPagina52")) - { - result.include("pagina52", valorCampo); + if (nomeCampo.equalsIgnoreCase("hPagina52")) { + result.include("pagina52", valorCampo); } - if(nomeCampo.equalsIgnoreCase("hPagina53")) - { - result.include("pagina53", valorCampo); + if (nomeCampo.equalsIgnoreCase("hPagina53")) { + result.include("pagina53", valorCampo); } - if(nomeCampo.equalsIgnoreCase("hPagina54")) - { - result.include("pagina54", valorCampo); + if (nomeCampo.equalsIgnoreCase("hPagina54")) { + result.include("pagina54", valorCampo); } } - - public void verificarPosicaoUsuario(Questionario questionario) - { + + public void verificarPosicaoUsuario(Questionario questionario) { PlanoTrabalho planoTrabalho = new PlanoTrabalho(); PlanoTrabalhoDao planoTrabalhoDao = new PlanoTrabalhoDao(); - - //Solicitou código de Acesso? - VRaptorRequestHolder.currentRequest().getServletContext() - .setAttribute("nivel_01", true); - - //Respondeu FAD? - if(questionario.isQuestionario_respondido()) - { - VRaptorRequestHolder.currentRequest().getServletContext() - .setAttribute("nivel_02", true); - } - else - { - VRaptorRequestHolder.currentRequest().getServletContext() - .setAttribute("nivel_02", false); + + // Solicitou código de Acesso? + VRaptorRequestHolder.currentRequest().getServletContext().setAttribute("nivel_01", true); + + // Respondeu FAD? + if (questionario.isQuestionario_respondido()) { + VRaptorRequestHolder.currentRequest().getServletContext().setAttribute("nivel_02", true); + } else { + VRaptorRequestHolder.currentRequest().getServletContext().setAttribute("nivel_02", false); } - + planoTrabalho = planoTrabalhoDao.recuperarPlanoTrabalho(path, questionario); - - //Anexou Fad? - if(planoTrabalho.getArquivoRelatorioAss() != null) - { - VRaptorRequestHolder.currentRequest().getServletContext() - .setAttribute("nivel_03", true); - } - else - { - VRaptorRequestHolder.currentRequest().getServletContext() - .setAttribute("nivel_03", false); - } - - //Anexou Plano de Trabalho? - if(planoTrabalho.getArquivoPlanoTrabalho() != null) - { - VRaptorRequestHolder.currentRequest().getServletContext() - .setAttribute("nivel_04", true); - } - else - { - VRaptorRequestHolder.currentRequest().getServletContext() - .setAttribute("nivel_04", false); + + // Anexou Fad? + if (planoTrabalho.getArquivoRelatorioAss() != null) { + VRaptorRequestHolder.currentRequest().getServletContext().setAttribute("nivel_03", true); + } else { + VRaptorRequestHolder.currentRequest().getServletContext().setAttribute("nivel_03", false); } - - //Processo finalizado? - if(questionario.isFlagEnviado()) - { - VRaptorRequestHolder.currentRequest().getServletContext() - .setAttribute("nivel_05", true); + + // Anexou Plano de Trabalho? + if (planoTrabalho.getArquivoPlanoTrabalho() != null) { + VRaptorRequestHolder.currentRequest().getServletContext().setAttribute("nivel_04", true); + } else { + VRaptorRequestHolder.currentRequest().getServletContext().setAttribute("nivel_04", false); } - else - { - VRaptorRequestHolder.currentRequest().getServletContext() - .setAttribute("nivel_05", false); + + // Processo finalizado? + if (questionario.isFlagEnviado()) { + VRaptorRequestHolder.currentRequest().getServletContext().setAttribute("nivel_05", true); + } else { + VRaptorRequestHolder.currentRequest().getServletContext().setAttribute("nivel_05", false); } - + } } diff --git a/src/br/com/dao/HashDao.java b/src/br/com/dao/HashDao.java index 0df5933..e50dbd1 100644 --- a/src/br/com/dao/HashDao.java +++ b/src/br/com/dao/HashDao.java @@ -12,6 +12,51 @@ import br.com.util.GeradorCodigoHash; public class HashDao { + public boolean verificarDataExpirada(String path, String valorHash) { + + StringBuffer sql = new StringBuffer(); + Connection con = Conexao.conecta(path); + Statement estado; + ResultSet rset = null; + boolean dataExpirada = true; + + + try { + + estado = con.createStatement(); + + estado.execute(sql.toString()); + + sql.append(" SELECT id_questionario, dt_inicio_questionario, dt_fim_questionario, "); + sql.append(" no_orgao, hash_autenticacao, questionario_respondido, email_destino_orgao, "); + sql.append(" responsavel, cargo_responsavel, telefone, data_recebimento_email, "); + sql.append(" idautorizacao, data_resposta_email, flag_enviado "); + sql.append(" FROM questionario where hash_autenticacao = '" + valorHash + "'"); + sql.append(" and (dt_inicio_questionario <= '" + DateUtil.dataHoraAtual() + "')"); + sql.append(" and (dt_fim_questionario >= '" + DateUtil.dataHoraAtual() + "');"); + + rset = estado.executeQuery(sql.toString()); + + while (rset.next()) { + dataExpirada = false; + } + + } catch (SQLException e) { + System.out.println("Deu erro!"); + e.printStackTrace(); + + } finally { + if (con != null) { + try { + con.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + } + } + + return dataExpirada; + } public Questionario verificarHash(String path, String valorHash) { StringBuffer sql = new StringBuffer(); @@ -30,9 +75,9 @@ public class HashDao { sql.append(" no_orgao, hash_autenticacao, questionario_respondido, email_destino_orgao, "); sql.append(" responsavel, cargo_responsavel, telefone, data_recebimento_email, "); sql.append(" idautorizacao, data_resposta_email, flag_enviado "); - sql.append(" FROM questionario where hash_autenticacao = '" + valorHash + "'"); - sql.append(" and (dt_inicio_questionario <= '" + DateUtil.dataHoraAtual() + "')"); - sql.append(" and (dt_fim_questionario >= '" + DateUtil.dataHoraAtual() + "');"); + sql.append(" FROM questionario where hash_autenticacao = '" + valorHash + "';"); + //sql.append(" and (dt_inicio_questionario <= '" + DateUtil.dataHoraAtual() + "')"); + //sql.append(" and (dt_fim_questionario >= '" + DateUtil.dataHoraAtual() + "');"); rset = estado.executeQuery(sql.toString()); diff --git a/src/br/com/model/entity/EnvioEmailSemAutenticacao.java b/src/br/com/model/entity/EnvioEmailSemAutenticacao.java index af6b28c..efdd39f 100644 --- a/src/br/com/model/entity/EnvioEmailSemAutenticacao.java +++ b/src/br/com/model/entity/EnvioEmailSemAutenticacao.java @@ -255,14 +255,14 @@ public class EnvioEmailSemAutenticacao { multipart.addBodyPart(attachment0); - MimeBodyPart attachment1 = new MimeBodyPart(); - - attachment1.setDataHandler(arquivoPlano); - attachment1.setFileName(nomeArquivoPlano); - multipart.addBodyPart(attachment1); - - - + if(arquivoPlano != null) + { + MimeBodyPart attachment1 = new MimeBodyPart(); + + attachment1.setDataHandler(arquivoPlano); + attachment1.setFileName(nomeArquivoPlano); + multipart.addBodyPart(attachment1); + } // Setando o conte�do/corpo do email MimeBodyPart attachment2 = new MimeBodyPart(); -- libgit2 0.21.2