From 14479dbb7655af49f6cb40554c248ea040dd18a2 Mon Sep 17 00:00:00 2001 From: gibransodre Date: Wed, 7 Dec 2016 17:40:05 -0200 Subject: [PATCH] Lista de questionarios com filtro. --- WebContent/WEB-INF/jsp/questionario/listaQuestionario.jsp | 108 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ WebContent/WEB-INF/jsp/questionario/questionario.jsp | 5 +---- WebContent/css/tabelas.css | 3 +++ src/br/com/controller/QuestionarioController.java | 26 ++++++++++++++++++++++++++ src/br/com/dao/QuestionarioDao.java | 123 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 261 insertions(+), 4 deletions(-) create mode 100644 WebContent/WEB-INF/jsp/questionario/listaQuestionario.jsp create mode 100644 WebContent/css/tabelas.css diff --git a/WebContent/WEB-INF/jsp/questionario/listaQuestionario.jsp b/WebContent/WEB-INF/jsp/questionario/listaQuestionario.jsp new file mode 100644 index 0000000..0c3412e --- /dev/null +++ b/WebContent/WEB-INF/jsp/questionario/listaQuestionario.jsp @@ -0,0 +1,108 @@ +<%@taglib prefix="t" tagdir="/WEB-INF/tags"%> +<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> +<%@taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> +<%@page contentType="text/html" pageEncoding="UTF-8"%> + + + +
+ +
+ Filtros + + + + +

+ + + +

+ + + +

