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
+
+
+
+
+
+
+
\ 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