From 551b8edf53b2c556cef199129602d4e3eacc2362 Mon Sep 17 00:00:00 2001 From: gibransodre Date: Fri, 25 Nov 2016 09:30:06 -0200 Subject: [PATCH] Funcionalidade para listar os órgãos que solicitaram, receberam, resposnderam o formulário e enviaram o plano de trabalho. --- WebContent/WEB-INF/jsp/questionario/questionario.jsp | 125 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------- src/br/com/controller/QuestionarioController.java | 14 +++++++++++--- src/br/com/dao/PlanoTrabalhoDao.java | 40 ++++++++++++++++++++++++++++++++++++++++ src/br/com/dao/QuestionarioDao.java | 105 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------- src/br/com/dao/RespostaQuestionarioDao.java | 39 +++++++++++++++++++++++++++++++++++++++ src/br/com/model/entity/Questionario.java | 39 ++++++++++++++++++++++++++------------- 6 files changed, 284 insertions(+), 78 deletions(-) diff --git a/WebContent/WEB-INF/jsp/questionario/questionario.jsp b/WebContent/WEB-INF/jsp/questionario/questionario.jsp index 3c5ca06..82dbdff 100644 --- a/WebContent/WEB-INF/jsp/questionario/questionario.jsp +++ b/WebContent/WEB-INF/jsp/questionario/questionario.jsp @@ -10,55 +10,82 @@ -
- -
-Questionário - - - -

- -

- -

- -

- -

- -

- - -

- -

- - - -
-

- - - - - - - - - - - - - - - - - - - - -
NomeOrgãoCargoEmailRecebimento EmailResposta Email
Fabricio Jamati de SouzaMinisterio do planejamentoAnalista em Tecnologia da InformaçãoJamati01@yahoo.com.br24/11/201624/11/2016
+
+ +
+ Questionário + + +
+

+

+

+

+

+

+