+ + + +
+
+
+
+ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Nº LinhaOrgãoResponsávelCargoTelefoneEmailRecebimento EmailResposta EmailData Relatório RespondidoRelatório RespondidoPlano de Trabalho Enviadodownload Plano de Trabalho
${contador.count}${questionario.noOrgao}${questionario.responsavel}${questionario.cargoResponsavel}${questionario.telefone}${questionario.emailDestinoOrgao}${questionario.dtRecebimentoEmail}${questionario.dtRespostaEmail}${questionario.dataRespostaQuestionario} Recuperar
+ +
+
\ No newline at end of file diff --git a/WebContent/WEB-INF/jsp/questionario/questionario.jsp b/WebContent/WEB-INF/jsp/questionario/questionario.jsp index a1270d2..9abcdfa 100644 --- a/WebContent/WEB-INF/jsp/questionario/questionario.jsp +++ b/WebContent/WEB-INF/jsp/questionario/questionario.jsp @@ -112,10 +112,7 @@ table, th, td { - - - - + \ No newline at end of file diff --git a/WebContent/css/tabelas.css b/WebContent/css/tabelas.css new file mode 100644 index 0000000..d2500c2 --- /dev/null +++ b/WebContent/css/tabelas.css @@ -0,0 +1,3 @@ +#questionarios table, th, td { + border: 1px solid black; +} \ No newline at end of file diff --git a/src/br/com/controller/QuestionarioController.java b/src/br/com/controller/QuestionarioController.java index e5140f4..cc922a1 100644 --- a/src/br/com/controller/QuestionarioController.java +++ b/src/br/com/controller/QuestionarioController.java @@ -59,7 +59,31 @@ public class QuestionarioController { public void confirmacaoHash() { } + + @Path("/lista-questionario") + public void listaQuestionario() { + } + + @Path("/listar-questionario") + public void listarQuestionarioComFiltro(String statusRelatorio, String statusPlanoTrabalho, String nomeOrgao) { + + QuestionarioDao questionarioDao = new QuestionarioDao(); + List lsquestionario = new ArrayList(); + lsquestionario = questionarioDao.retornarListaQuestionarioComFiltro(path, statusRelatorio, statusPlanoTrabalho, nomeOrgao); + result.include("lsquestionario", lsquestionario); + result.include("totalSolicitacoes", lsquestionario.size()); + result.include("statusRel", statusRelatorio.equalsIgnoreCase("todos")? "" :statusRelatorio); + result.include("statusPlanoTrab", statusPlanoTrabalho.equalsIgnoreCase("todos")? "" :statusPlanoTrabalho); + result.include("nomeOrgao", nomeOrgao != null? nomeOrgao:""); + + this.validator.add(new ValidationMessage("", "")); + this.validator.onErrorUsePageOf(QuestionarioController.class).listaQuestionario(); + + + + + } @Path("/salvar-questionario") public void questionarioSalvar(String autorizacao, String noOrgao, String nomeResponsavel, @@ -250,5 +274,7 @@ public class QuestionarioController { } + + } diff --git a/src/br/com/dao/QuestionarioDao.java b/src/br/com/dao/QuestionarioDao.java index eecc5d8..7b1624c 100644 --- a/src/br/com/dao/QuestionarioDao.java +++ b/src/br/com/dao/QuestionarioDao.java @@ -79,6 +79,76 @@ public class QuestionarioDao { return listaQuestionario; } + public List retornarListaQuestionarioComFiltro(String path, String statusRelatorio, String statusPlanoTrabalho, String nomeOrgao) { + + List listaQuestionario = new ArrayList(); + + ResultSet rset = null; + Questionario questionario; + RespostaQuestionarioDao respostaQuestionarioDao; + PlanoTrabalhoDao planoTrabalhoDao; + + rset = retornarQuestionarioComFiltro(path, statusRelatorio, statusPlanoTrabalho, nomeOrgao); + String dataRespostaQuestionario = ""; + try { + while (rset.next()) { + dataRespostaQuestionario = ""; + + questionario = new Questionario(); + respostaQuestionarioDao = new RespostaQuestionarioDao(); + planoTrabalhoDao = new PlanoTrabalhoDao(); + + 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"))); + + dataRespostaQuestionario = rset.getString("data_resposta_email"); + if(dataRespostaQuestionario != null) + { + questionario.setDtRespostaEmail(DateUtil.dataHoraFormatadaDiaMesAnoComParametro(dataRespostaQuestionario)); + } + else + { + questionario.setDtRespostaEmail(dataRespostaQuestionario); + } + + + questionario.setDataRespostaQuestionario(respostaQuestionarioDao.verificaRespostaQuestionario(path, rset.getInt("id_questionario"))); + + questionario.setPlanoTrabalhoEnviado( planoTrabalhoDao.verificaPlanoTrabalho(path, rset.getInt("id_questionario")) > -1 ? true : false); + + if(statusPlanoTrabalho.equalsIgnoreCase("todos")) + { + listaQuestionario.add(questionario); + } + else + { + if(statusPlanoTrabalho.equalsIgnoreCase("sim") && questionario.isPlanoTrabalhoEnviado()) + { + listaQuestionario.add(questionario); + } + else if(statusPlanoTrabalho.equalsIgnoreCase("nao") && !questionario.isPlanoTrabalhoEnviado()) + { + listaQuestionario.add(questionario); + } + } + + } + } catch (Exception e) { + e.printStackTrace(); + } + + return listaQuestionario; + } public ResultSet retornarQuestionario(String path) { @@ -113,6 +183,59 @@ public class QuestionarioDao { } + public ResultSet retornarQuestionarioComFiltro(String path, String statusRelatorio, String statusPlanoTrabalho, String nomeOrgao) { + + StringBuffer sql = new StringBuffer(); + Connection con = Conexao.conecta(path); + Statement estado; + ResultSet rset = null; + String sqlConvertida = ""; + try { + estado = con.createStatement(); + + estado.execute(sql.toString()); + sql.append(" SELECT * "); + sql.append(" FROM public.questionario"); + sql.append(" Where "); + + if(nomeOrgao != null) + { + sql.append(" and upper (no_orgao) like upper('%"+ nomeOrgao +"%') "); + } + + if(statusRelatorio.equalsIgnoreCase("sim")) + { + sql.append(" and questionario_respondido = true "); + + }else if(statusRelatorio.equalsIgnoreCase("nao")) + { + sql.append(" and questionario_respondido = false " ); + } + + + sql.append(" order by no_orgao;"); + + sqlConvertida = sql.toString().replace("Where and" , "Where ").replace("Where order by no_orgao", " order by no_orgao"); + rset = estado.executeQuery(sqlConvertida); + + return rset; + + } catch (SQLException e) { + e.printStackTrace(); + return null; + + } finally { + if (con != null) { + try { + con.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + } + } + + } + public boolean atualizarDataRespostaQuestionario(String path, int idQuestionario) { -- libgit2 0.21.2