diff --git a/WebContent/WEB-INF/jsp/index/formulario.jsp b/WebContent/WEB-INF/jsp/index/formulario.jsp index ace42d9..25d7b38 100644 --- a/WebContent/WEB-INF/jsp/index/formulario.jsp +++ b/WebContent/WEB-INF/jsp/index/formulario.jsp @@ -579,6 +579,7 @@
+ @@ -589,6 +590,18 @@
+ + + + + + + + +
+ diff --git a/WebContent/WEB-INF/jsp/planoTrabalho/planoTrabalho.jsp b/WebContent/WEB-INF/jsp/planoTrabalho/planoTrabalho.jsp new file mode 100644 index 0000000..082cfbc --- /dev/null +++ b/WebContent/WEB-INF/jsp/planoTrabalho/planoTrabalho.jsp @@ -0,0 +1,26 @@ +<%@page contentType="text/html" pageEncoding="UTF-8"%> +<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> +<%@taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> + + + + +Relatório Circunstanciado de Acessibilidade Digital + + + + +
+ +
+Plano de Trabalho + + +

+ +

+ +
+
+ + \ No newline at end of file diff --git a/WebContent/WEB-INF/jsp/planoTrabalho/planoTrabalhoConfirmacao.jsp b/WebContent/WEB-INF/jsp/planoTrabalho/planoTrabalhoConfirmacao.jsp new file mode 100644 index 0000000..9458926 --- /dev/null +++ b/WebContent/WEB-INF/jsp/planoTrabalho/planoTrabalhoConfirmacao.jsp @@ -0,0 +1,13 @@ +<%@page contentType="text/html" pageEncoding="UTF-8"%> +<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> +<%@taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> + + + + +Relatório Circunstanciado de Acessibilidade Digital + + +${mensagem} + + \ No newline at end of file diff --git a/src/br/com/controller/PlanoTrabalhoController.java b/src/br/com/controller/PlanoTrabalhoController.java new file mode 100644 index 0000000..ce99c13 --- /dev/null +++ b/src/br/com/controller/PlanoTrabalhoController.java @@ -0,0 +1,69 @@ +package br.com.controller; + +import javax.servlet.ServletContext; + +import br.com.caelum.vraptor.Path; +import br.com.caelum.vraptor.Resource; +import br.com.caelum.vraptor.Result; +import br.com.caelum.vraptor.Validator; +import br.com.caelum.vraptor.interceptor.multipart.UploadedFile; +import br.com.caelum.vraptor.validator.ValidationMessage; +import br.com.dao.HashDao; +import br.com.dao.PlanoTrabalhoDao; +import br.com.model.entity.Questionario; + +@Resource +public class PlanoTrabalhoController { + + private Validator validator; + private Result result; + private ServletContext application; + private String path; + + public PlanoTrabalhoController(Result result, Validator validator, ServletContext application) + { + this.validator = validator; + this.application = application; + this.path = this.application.getRealPath("") + "/WEB-INF/conexao.properties"; + this.result = result; + } + + @Path("/planoTrabalho-site") + public void planoTrabalho() + { + + } + + @Path("/plano-trabalho-confirmacao") + public void planoTrabalhoConfirmacao() + { + + } + + @Path("/salvar-plano-trabalho") + public void enviarPlanoTrabalho(String valorHash, UploadedFile file) + { + HashDao hashDao = new HashDao(); + Questionario questionario = new Questionario(); + questionario = hashDao.verificarHash(path, valorHash); + String mensagem = "Não foi possível enviar o plano de trabalho!"; + + if(questionario != null && questionario.getDtInicioQuestionario() != null) + { + PlanoTrabalhoDao planoTrabalhoDao = new PlanoTrabalhoDao(); + + if(planoTrabalhoDao.salvarPlanoTrabalho(valorHash, file.getFile(), questionario)) + { + mensagem = "Plano de trabalho enviado com sucesso!"; + } + } + else + { + mensagem = "Favor verificar o Código Hash!"; + } + result.include("mensagem", mensagem); + this.validator.add(new ValidationMessage("", "")); + this.validator.onErrorUsePageOf(PlanoTrabalhoController.class).planoTrabalhoConfirmacao(); + } + +} diff --git a/src/br/com/controller/QuestionarioController.java b/src/br/com/controller/QuestionarioController.java index 41778b3..d29d102 100644 --- a/src/br/com/controller/QuestionarioController.java +++ b/src/br/com/controller/QuestionarioController.java @@ -52,7 +52,7 @@ public class QuestionarioController { @Path("/salvar-questionario") - public void questionarioSalvar(String autorizacao, String emailDestinoOrgao, UploadedFile file, String noOrgao) { + public void questionarioSalvar(String autorizacao, String emailDestinoOrgao, UploadedFile file,String nomeDestinatario, String cargoDestinatario, String noOrgao) { AutorizacaoGeracaoHashDao autorizacaoGeracaoHashDao = new AutorizacaoGeracaoHashDao(); @@ -72,9 +72,10 @@ public class QuestionarioController { String dtInicioQuestionario = ""; String dtFimQuestionario = ""; String hashAutenticacao = null; + Properties prop = null; try { - Properties prop = managerProperties.getProp(this.application.getRealPath("") + "/WEB-INF/intervaloRespostaFormulario.properties"); + prop = managerProperties.getProp(this.application.getRealPath("") + "/WEB-INF/respostaFormulario.properties"); dtInicioQuestionario = prop.getProperty("dataInicio"); dtFimQuestionario = prop.getProperty("dataFim"); @@ -96,11 +97,41 @@ public class QuestionarioController { QuestionarioDao questionarioDao = new QuestionarioDao(); if (questionarioDao.salvarQuestionario(path, file.getFile(), questionario)) { + + StringBuffer mensagem = new StringBuffer(); + + mensagem.append("Prezado(a),\n"); + mensagem.append("senhor(a) "+ nomeDestinatario +", " + cargoDestinatario + ", do "+ noOrgao +", conforme solicitado, o acesso \n"); + mensagem.append("ao FAD para o preenchimento de informações sobre a atual situação da \n"); + mensagem.append("acessibilidade dos ambientes digitais do seu órgão ou entidade deverá ser \n"); + mensagem.append("realizado pelo endereço "+ prop.getProperty("enderecoFad") + " utilizando o código de \n"); + mensagem.append("acesso: "+ hashAutenticacao +" .\n\n"); + mensagem.append("A guarda do código de acesso, bem como as informações prestadas são de sua \n"); + mensagem.append("inteira responsabilidade.\n\n"); + mensagem.append("O FAD poderá ser preenchido no período "+ prop.getProperty("dataInicio") + " a "+ prop.getProperty("dataFim") +", data limite \n"); + mensagem.append("para o envio do relatório circunstanciado (formulário de acessibilidade digital e plano de \n"); + mensagem.append("trabalho) à Procuradoria Federal dos Direitos do Cidadão do Ministério Público Federal e \n"); + mensagem.append("publicado no sítio ou portal eletrônico do órgão ou entidade.​\n\n"); + mensagem.append("Maiores informações, dúvidas e sugestões devem ser encaminhadas pelo canal \n"); + mensagem.append(prop.getProperty("enderecoFad") + "\n\n"); + mensagem.append("PRespeitosamente,\n\n"); + mensagem.append("Ministério do Planejamento, Desenvolvimento e Gestão\n"); + mensagem.append("Secretaria de Tecnologia da Informação\n"); + mensagem.append("Departamento de Governo Digital \n"); + mensagem.append("Coordenação-Geral de Padrões de Governo Digital\n"); + mensagem.append(prop.getProperty("emailContato") + "\n"); + + String[] telefoneContato = prop.getProperty("telefoneContato").split(","); + + for (String telefone : telefoneContato) { + mensagem.append(telefone + "\n"); + } + Contato contato = new Contato(); contato.setEmail(emailDestinoOrgao); - contato.setAssunto("assunto"); - contato.setMensagem("Código Hash:" + hashAutenticacao); - contato.setNome("nome"); + contato.setAssunto("Formulário Eletrônico de Acessibilidade Digital (FAD) – Concessão de Acesso"); + contato.setMensagem(mensagem.toString()); + contato.setNome(nomeDestinatario); if(enviarHashPorEmail(contato)) { diff --git a/src/br/com/dao/PlanoTrabalhoDao.java b/src/br/com/dao/PlanoTrabalhoDao.java new file mode 100644 index 0000000..41fa172 --- /dev/null +++ b/src/br/com/dao/PlanoTrabalhoDao.java @@ -0,0 +1,50 @@ +package br.com.dao; + +import java.io.InputStream; +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Statement; + +import br.com.model.entity.Questionario; + +public class PlanoTrabalhoDao { + + public boolean salvarPlanoTrabalho(String path, InputStream file, Questionario questionario) + { + + StringBuffer sql = new StringBuffer(); + Connection con = Conexao.conecta(path); + PreparedStatement estado; + int resultado = 0; + boolean salvoComSucesso = false; + + try { + + sql = new StringBuffer(); + sql.append(" INSERT INTO public.plano_trabalho(id_questionario, arquivo_plano_trabalho) VALUES (?, ?); "); + + estado = con.prepareStatement(sql.toString()); + + estado.setInt(1, questionario.getIdQuestionario()); + estado.setBinaryStream(2, file); + + resultado = estado.executeUpdate(); + + if (resultado == 0) { + salvoComSucesso = false; + } else { + + salvoComSucesso = true; + } + + } catch (SQLException e) { + + e.printStackTrace(); + } + + return salvoComSucesso; + } + +} -- libgit2 0.21.2