+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OrgãoResponsávelCargoEmailRecebimento EmailResposta EmailData Relatório RespondidoRelatório RespondidoPlano de Trabalho Enviado
${questionario.noOrgao}${questionario.responsavel}${questionario.cargoResponsavel}${questionario.emailDestinoOrgao}${questionario.dtRecebimentoEmail}${questionario.dtRespostaEmail}${questionario.dataRespostaQuestionario}
diff --git a/src/br/com/controller/QuestionarioController.java b/src/br/com/controller/QuestionarioController.java index 0565596..1b54c40 100644 --- a/src/br/com/controller/QuestionarioController.java +++ b/src/br/com/controller/QuestionarioController.java @@ -26,6 +26,7 @@ import br.com.model.utilities.ManagerProperties; import br.com.model.utilities.StringHelper; import br.com.util.DateUtil; import br.com.util.GeradorCodigoHash; +import br.com.util.Validacao; @Resource public class QuestionarioController { @@ -46,7 +47,11 @@ public class QuestionarioController { @Path("/questionario") public void questionario() { - + + QuestionarioDao questionarioDao = new QuestionarioDao(); + List lsquestionario = new ArrayList(); + lsquestionario = questionarioDao.retornarListaQuestionario(path); + result.include("lsquestionario", lsquestionario); } @Path("/confirmacaoHash") @@ -58,7 +63,7 @@ public class QuestionarioController { @Path("/salvar-questionario") public void questionarioSalvar(String autorizacao, String noOrgao, String nomeResponsavel, String cargoResponsavel, String emailDestinoOrgao, String telefoneResponsavel, String dataRecebimentoEmail, - String dataRespostaEmail, UploadedFile file) { + String dataRespostaEmail) { AutorizacaoGeracaoHashDao autorizacaoGeracaoHashDao = new AutorizacaoGeracaoHashDao(); @@ -109,13 +114,16 @@ public class QuestionarioController { questionario.setCargoResponsavel(cargoResponsavel); questionario.setTelefone(telefoneResponsavel); questionario.setNoOrgao(noOrgao); + + Validacao validate = new Validacao(); + questionario.setDtRecebimentoEmail(dataRecebimentoEmail); questionario.setDtRespostaEmail(dataRespostaEmail); questionario.setIdAutorizacaoGeracaoHash(idAutorizacaoGeracaoHash); QuestionarioDao questionarioDao = new QuestionarioDao(); // List corpoEmail = new ArrayList(); - if (questionarioDao.salvarQuestionario(path, file.getFile(), questionario)) { + if (questionarioDao.salvarQuestionario(path, questionario)) { StringBuffer mensagem = new StringBuffer(); diff --git a/src/br/com/dao/PlanoTrabalhoDao.java b/src/br/com/dao/PlanoTrabalhoDao.java index 41fa172..f98ba66 100644 --- a/src/br/com/dao/PlanoTrabalhoDao.java +++ b/src/br/com/dao/PlanoTrabalhoDao.java @@ -11,6 +11,46 @@ import br.com.model.entity.Questionario; public class PlanoTrabalhoDao { + + public boolean verificaPlanoTrabalho(String path, Integer idQuestionario) + { + + + String sql = ""; + Connection con = Conexao.conecta(path); + Statement estado; + ResultSet rset = null; + boolean existePlanoTrabalho = false; + try { + + estado = con.createStatement(); + + estado.execute(sql.toString()); + sql = "SELECT * FROM public.plano_trabalho where id_questionario =" + idQuestionario + ";" ; + + rset = estado.executeQuery(sql); + + while (rset.next()) { + existePlanoTrabalho = true; + } + + } catch (SQLException e) { + System.out.println("Deu erro!"); + e.printStackTrace(); + + } finally { + if (con != null) { + try { + con.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + } + } + + return existePlanoTrabalho; + } + public boolean salvarPlanoTrabalho(String path, InputStream file, Questionario questionario) { diff --git a/src/br/com/dao/QuestionarioDao.java b/src/br/com/dao/QuestionarioDao.java index ddc00e9..460ed8a 100644 --- a/src/br/com/dao/QuestionarioDao.java +++ b/src/br/com/dao/QuestionarioDao.java @@ -11,7 +11,9 @@ import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.text.ParseException; +import java.util.ArrayList; import java.util.Date; +import java.util.List; import br.com.caelum.vraptor.interceptor.multipart.UploadedFile; import br.com.model.entity.Questionario; @@ -20,8 +22,50 @@ import br.com.util.GeradorCodigoHash; public class QuestionarioDao { + + public List retornarListaQuestionario(String path) { + + List listaQuestionario = new ArrayList(); + + ResultSet rset = null; + Questionario questionario; + RespostaQuestionarioDao respostaQuestionarioDao = new RespostaQuestionarioDao(); + PlanoTrabalhoDao planoTrabalhoDao = new PlanoTrabalhoDao(); - public ResultSet retornarQuestionario(String path, int idQuestionario) { + rset = retornarQuestionario(path); + try { + while (rset.next()) { + questionario = new Questionario(); + + questionario.setIdQuestionario(rset.getInt("id_questionario")); + questionario.setDtInicioQuestionario(DateUtil.dataHoraFormatadaDiaMesAno(rset.getString("dt_inicio_questionario"))); + questionario.setDtFimQuestionario(DateUtil.dataHoraFormatadaDiaMesAno(rset.getString("dt_fim_questionario"))); + questionario.setNoOrgao(rset.getString("no_orgao")); + questionario.setHashAutenticacao(rset.getString("hash_autenticacao")); + questionario.setQuestionario_respondido(rset.getBoolean("questionario_respondido")); + questionario.setEmailDestinoOrgao(rset.getString("email_destino_orgao")); + questionario.setResponsavel(rset.getString("responsavel")); + questionario.setCargoResponsavel(rset.getString("cargo_responsavel")); + questionario.setTelefone(rset.getString("telefone")); + questionario.setIdAutorizacaoGeracaoHash(rset.getInt("idAutorizacao")); + questionario.setDtRecebimentoEmail(DateUtil.dataHoraFormatadaDiaMesAno(rset.getString("data_recebimento_email"))); + questionario.setDtRespostaEmail(DateUtil.dataHoraFormatadaDiaMesAno(rset.getString("data_resposta_email"))); + + + questionario.setDataRespostaQuestionario(respostaQuestionarioDao.verificaRespostaQuestionario(path, rset.getInt("id_questionario"))); + questionario.setPlanoTrabalhoEnviado(planoTrabalhoDao.verificaPlanoTrabalho(path, rset.getInt("id_questionario"))); + listaQuestionario.add(questionario); + + } + } catch (Exception e) { + e.printStackTrace(); + } + + return listaQuestionario; + } + + + public ResultSet retornarQuestionario(String path) { StringBuffer sql = new StringBuffer(); Connection con = Conexao.conecta(path); @@ -32,7 +76,41 @@ public class QuestionarioDao { estado = con.createStatement(); estado.execute(sql.toString()); - sql.append(" SELECT id_questionario, dt_inicio_questionario, dt_fim_questionario, no_orgao, hash_autenticacao, questionario_respondido, responsavel, cargo_responsavel, telefone "); + sql.append(" SELECT * "); + sql.append(" FROM public.questionario order by no_orgao;"); + + rset = estado.executeQuery(sql.toString()); + + return rset; + } catch (SQLException e) { + e.printStackTrace(); + return null; + + } finally { + if (con != null) { + try { + con.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + } + } + + } + + + public ResultSet retornarQuestionarioPorId(String path, int idQuestionario) { + + StringBuffer sql = new StringBuffer(); + Connection con = Conexao.conecta(path); + Statement estado; + ResultSet rset = null; + + try { + estado = con.createStatement(); + + estado.execute(sql.toString()); + sql.append(" SELECT * "); sql.append(" FROM public.questionario where id_questionario = " + idQuestionario + ";"); rset = estado.executeQuery(sql.toString()); @@ -54,7 +132,9 @@ public class QuestionarioDao { } - public boolean salvarQuestionario(String path, InputStream file, Questionario questionario) { + + + public boolean salvarQuestionario(String path, Questionario questionario) { //File file = new File(caminhoArquivo); @@ -85,9 +165,9 @@ public class QuestionarioDao { sql.append(" INSERT INTO public.questionario( "); sql.append(" dt_inicio_questionario, dt_fim_questionario, "); sql.append(" no_orgao, hash_autenticacao, questionario_respondido, email_destino_orgao, "); - sql.append(" arquivo_oficio_autorizacao, responsavel, cargo_responsavel, telefone, idAutorizacao_geracao_hash, "); + sql.append(" responsavel, cargo_responsavel, telefone, idAutorizacao, "); sql.append(" data_recebimento_email, data_resposta_email) "); - sql.append(" VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);"); + sql.append(" VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);"); // cria statement para executar a query @@ -97,14 +177,13 @@ public class QuestionarioDao { estado.setString(3, questionario.getNoOrgao()); estado.setString(4, questionario.getHashAutenticacao()); estado.setBoolean(5, false); - estado.setString(6, questionario.getEmailDestinoOrgao()); - estado.setBinaryStream(7, file); - estado.setString(8, questionario.getResponsavel()); - estado.setString(9, questionario.getCargoResponsavel()); - estado.setString(10, questionario.getTelefone()); - estado.setInt(11, questionario.getIdAutorizacaoGeracaoHash()); - estado.setDate(12, sqlDtRecebimentoEmail); - estado.setDate(13, sqlDtRespostaEmail); + estado.setString(6, questionario.getEmailDestinoOrgao()); + estado.setString(7, questionario.getResponsavel()); + estado.setString(8, questionario.getCargoResponsavel()); + estado.setString(9, questionario.getTelefone()); + estado.setInt(10, questionario.getIdAutorizacaoGeracaoHash()); + estado.setDate(11, sqlDtRecebimentoEmail); + estado.setDate(12, sqlDtRespostaEmail); resultado = estado.executeUpdate(); diff --git a/src/br/com/dao/RespostaQuestionarioDao.java b/src/br/com/dao/RespostaQuestionarioDao.java index 7ee1b13..afca332 100644 --- a/src/br/com/dao/RespostaQuestionarioDao.java +++ b/src/br/com/dao/RespostaQuestionarioDao.java @@ -85,6 +85,45 @@ public class RespostaQuestionarioDao { } + public String verificaRespostaQuestionario(String path, Integer idQuestionario) + { + + + String sql = ""; + Connection con = Conexao.conecta(path); + Statement estado; + ResultSet rset = null; + String dataRespostaQuestionario = ""; + try { + + estado = con.createStatement(); + + estado.execute(sql.toString()); + sql = "SELECT max(TO_CHAR(dt_resposta_questionario,'DD-MM-YYYY')) as dt_resposta_questionario FROM public.resposta_questionario where id_questionario = " + idQuestionario + ";" ; + + rset = estado.executeQuery(sql); + + while (rset.next()) { + dataRespostaQuestionario = rset.getString("dt_resposta_questionario"); + } + + } catch (SQLException e) { + System.out.println("Deu erro!"); + e.printStackTrace(); + + } finally { + if (con != null) { + try { + con.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + } + } + + return dataRespostaQuestionario; + } + public List retornarRespostaQuestionarioPorQuestionario(String path, int idQuestionario) { StringBuffer sql = new StringBuffer(); diff --git a/src/br/com/model/entity/Questionario.java b/src/br/com/model/entity/Questionario.java index aabd0e2..7efcdff 100644 --- a/src/br/com/model/entity/Questionario.java +++ b/src/br/com/model/entity/Questionario.java @@ -1,6 +1,7 @@ package br.com.model.entity; import java.sql.ResultSet; +import java.util.List; import br.com.caelum.vraptor.interceptor.multipart.UploadedFile; import br.com.dao.QuestionarioDao; @@ -13,14 +14,15 @@ public class Questionario { private String noOrgao; private String hashAutenticacao; private boolean questionario_respondido; - private String emailDestinoOrgao; - private UploadedFile arquivoOficioAutorizacao; + private String emailDestinoOrgao; private String responsavel; private String cargoResponsavel; private String telefone; private int idAutorizacaoGeracaoHash; private String dtRecebimentoEmail; private String dtRespostaEmail; + private String dataRespostaQuestionario; + private boolean planoTrabalhoEnviado; @@ -32,19 +34,20 @@ public class Questionario { ResultSet rset = null; QuestionarioDao questionarioDao = new QuestionarioDao(); - rset = questionarioDao.retornarQuestionario(path, idQuestionario); + rset = questionarioDao.retornarQuestionarioPorId(path, idQuestionario); try { while (rset.next()) { this.idQuestionario = idQuestionario; this.dtInicioQuestionario = rset.getString("dt_inicio_questionario"); this.dtFimQuestionario = rset.getString("dt_fim_questionario"); this.noOrgao = rset.getString("no_orgao"); - this.hashAutenticacao = rset.getString("hash_autenticacao"); + this.hashAutenticacao = rset.getString("hash_autenticacao"); this.questionario_respondido = rset.getBoolean("questionario_respondido"); + this.emailDestinoOrgao = rset.getString("email_destino_orgao"); this.responsavel = rset.getString("responsavel"); this.cargoResponsavel = rset.getString("cargo_responsavel"); this.telefone = rset.getString("telefone"); - this.idAutorizacaoGeracaoHash = rset.getInt("idAutorizacao_geracao_hash"); + this.idAutorizacaoGeracaoHash = rset.getInt("idAutorizacao"); this.dtRecebimentoEmail = rset.getString("data_recebimento_email"); this.dtRespostaEmail = rset.getString("data_resposta_email"); @@ -54,6 +57,8 @@ public class Questionario { } } + + public int getIdQuestionario() { return idQuestionario; } @@ -110,14 +115,6 @@ public class Questionario { this.emailDestinoOrgao = emailDestinoOrgao; } - public UploadedFile getArquivoOficioAutorizacao() { - return arquivoOficioAutorizacao; - } - - public void setArquivoOficioAutorizacao(UploadedFile arquivoOficioAutorizacao) { - this.arquivoOficioAutorizacao = arquivoOficioAutorizacao; - } - public String getResponsavel() { return responsavel; } @@ -166,6 +163,22 @@ public class Questionario { this.dtRespostaEmail = dtRespostaEmail; } + public String getDataRespostaQuestionario() { + return dataRespostaQuestionario; + } + + public void setDataRespostaQuestionario(String dataRespostaQuestionario) { + this.dataRespostaQuestionario = dataRespostaQuestionario; + } + + public boolean isPlanoTrabalhoEnviado() { + return planoTrabalhoEnviado; + } + + public void setPlanoTrabalhoEnviado(boolean planoTrabalhoEnviado) { + this.planoTrabalhoEnviado = planoTrabalhoEnviado; + } + } -- libgit2 0.21.2