Commit 4afe9aade2f3c7aa768ce876027bc361014cb3a9
1 parent
915e9079
Exists in
master
Listar questionários com filtros e enviar relatório para o MPF.
Showing
13 changed files
with
558 additions
and
164 deletions
Show diff stats
WebContent/WEB-INF/jsp/planoTrabalho/enviarRelatorioPlanoTrabalho.jsp
0 → 100644
@@ -0,0 +1,50 @@ | @@ -0,0 +1,50 @@ | ||
1 | +<%@page contentType="text/html" pageEncoding="UTF-8"%> | ||
2 | +<%@taglib prefix="t" tagdir="/WEB-INF/tags"%> | ||
3 | +<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> | ||
4 | +<%@taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> | ||
5 | + | ||
6 | +<t:baseLayout> | ||
7 | + <jsp:body> | ||
8 | + | ||
9 | + | ||
10 | + <div class="funcionalidades"> | ||
11 | + <ul class="breadcrumb"> | ||
12 | + <li> | ||
13 | + <span>Você está em:</span> | ||
14 | + </li> | ||
15 | + <li> | ||
16 | + <a href="${pageContext.request.contextPath}/" id="bcFormulario"> Página Inicial </a> | ||
17 | + </li> | ||
18 | + <li>| Envio de Email para MPF</li> | ||
19 | + </ul> | ||
20 | + </div> | ||
21 | + | ||
22 | + <div> | ||
23 | + <c:if test="${not empty mensagemValidacaoCampos}"> | ||
24 | + <c:forEach items="${mensagemValidacaoCampos}" var="error"> | ||
25 | + <div class="alinName"> | ||
26 | + <a id="mensagemErroCampoVazio_${error.campo}" | ||
27 | + href="#${error.campo}">${error.mensagem}</a> | ||
28 | + </div> | ||
29 | + <br /> | ||
30 | + </c:forEach> | ||
31 | + </c:if> | ||
32 | + </div> | ||
33 | + | ||
34 | + | ||
35 | + <form | ||
36 | + action="${pageContext.request.contextPath}/enviar-email-mpf-alternativo" | ||
37 | + method="post" enctype="multipart/form-data"> | ||
38 | + <fieldset class="layoutCampos"> | ||
39 | + <legend>Envio de Relatório e Plano de trabalho para MPF</legend> | ||
40 | + <label for="valorHash">Código de acesso: </label> | ||
41 | + <input type="password" id="valorHash" name="valorHash" size="60" | ||
42 | + maxlength="60" required><br><br> | ||
43 | + | ||
44 | + <input type="submit" class="button" value="Enviar Email"> | ||
45 | + </fieldset> | ||
46 | + | ||
47 | + </form> | ||
48 | + | ||
49 | + </jsp:body> | ||
50 | +</t:baseLayout> |
WebContent/WEB-INF/jsp/planoTrabalho/planoTrabalho.jsp
@@ -14,12 +14,12 @@ | @@ -14,12 +14,12 @@ | ||
14 | </li> | 14 | </li> |
15 | <li> | 15 | <li> |
16 | <a href="${pageContext.request.contextPath}/" id="bcFormulario"> Página Inicial </a></li> | 16 | <a href="${pageContext.request.contextPath}/" id="bcFormulario"> Página Inicial </a></li> |
17 | - <li>| Plano de Trabalho</li> | 17 | + <li>| Anexo de Relatório e Plano de Trabalho</li> |
18 | </ul> | 18 | </ul> |
19 | </div> | 19 | </div> |
20 | 20 | ||
21 | <div> | 21 | <div> |
22 | - <h2 class="titulo">Plano de Trabalho</h2> | 22 | + <h2 class="titulo">Anexo de Relatório e Plano de Trabalho</h2> |
23 | </div> | 23 | </div> |
24 | 24 | ||
25 | <p>Conforme determina a portaria que regula este formulário circunstanciado em seu artigo 4º:</p> | 25 | <p>Conforme determina a portaria que regula este formulário circunstanciado em seu artigo 4º:</p> |
@@ -29,7 +29,7 @@ | @@ -29,7 +29,7 @@ | ||
29 | 29 | ||
30 | <form action="${pageContext.request.contextPath}/salvar-plano-trabalho" method="post" enctype="multipart/form-data"> | 30 | <form action="${pageContext.request.contextPath}/salvar-plano-trabalho" method="post" enctype="multipart/form-data"> |
31 | <fieldset class="layoutCampos"> | 31 | <fieldset class="layoutCampos"> |
32 | - <legend>Plano de Trabalho</legend> | 32 | + <legend>Anexo de Relatório e Plano de Trabalho</legend> |
33 | <label for="valorHash">Código de acesso: </label> | 33 | <label for="valorHash">Código de acesso: </label> |
34 | <input type="password" id="valorHash" name="valorHash" size="60" maxlength="60" required><br><br> | 34 | <input type="password" id="valorHash" name="valorHash" size="60" maxlength="60" required><br><br> |
35 | 35 | ||
@@ -43,7 +43,7 @@ text/plain, application/pdf, image/*"><br><br> | @@ -43,7 +43,7 @@ text/plain, application/pdf, image/*"><br><br> | ||
43 | <input type="file" id="filePlano" name="filePlano" accept= | 43 | <input type="file" id="filePlano" name="filePlano" accept= |
44 | "application/msword,application/zip,application/x-rar-compressed, application/octet-stream, application/vnd.ms-excel, application/vnd.oasis.opendocument.text , | 44 | "application/msword,application/zip,application/x-rar-compressed, application/octet-stream, application/vnd.ms-excel, application/vnd.oasis.opendocument.text , |
45 | text/plain, application/pdf, image/*" ><br><br> | 45 | text/plain, application/pdf, image/*" ><br><br> |
46 | - <input type="submit" class="button" value="Enviar"> | 46 | + <input type="submit" class="button" id="botaoAnexar" value="Anexar"> |
47 | </fieldset> | 47 | </fieldset> |
48 | 48 | ||
49 | </form> | 49 | </form> |
WebContent/WEB-INF/jsp/questionario/listaQuestionario.jsp
@@ -5,7 +5,8 @@ | @@ -5,7 +5,8 @@ | ||
5 | <t:baseLayout> | 5 | <t:baseLayout> |
6 | <jsp:body> | 6 | <jsp:body> |
7 | 7 | ||
8 | - <form action="${pageContext.request.contextPath}/listar-questionario" method="post"> | 8 | + <form action="${pageContext.request.contextPath}/listar-questionario" |
9 | + method="post"> | ||
9 | 10 | ||
10 | <fieldset> | 11 | <fieldset> |
11 | <legend>Filtros</legend> | 12 | <legend>Filtros</legend> |
@@ -21,14 +22,28 @@ | @@ -21,14 +22,28 @@ | ||
21 | 22 | ||
22 | <label for="statusPlanoTrabalho">Plano de trabalho Anexado:</label> | 23 | <label for="statusPlanoTrabalho">Plano de trabalho Anexado:</label> |
23 | <select id="statusPlanoTrabalho" name="statusPlanoTrabalho"> | 24 | <select id="statusPlanoTrabalho" name="statusPlanoTrabalho"> |
24 | - <option value="todos" ${statusPlanoTrab == ''?'selected=\"selected\"':''}>Todos</option> | ||
25 | - <option value="sim" ${statusPlanoTrab == 'sim'?'selected=\"selected\"':''}>Sim</option> | ||
26 | - <option value="nao" ${statusPlanoTrab == 'nao'?'selected=\"selected\"':''}>Não</option> | 25 | + <option value="todos" |
26 | + ${statusPlanoTrab == ''?'selected=\"selected\"':''}>Todos</option> | ||
27 | + <option value="sim" | ||
28 | + ${statusPlanoTrab == 'sim'?'selected=\"selected\"':''}>Sim</option> | ||
29 | + <option value="nao" | ||
30 | + ${statusPlanoTrab == 'nao'?'selected=\"selected\"':''}>Não</option> | ||
31 | + </select> | ||
32 | + <br><br> | ||
33 | + <label for="relatorioAnexado">Relatório Anexado:</label> | ||
34 | + <select id="relatorioAnexado" name="relatorioAnexado"> | ||
35 | + <option value="todos" | ||
36 | + ${relatorioAnex == ''?'selected=\"selected\"':''}>Todos</option> | ||
37 | + <option value="sim" | ||
38 | + ${relatorioAnex == 'sim'?'selected=\"selected\"':''}>Sim</option> | ||
39 | + <option value="nao" | ||
40 | + ${relatorioAnex == 'nao'?'selected=\"selected\"':''}>Não</option> | ||
27 | </select> | 41 | </select> |
28 | <br><br> | 42 | <br><br> |
29 | 43 | ||
30 | <label for="nomeOrgao">Nome do Órgao que contenha:</label> | 44 | <label for="nomeOrgao">Nome do Órgao que contenha:</label> |
31 | - <input type="text" id="nomeOrgao" name="nomeOrgao" size="70" value="${nomeOrgao }"> | 45 | + <input type="text" id="nomeOrgao" name="nomeOrgao" size="70" |
46 | + value="${nomeOrgao }"> | ||
32 | <br><br> | 47 | <br><br> |
33 | 48 | ||
34 | <input type="submit" value="Listar"> | 49 | <input type="submit" value="Listar"> |
@@ -52,7 +67,9 @@ | @@ -52,7 +67,9 @@ | ||
52 | <th>Resposta Email</th> | 67 | <th>Resposta Email</th> |
53 | <th>Data Relatório Respondido</th> | 68 | <th>Data Relatório Respondido</th> |
54 | <th>Relatório Respondido</th> | 69 | <th>Relatório Respondido</th> |
55 | - <th>Plano de Trabalho Enviado</th> | 70 | + <th>Plano de Trabalho Anexado</th> |
71 | + <th>Relatório Anexado</th> | ||
72 | + <th>Relatório Enviado</th> | ||
56 | <th>download Plano de Trabalho</th> | 73 | <th>download Plano de Trabalho</th> |
57 | <th>download Relatório Assinado</th> | 74 | <th>download Relatório Assinado</th> |
58 | <th>Visualizar Relatório</th> | 75 | <th>Visualizar Relatório</th> |
@@ -66,10 +83,12 @@ | @@ -66,10 +83,12 @@ | ||
66 | <c:if test="${contador.count mod 2 == 0}"> | 83 | <c:if test="${contador.count mod 2 == 0}"> |
67 | <tr bgcolor="#FFFFFF"> | 84 | <tr bgcolor="#FFFFFF"> |
68 | 85 | ||
86 | + | ||
69 | </c:if> | 87 | </c:if> |
70 | <c:if test="${contador.count mod 2 != 0}"> | 88 | <c:if test="${contador.count mod 2 != 0}"> |
71 | <tr bgcolor="#DAA520"> | 89 | <tr bgcolor="#DAA520"> |
72 | 90 | ||
91 | + | ||
73 | </c:if> | 92 | </c:if> |
74 | <td>${contador.count}</td> | 93 | <td>${contador.count}</td> |
75 | <td>${questionario.noOrgao}</td> | 94 | <td>${questionario.noOrgao}</td> |
@@ -88,21 +107,36 @@ | @@ -88,21 +107,36 @@ | ||
88 | <c:if test="${empty questionario.dataRespostaQuestionario}"> | 107 | <c:if test="${empty questionario.dataRespostaQuestionario}"> |
89 | <td><input type="checkbox" disabled="disabled"> </td> | 108 | <td><input type="checkbox" disabled="disabled"> </td> |
90 | </c:if> | 109 | </c:if> |
91 | - | ||
92 | - | ||
93 | - <c:if test="${questionario.planoTrabalhoEnviado == true}"> | ||
94 | - <td><input type="checkbox" checked="checked" | 110 | + |
111 | + <td><input type="checkbox" ${questionario.planoTrabalhoAnexado == true ? 'checked=\"checked\"':''} | ||
95 | disabled="disabled"> </td> | 112 | disabled="disabled"> </td> |
96 | - </c:if> | ||
97 | - <c:if test="${questionario.planoTrabalhoEnviado == false}"> | ||
98 | - <td><input type="checkbox" disabled="disabled"> </td> | ||
99 | - </c:if> | 113 | + |
114 | + <td><input type="checkbox" | ||
115 | + ${questionario.relatorioAnexado == true ? 'checked=\"checked\"':''} | ||
116 | + disabled="disabled"> </td> | ||
117 | + <td><input type="checkbox" | ||
118 | + ${questionario.flagEnviado == true ? 'checked=\"checked\"':''} | ||
119 | + disabled="disabled"></td> | ||
120 | + <td> | ||
121 | + <c:if test="${questionario.planoTrabalhoAnexado == true}"> | ||
122 | + <a href="${pageContext.request.contextPath}/recuperar-plano-trabalho/${questionario.idQuestionario}">Plano de Trabalho</a> | ||
123 | + </c:if> | ||
124 | + | ||
125 | + <c:if test="${questionario.planoTrabalhoAnexado == false}"> | ||
126 | + Plano de Trabalho | ||
127 | + </c:if> | ||
128 | + </td> | ||
129 | + <td> | ||
130 | + <c:if test="${questionario.relatorioAnexado == true}"> | ||
131 | + <a href="${pageContext.request.contextPath}/recuperar-relatorio/${questionario.idQuestionario}">Relatório Assinado</a> | ||
132 | + </c:if> | ||
133 | + <c:if test="${questionario.relatorioAnexado == false}"> | ||
134 | + Relatório Assinado | ||
135 | + </c:if> | ||
136 | + </td> | ||
100 | <td> | 137 | <td> |
101 | - <a href="${pageContext.request.contextPath}/recuperar-plano-trabalho/${questionario.idQuestionario}">Plano de Trabalho</a></td> | ||
102 | - <td> | ||
103 | - <a href="${pageContext.request.contextPath}/recuperar-relatorio/${questionario.idQuestionario}">Relatório Assinado</a></td> | ||
104 | - <td><a | ||
105 | - href="${pageContext.request.contextPath}/relatorio-imprimir/${questionario.idQuestionario}">Visualizar Relatório</a></td> | 138 | + <a href="${pageContext.request.contextPath}/relatorio-imprimir/${questionario.idQuestionario}">Visualizar Relatório</a> |
139 | + </td> | ||
106 | </tr> | 140 | </tr> |
107 | 141 | ||
108 | </c:forEach> | 142 | </c:forEach> |
WebContent/WEB-INF/jsp/questionario/questionario.jsp
@@ -54,8 +54,12 @@ table, th, td { | @@ -54,8 +54,12 @@ table, th, td { | ||
54 | </form> | 54 | </form> |
55 | <br> | 55 | <br> |
56 | 56 | ||
57 | -<label>Total de solicitações: <span>${totalSolicitacoes}</span></label><br> | ||
58 | - <table id="questionarios"> | 57 | +<label>Total de solicitações: <span>${totalSolicitacoes}</span></label> |
58 | +<label> | Total de Relatório Respondido: <span>${totalRelatorioRespondido}</span></label> | ||
59 | +<label> | Total de Relatório Anexado: <span>${totalRelatorioAnexado}</span></label> | ||
60 | +<label> | Total de Plano de Trabalho Anexado: <span>${totalPlanoTrabalhoAnexado}</span></label> | ||
61 | +<label> | Total de Relatório Enviado: <span>${totalRelatorioEnviado}</span></label><br> | ||
62 | +<table id="questionarios"> | ||
59 | <tr> | 63 | <tr> |
60 | <th>Nº Linha</th> | 64 | <th>Nº Linha</th> |
61 | <th>Orgão</th> | 65 | <th>Orgão</th> |
@@ -67,20 +71,29 @@ table, th, td { | @@ -67,20 +71,29 @@ table, th, td { | ||
67 | <th>Resposta Email</th> | 71 | <th>Resposta Email</th> |
68 | <th>Data Relatório Respondido</th> | 72 | <th>Data Relatório Respondido</th> |
69 | <th>Relatório Respondido</th> | 73 | <th>Relatório Respondido</th> |
70 | - <th>Plano de Trabalho Enviado</th> | 74 | + <th>Plano de Trabalho Anexado</th> |
75 | + <th>Relatório Anexado</th> | ||
76 | + <th>Relatório Enviado</th> | ||
71 | <th>download Plano de Trabalho</th> | 77 | <th>download Plano de Trabalho</th> |
78 | + <th>download Relatório Assinado</th> | ||
79 | + <th>Visualizar Relatório</th> | ||
72 | 80 | ||
73 | </tr> | 81 | </tr> |
74 | 82 | ||
75 | <c:if test="${not empty lsquestionario}"> | 83 | <c:if test="${not empty lsquestionario}"> |
76 | 84 | ||
77 | - <c:forEach items="${lsquestionario}" var="questionario" varStatus="contador"> | 85 | + <c:forEach items="${lsquestionario}" var="questionario" |
86 | + varStatus="contador"> | ||
78 | <c:if test="${contador.count mod 2 == 0}"> | 87 | <c:if test="${contador.count mod 2 == 0}"> |
79 | <tr bgcolor="#FFFFFF"> | 88 | <tr bgcolor="#FFFFFF"> |
80 | - </c:if> | 89 | + |
90 | + | ||
91 | + </c:if> | ||
81 | <c:if test="${contador.count mod 2 != 0}"> | 92 | <c:if test="${contador.count mod 2 != 0}"> |
82 | <tr bgcolor="#DAA520"> | 93 | <tr bgcolor="#DAA520"> |
83 | - </c:if> | 94 | + |
95 | + | ||
96 | + </c:if> | ||
84 | <td>${contador.count}</td> | 97 | <td>${contador.count}</td> |
85 | <td>${questionario.noOrgao}</td> | 98 | <td>${questionario.noOrgao}</td> |
86 | <td>${questionario.responsavel}</td> | 99 | <td>${questionario.responsavel}</td> |
@@ -92,20 +105,42 @@ table, th, td { | @@ -92,20 +105,42 @@ table, th, td { | ||
92 | <td>${questionario.dataRespostaQuestionario}</td> | 105 | <td>${questionario.dataRespostaQuestionario}</td> |
93 | 106 | ||
94 | <c:if test="${not empty questionario.dataRespostaQuestionario}"> | 107 | <c:if test="${not empty questionario.dataRespostaQuestionario}"> |
95 | - <td><input type="checkbox" checked="checked" disabled="disabled"> </td> | 108 | + <td><input type="checkbox" checked="checked" |
109 | + disabled="disabled"> </td> | ||
96 | </c:if> | 110 | </c:if> |
97 | <c:if test="${empty questionario.dataRespostaQuestionario}"> | 111 | <c:if test="${empty questionario.dataRespostaQuestionario}"> |
98 | <td><input type="checkbox" disabled="disabled"> </td> | 112 | <td><input type="checkbox" disabled="disabled"> </td> |
99 | </c:if> | 113 | </c:if> |
114 | + | ||
115 | + <td><input type="checkbox" ${questionario.planoTrabalhoAnexado == true ? 'checked=\"checked\"':''} | ||
116 | + disabled="disabled"> </td> | ||
100 | 117 | ||
101 | - | ||
102 | - <c:if test="${questionario.planoTrabalhoEnviado == true}"> | ||
103 | - <td><input type="checkbox" checked="checked" disabled="disabled"> </td> | ||
104 | - </c:if> | ||
105 | - <c:if test="${questionario.planoTrabalhoEnviado == false}"> | ||
106 | - <td><input type="checkbox" disabled="disabled"> </td> | ||
107 | - </c:if> | ||
108 | - <td><a href="${pageContext.request.contextPath}/recuperar-plano-trabalho/${questionario.idQuestionario}">Recuperar</a></td> | 118 | + <td><input type="checkbox" |
119 | + ${questionario.relatorioAnexado == true ? 'checked=\"checked\"':''} | ||
120 | + disabled="disabled"> </td> | ||
121 | + <td><input type="checkbox" | ||
122 | + ${questionario.flagEnviado == true ? 'checked=\"checked\"':''} | ||
123 | + disabled="disabled"></td> | ||
124 | + <td> | ||
125 | + <c:if test="${questionario.planoTrabalhoAnexado == true}"> | ||
126 | + <a href="${pageContext.request.contextPath}/recuperar-plano-trabalho/${questionario.idQuestionario}">Plano de Trabalho</a> | ||
127 | + </c:if> | ||
128 | + | ||
129 | + <c:if test="${questionario.planoTrabalhoAnexado == false}"> | ||
130 | + Plano de Trabalho | ||
131 | + </c:if> | ||
132 | + </td> | ||
133 | + <td> | ||
134 | + <c:if test="${questionario.relatorioAnexado == true}"> | ||
135 | + <a href="${pageContext.request.contextPath}/recuperar-relatorio/${questionario.idQuestionario}">Relatório Assinado</a> | ||
136 | + </c:if> | ||
137 | + <c:if test="${questionario.relatorioAnexado == false}"> | ||
138 | + Relatório Assinado | ||
139 | + </c:if> | ||
140 | + </td> | ||
141 | + <td> | ||
142 | + <a href="${pageContext.request.contextPath}/relatorio-imprimir/${questionario.idQuestionario}">Visualizar Relatório</a> | ||
143 | + </td> | ||
109 | </tr> | 144 | </tr> |
110 | 145 | ||
111 | </c:forEach> | 146 | </c:forEach> |
WebContent/WEB-INF/mail.properties
@@ -8,4 +8,4 @@ prop.email.auth = false | @@ -8,4 +8,4 @@ prop.email.auth = false | ||
8 | prop.email.to = govbr@planejamento.gov.br | 8 | prop.email.to = govbr@planejamento.gov.br |
9 | prop.email.from = govbr@planejamento.gov.br | 9 | prop.email.from = govbr@planejamento.gov.br |
10 | prop.email.copiaEmailTo = fabricio.souza@planejamento.gov.br | 10 | prop.email.copiaEmailTo = fabricio.souza@planejamento.gov.br |
11 | -prop.email.anexosTo = gibran.sodre@planejamento.gov.br | ||
12 | \ No newline at end of file | 11 | \ No newline at end of file |
12 | +prop.email.anexosTo = gibransodre@hotmail.com | ||
13 | \ No newline at end of file | 13 | \ No newline at end of file |
WebContent/css/default.css
src/br/com/controller/PlanoTrabalhoController.java
@@ -4,6 +4,7 @@ import java.io.IOException; | @@ -4,6 +4,7 @@ import java.io.IOException; | ||
4 | import java.util.ArrayList; | 4 | import java.util.ArrayList; |
5 | import java.util.List; | 5 | import java.util.List; |
6 | 6 | ||
7 | +import javax.activation.DataHandler; | ||
7 | import javax.servlet.ServletContext; | 8 | import javax.servlet.ServletContext; |
8 | import javax.servlet.ServletOutputStream; | 9 | import javax.servlet.ServletOutputStream; |
9 | import javax.servlet.http.HttpServletResponse; | 10 | import javax.servlet.http.HttpServletResponse; |
@@ -19,13 +20,19 @@ import br.com.caelum.vraptor.ioc.spring.VRaptorRequestHolder; | @@ -19,13 +20,19 @@ import br.com.caelum.vraptor.ioc.spring.VRaptorRequestHolder; | ||
19 | import br.com.caelum.vraptor.validator.ValidationMessage; | 20 | import br.com.caelum.vraptor.validator.ValidationMessage; |
20 | import br.com.dao.HashDao; | 21 | import br.com.dao.HashDao; |
21 | import br.com.dao.PlanoTrabalhoDao; | 22 | import br.com.dao.PlanoTrabalhoDao; |
23 | +import br.com.dao.QuestionarioDao; | ||
24 | +import br.com.model.entity.EnvioEmailSemAutenticacao; | ||
22 | import br.com.model.entity.PlanoTrabalho; | 25 | import br.com.model.entity.PlanoTrabalho; |
23 | import br.com.model.entity.Questionario; | 26 | import br.com.model.entity.Questionario; |
27 | +import br.com.model.utilities.Email; | ||
28 | +import br.com.util.DateUtil; | ||
29 | +import br.com.util.Validacao; | ||
24 | 30 | ||
25 | 31 | ||
26 | @Resource | 32 | @Resource |
27 | public class PlanoTrabalhoController extends DefaultMultipartConfig { | 33 | public class PlanoTrabalhoController extends DefaultMultipartConfig { |
28 | 34 | ||
35 | + private List<Validacao> mensagemValidacaoCampos = new ArrayList<Validacao>(); | ||
29 | private Validator validator; | 36 | private Validator validator; |
30 | private Result result; | 37 | private Result result; |
31 | private ServletContext application; | 38 | private ServletContext application; |
@@ -89,7 +96,7 @@ public class PlanoTrabalhoController extends DefaultMultipartConfig { | @@ -89,7 +96,7 @@ public class PlanoTrabalhoController extends DefaultMultipartConfig { | ||
89 | HashDao hashDao = new HashDao(); | 96 | HashDao hashDao = new HashDao(); |
90 | questionario = new Questionario(); | 97 | questionario = new Questionario(); |
91 | questionario = hashDao.verificarHash(path, valorHash); | 98 | questionario = hashDao.verificarHash(path, valorHash); |
92 | - String nomeExtensaoPlanoTrabalho = filePlano.getFileName(); | 99 | + String nomeExtensaoPlanoTrabalho = filePlano.getContentType(); |
93 | 100 | ||
94 | if (questionario != null && questionario.getDtInicioQuestionario() != null) { | 101 | if (questionario != null && questionario.getDtInicioQuestionario() != null) { |
95 | PlanoTrabalhoDao planoTrabalhoDao = new PlanoTrabalhoDao(); | 102 | PlanoTrabalhoDao planoTrabalhoDao = new PlanoTrabalhoDao(); |
@@ -97,9 +104,9 @@ public class PlanoTrabalhoController extends DefaultMultipartConfig { | @@ -97,9 +104,9 @@ public class PlanoTrabalhoController extends DefaultMultipartConfig { | ||
97 | planoTrabalho = | 104 | planoTrabalho = |
98 | planoTrabalhoDao.recuperarPlanoTrabalho(path, questionario); | 105 | planoTrabalhoDao.recuperarPlanoTrabalho(path, questionario); |
99 | 106 | ||
100 | - if (planoTrabalho.getArquivoPlanoTrabalho() == null) { | 107 | + if (planoTrabalho.getIdPlanoTrabalho() == 0) { |
101 | if (planoTrabalhoDao.salvarPlanoTrabalho(path, filePlano.getFile(), questionario, | 108 | if (planoTrabalhoDao.salvarPlanoTrabalho(path, filePlano.getFile(), questionario, |
102 | - nomeExtensaoPlanoTrabalho)) { | 109 | + filePlano.getFileName(), nomeExtensaoPlanoTrabalho)) { |
103 | mensagemPlano = "Plano de trabalho anexado com sucesso!"; | 110 | mensagemPlano = "Plano de trabalho anexado com sucesso!"; |
104 | statusPlano = true; | 111 | statusPlano = true; |
105 | } else { | 112 | } else { |
@@ -107,7 +114,7 @@ public class PlanoTrabalhoController extends DefaultMultipartConfig { | @@ -107,7 +114,7 @@ public class PlanoTrabalhoController extends DefaultMultipartConfig { | ||
107 | } | 114 | } |
108 | } else { | 115 | } else { |
109 | if (planoTrabalhoDao.atualizarPlanoTrabalho(path, filePlano.getFile(), questionario, | 116 | if (planoTrabalhoDao.atualizarPlanoTrabalho(path, filePlano.getFile(), questionario, |
110 | - planoTrabalho.getIdPlanoTrabalho(), nomeExtensaoPlanoTrabalho)) { | 117 | + planoTrabalho.getIdPlanoTrabalho(), filePlano.getFileName(),nomeExtensaoPlanoTrabalho)) { |
111 | mensagemPlano = "Plano de trabalho anexado com sucesso!"; | 118 | mensagemPlano = "Plano de trabalho anexado com sucesso!"; |
112 | statusPlano = true; | 119 | statusPlano = true; |
113 | } else { | 120 | } else { |
@@ -156,7 +163,7 @@ public class PlanoTrabalhoController extends DefaultMultipartConfig { | @@ -156,7 +163,7 @@ public class PlanoTrabalhoController extends DefaultMultipartConfig { | ||
156 | HashDao hashDao = new HashDao(); | 163 | HashDao hashDao = new HashDao(); |
157 | questionario = new Questionario(); | 164 | questionario = new Questionario(); |
158 | questionario = hashDao.verificarHash(path, valorHash); | 165 | questionario = hashDao.verificarHash(path, valorHash); |
159 | - String nomeExtensaoRelatorio = fileRelatorio.getFileName(); | 166 | + String nomeExtensaoRelatorio = fileRelatorio.getContentType(); |
160 | 167 | ||
161 | if (questionario != null && questionario.getDtInicioQuestionario() != null) { | 168 | if (questionario != null && questionario.getDtInicioQuestionario() != null) { |
162 | PlanoTrabalhoDao planoTrabalhoDao = new PlanoTrabalhoDao(); | 169 | PlanoTrabalhoDao planoTrabalhoDao = new PlanoTrabalhoDao(); |
@@ -164,9 +171,9 @@ public class PlanoTrabalhoController extends DefaultMultipartConfig { | @@ -164,9 +171,9 @@ public class PlanoTrabalhoController extends DefaultMultipartConfig { | ||
164 | 171 | ||
165 | planoTrabalho = planoTrabalhoDao.recuperarPlanoTrabalho(path, questionario); | 172 | planoTrabalho = planoTrabalhoDao.recuperarPlanoTrabalho(path, questionario); |
166 | 173 | ||
167 | - if (planoTrabalho.getArquivoRelatorioAss() == null) { | 174 | + if (planoTrabalho.getIdPlanoTrabalho() == 0) { |
168 | if (planoTrabalhoDao.salvarRelatorioAss(path, fileRelatorio.getFile(), questionario, | 175 | if (planoTrabalhoDao.salvarRelatorioAss(path, fileRelatorio.getFile(), questionario, |
169 | - nomeExtensaoRelatorio)) { | 176 | + fileRelatorio.getFileName(), nomeExtensaoRelatorio)) { |
170 | mensagemRelatorio = "Relatório anexado com sucesso!"; | 177 | mensagemRelatorio = "Relatório anexado com sucesso!"; |
171 | statusRelatorio = true; | 178 | statusRelatorio = true; |
172 | } else { | 179 | } else { |
@@ -174,7 +181,7 @@ public class PlanoTrabalhoController extends DefaultMultipartConfig { | @@ -174,7 +181,7 @@ public class PlanoTrabalhoController extends DefaultMultipartConfig { | ||
174 | } | 181 | } |
175 | } else { | 182 | } else { |
176 | if (planoTrabalhoDao.atualizarRelatorioAss(path, fileRelatorio.getFile(), questionario, | 183 | if (planoTrabalhoDao.atualizarRelatorioAss(path, fileRelatorio.getFile(), questionario, |
177 | - planoTrabalho.getIdPlanoTrabalho(), nomeExtensaoRelatorio)) { | 184 | + planoTrabalho.getIdPlanoTrabalho(), fileRelatorio.getFileName(), nomeExtensaoRelatorio)) { |
178 | mensagemRelatorio = "Relatório anexado com sucesso!"; | 185 | mensagemRelatorio = "Relatório anexado com sucesso!"; |
179 | statusRelatorio = true; | 186 | statusRelatorio = true; |
180 | } else { | 187 | } else { |
@@ -222,9 +229,9 @@ public class PlanoTrabalhoController extends DefaultMultipartConfig { | @@ -222,9 +229,9 @@ public class PlanoTrabalhoController extends DefaultMultipartConfig { | ||
222 | if (questionario != null && questionario.getIdQuestionario() > 0) { | 229 | if (questionario != null && questionario.getIdQuestionario() > 0) { |
223 | planoTrabalho = planoTrabalhoDao.recuperarPlanoTrabalho(path, questionario); | 230 | planoTrabalho = planoTrabalhoDao.recuperarPlanoTrabalho(path, questionario); |
224 | 231 | ||
225 | - if (planoTrabalho != null) { | 232 | + if (planoTrabalho != null && planoTrabalho.getArquivoPlanoTrabalho() != null) { |
226 | try { | 233 | try { |
227 | - String nome = planoTrabalho.getNomeExtensaoPlanoTrabalho(); | 234 | + String nome = planoTrabalho.getNomePlanoTrabalho(); |
228 | dados = planoTrabalho.getArquivoPlanoTrabalho(); | 235 | dados = planoTrabalho.getArquivoPlanoTrabalho(); |
229 | response.setContentType("inline/download"); | 236 | response.setContentType("inline/download"); |
230 | String arq = "attachment;filename=" + nome; | 237 | String arq = "attachment;filename=" + nome; |
@@ -237,6 +244,16 @@ public class PlanoTrabalhoController extends DefaultMultipartConfig { | @@ -237,6 +244,16 @@ public class PlanoTrabalhoController extends DefaultMultipartConfig { | ||
237 | 244 | ||
238 | } | 245 | } |
239 | } | 246 | } |
247 | + else | ||
248 | + { | ||
249 | + this.validator.add(new ValidationMessage("", "")); | ||
250 | + this.validator.onErrorUsePageOf(QuestionarioController.class).listaQuestionario(); | ||
251 | + } | ||
252 | + } | ||
253 | + else | ||
254 | + { | ||
255 | + this.validator.add(new ValidationMessage("", "")); | ||
256 | + this.validator.onErrorUsePageOf(QuestionarioController.class).listaQuestionario(); | ||
240 | } | 257 | } |
241 | } | 258 | } |
242 | 259 | ||
@@ -253,9 +270,9 @@ public class PlanoTrabalhoController extends DefaultMultipartConfig { | @@ -253,9 +270,9 @@ public class PlanoTrabalhoController extends DefaultMultipartConfig { | ||
253 | if (questionario != null && questionario.getIdQuestionario() > 0) { | 270 | if (questionario != null && questionario.getIdQuestionario() > 0) { |
254 | planoTrabalho = planoTrabalhoDao.recuperarPlanoTrabalho(path, questionario); | 271 | planoTrabalho = planoTrabalhoDao.recuperarPlanoTrabalho(path, questionario); |
255 | 272 | ||
256 | - if (planoTrabalho != null) { | 273 | + if (planoTrabalho != null && planoTrabalho.getArquivoRelatorioAss() != null) { |
257 | try { | 274 | try { |
258 | - String nome = planoTrabalho.getNomeExtensaoRelatorioAss(); | 275 | + String nome = planoTrabalho.getNomeRelatorioAss(); |
259 | dados = planoTrabalho.getArquivoRelatorioAss(); | 276 | dados = planoTrabalho.getArquivoRelatorioAss(); |
260 | response.setContentType("inline/download"); | 277 | response.setContentType("inline/download"); |
261 | String arq = "attachment;filename=" + nome; | 278 | String arq = "attachment;filename=" + nome; |
@@ -268,6 +285,179 @@ public class PlanoTrabalhoController extends DefaultMultipartConfig { | @@ -268,6 +285,179 @@ public class PlanoTrabalhoController extends DefaultMultipartConfig { | ||
268 | 285 | ||
269 | } | 286 | } |
270 | } | 287 | } |
288 | + else | ||
289 | + { | ||
290 | + this.validator.add(new ValidationMessage("", "")); | ||
291 | + this.validator.onErrorUsePageOf(QuestionarioController.class).listaQuestionario(); | ||
292 | + } | ||
293 | + } | ||
294 | + else | ||
295 | + { | ||
296 | + this.validator.add(new ValidationMessage("", "")); | ||
297 | + this.validator.onErrorUsePageOf(QuestionarioController.class).listaQuestionario(); | ||
271 | } | 298 | } |
272 | } | 299 | } |
300 | + | ||
301 | + @Path("/enviar-relatorio-plano-trabalho") | ||
302 | + public void enviarRelatorioPlanoTrabalho() { | ||
303 | + | ||
304 | + } | ||
305 | + | ||
306 | + private void enviarEmail(Questionario questionario) { | ||
307 | + QuestionarioDao questionarioDao; | ||
308 | + | ||
309 | + StringBuffer mensagemMPF = new StringBuffer(); | ||
310 | + StringBuffer mensagemOrgao = new StringBuffer(); | ||
311 | + String assuntoMPF = ""; | ||
312 | + String assuntoOrgao = ""; | ||
313 | + | ||
314 | + PlanoTrabalho planoTrabalho = new PlanoTrabalho(); | ||
315 | + PlanoTrabalhoDao planoTrabalhoDao = new PlanoTrabalhoDao(); | ||
316 | + | ||
317 | + planoTrabalho = planoTrabalhoDao.recuperarPlanoTrabalho(path, questionario); | ||
318 | + | ||
319 | + if(planoTrabalho != null && planoTrabalho.getArquivoPlanoTrabalho() != null && planoTrabalho.getArquivoRelatorioAss() != null) | ||
320 | + { | ||
321 | + DataHandler dataHandlerRelatorio; | ||
322 | + DataHandler dataHandlerPlano; | ||
323 | + | ||
324 | + dataHandlerRelatorio = | ||
325 | + new DataHandler(planoTrabalho.getArquivoRelatorioAss(), | ||
326 | + planoTrabalho.getNomeExtensaoRelatorioAss()); | ||
327 | + dataHandlerPlano = | ||
328 | + new DataHandler(planoTrabalho.getArquivoPlanoTrabalho(), | ||
329 | + planoTrabalho.getNomeExtensaoPlanoTrabalho()); | ||
330 | + | ||
331 | + Email email = new Email(this.application.getRealPath("") + "/WEB-INF/mail.properties"); | ||
332 | + | ||
333 | + EnvioEmailSemAutenticacao envioEmailSemAutenticacao = | ||
334 | + new EnvioEmailSemAutenticacao(email.getHost(), Integer.toString(email.getPort())); | ||
335 | + | ||
336 | + assuntoMPF = "Registro de Encaminhamento do Relatório Circunstanciado de Acessibilidade Digital - " + questionario.getNoOrgao(); | ||
337 | + | ||
338 | + mensagemMPF.append("À Procuradoria Federal dos Diretos do Cidadão,<br>"); | ||
339 | + mensagemMPF.append("<p>Conforme Portaria Interministerial xxxx/2016 do Ministério da Justiça e Cidadania e do"); | ||
340 | + mensagemMPF.append(" Ministério do Planejamento, Desenvolvimento e Gestão, o(a) " + questionario.getNoOrgao()); | ||
341 | + mensagemMPF.append(" encaminha o Relatório Circunstanciado relativo aos ambientes digitais desta"); | ||
342 | + mensagemMPF.append(" instituição. </p>"); | ||
343 | + mensagemMPF.append("Dados do Responsável:<br>"); | ||
344 | + mensagemMPF.append("Nome: " + questionario.getResponsavel() +"<br>"); | ||
345 | + mensagemMPF.append("Cargo: "+ questionario.getCargoResponsavel() + "<br>"); | ||
346 | + mensagemMPF.append("Telefone: " + questionario.getTelefone() + "<br>"); | ||
347 | + mensagemMPF.append("email: "+ questionario.getEmailDestinoOrgao() + "<br>"); | ||
348 | + | ||
349 | + | ||
350 | + String mensagemRetornoMPF = | ||
351 | + envioEmailSemAutenticacao.sendMailComAnexo(questionario.getEmailDestinoOrgao(), | ||
352 | + email.getAnexosTo(), assuntoMPF, mensagemMPF.toString(), email.getAuth(), email.getAuthUser(), | ||
353 | + email.getAuthPass(), dataHandlerRelatorio, planoTrabalho.getNomeRelatorioAss(), | ||
354 | + dataHandlerPlano, planoTrabalho.getNomePlanoTrabalho()); | ||
355 | + | ||
356 | + | ||
357 | + | ||
358 | + if (mensagemRetornoMPF.equalsIgnoreCase("")) { | ||
359 | + | ||
360 | + | ||
361 | + assuntoOrgao = "Registro de Encaminhamento do Relatório Circunstanciado de Acessibilidade Digital - " + questionario.getNoOrgao(); | ||
362 | + | ||
363 | + mensagemOrgao.append("<p>Prezado(a) "+ questionario.getResponsavel() +", "+ questionario.getCargoResponsavel() +" do "+ questionario.getNoOrgao() +", você concluiu com sucesso o processo de "); | ||
364 | + mensagemOrgao.append("envio do Relatório Circunstanciado (Formulário Eletrônico de Acessibilidade Digital e "); | ||
365 | + mensagemOrgao.append("Plano de Trabalho) à Procuradoria Federal dos Direitos do Cidadão do Ministério "); | ||
366 | + mensagemOrgao.append("Público Federal.</p>"); | ||
367 | + mensagemOrgao.append("<p>Conforme previsto na portaria interministerial xxx/2016 do Ministério da Justiça e "); | ||
368 | + mensagemOrgao.append("Cidadania e do Ministério do Planejamento, Desenvolvimento e Gestão, além do "); | ||
369 | + mensagemOrgao.append("envio, o relatório circunstanciado deverá ser publicado no portal do órgão/entidade e "); | ||
370 | + mensagemOrgao.append("o seu reporte , na forma de síntese, deverá ser registrado na seção "); | ||
371 | + mensagemOrgao.append("\"Medidas Relativas à Acessibilidade\" do Relatório de Gestão referente a 2016 e, nos "); | ||
372 | + mensagemOrgao.append("anos subsequentes, indicar nessa seção o monitoramento das metas propostas nos "); | ||
373 | + mensagemOrgao.append("planos de trabalho.</p>"); | ||
374 | + mensagemOrgao.append("<p>Em caso de dúvida acesse <a href=\"http://fad.governoeletronico.gov.br/fad/contato/contato-site\">http://fad.governoeletronico.gov.br/fad/contato/contato-site.</a></p>"); | ||
375 | + mensagemOrgao.append("<p>Brasília, "+ DateUtil.dataHoraAtual() +".</p>"); | ||
376 | + mensagemOrgao.append("<p>Encaminhado por:</p>"); | ||
377 | + mensagemOrgao.append("<p><a href=\"http://fad.governoeletronico.gov.br\">http://fad.governoeletronico.gov.br</a></p>"); | ||
378 | + mensagemOrgao.append("<p>Coordenação-Geral de Padrões de Governo Digital</p>"); | ||
379 | + mensagemOrgao.append("<p>Departamento de Governo Digital</p>"); | ||
380 | + mensagemOrgao.append("<p>Secretaria de Tecnologia da Informação</p>"); | ||
381 | + mensagemOrgao.append("<p>Ministério do Planejamento, Desenvolvimento e Gestão</p>"); | ||
382 | + | ||
383 | + //questionario.getEmailDestinoOrgao() | ||
384 | + String mensagemRetornoOrgao = | ||
385 | + envioEmailSemAutenticacao.sendMailComAnexo(email.getFrom(), | ||
386 | + "gibransodre@hotmail.com", assuntoOrgao, mensagemOrgao.toString(), email.getAuth(), | ||
387 | + email.getAuthUser(), email.getAuthPass(), dataHandlerRelatorio, | ||
388 | + planoTrabalho.getNomeRelatorioAss(), dataHandlerPlano, | ||
389 | + planoTrabalho.getNomePlanoTrabalho()); | ||
390 | + | ||
391 | + | ||
392 | + if (mensagemRetornoOrgao.equalsIgnoreCase("")) { | ||
393 | + | ||
394 | + questionarioDao = new QuestionarioDao(); | ||
395 | + | ||
396 | + if (questionarioDao.atualizarFlagEnviado(path, questionario.getIdQuestionario())) { | ||
397 | + result.include("mensagemEnvio", | ||
398 | + "Mensagem enviada com Sucesso, você recebeu um email com os anexos!"); | ||
399 | + result.include("statusEnvio", true); | ||
400 | + } | ||
401 | + } | ||
402 | + } else { | ||
403 | + result.include("mensagemEnvio", "Não foi possível enviar o email com os anexos!"); | ||
404 | + result.include("statusEnvio", false); | ||
405 | + } | ||
406 | + }else | ||
407 | + { | ||
408 | + result.include("mensagemEnvio", "É preciso ter o Relatório e o Plano de Trabalho anexados!"); | ||
409 | + result.include("statusEnvio", false); | ||
410 | + } | ||
411 | + | ||
412 | + this.validator.add(new ValidationMessage("", "")); | ||
413 | + this.validator.onErrorUsePageOf(PlanoTrabalhoController.class).confirmacaoEnvioEmailMPF(); | ||
414 | + } | ||
415 | + | ||
416 | + @Path("/enviar-email-mpf-alternativo") | ||
417 | + public void enviarEmailMPFAlternativo(String valorHash) { | ||
418 | + | ||
419 | + Validacao validacao = new Validacao(); | ||
420 | + mensagemValidacaoCampos = new ArrayList<Validacao>(); | ||
421 | + mensagemValidacaoCampos = validacao.validarHash(path, valorHash); | ||
422 | + | ||
423 | + if (mensagemValidacaoCampos.size() > 0) { | ||
424 | + result.include("mensagemValidacaoCampos", mensagemValidacaoCampos); | ||
425 | + this.validator.add(new ValidationMessage("", "")); | ||
426 | + this.validator.onErrorUsePageOf(PlanoTrabalhoController.class).enviarRelatorioPlanoTrabalho(); | ||
427 | + } | ||
428 | + | ||
429 | + HashDao hashDao = new HashDao(); | ||
430 | + Questionario questionario = new Questionario(); | ||
431 | + questionario = hashDao.verificarHash(path, valorHash); | ||
432 | + | ||
433 | + | ||
434 | + | ||
435 | + if (questionario != null && questionario.getIdQuestionario() > 0) { | ||
436 | + | ||
437 | + enviarEmail(questionario); | ||
438 | + | ||
439 | + } | ||
440 | + | ||
441 | + } | ||
442 | + | ||
443 | + | ||
444 | + @Path("/enviar-email-mpf") | ||
445 | + public void enviarEmailMPF() { | ||
446 | + Questionario questionario = new Questionario(); | ||
447 | + | ||
448 | + questionario = | ||
449 | + (Questionario) VRaptorRequestHolder.currentRequest().getServletContext() | ||
450 | + .getAttribute("questionario"); | ||
451 | + | ||
452 | + if (questionario != null && questionario.getIdQuestionario() > 0) { | ||
453 | + | ||
454 | + enviarEmail(questionario); | ||
455 | + | ||
456 | + } | ||
457 | + | ||
458 | + } | ||
459 | + | ||
460 | + public void confirmacaoEnvioEmailMPF() { | ||
461 | + | ||
462 | + } | ||
273 | } | 463 | } |
src/br/com/controller/QuestionarioController.java
@@ -10,6 +10,8 @@ import java.util.Properties; | @@ -10,6 +10,8 @@ import java.util.Properties; | ||
10 | 10 | ||
11 | import javax.servlet.ServletContext; | 11 | import javax.servlet.ServletContext; |
12 | 12 | ||
13 | +import org.apache.jasper.tagplugins.jstl.core.ForEach; | ||
14 | + | ||
13 | import br.com.caelum.vraptor.Path; | 15 | import br.com.caelum.vraptor.Path; |
14 | import br.com.caelum.vraptor.Resource; | 16 | import br.com.caelum.vraptor.Resource; |
15 | import br.com.caelum.vraptor.Result; | 17 | import br.com.caelum.vraptor.Result; |
@@ -51,6 +53,38 @@ public class QuestionarioController { | @@ -51,6 +53,38 @@ public class QuestionarioController { | ||
51 | QuestionarioDao questionarioDao = new QuestionarioDao(); | 53 | QuestionarioDao questionarioDao = new QuestionarioDao(); |
52 | List<Questionario> lsquestionario = new ArrayList<Questionario>(); | 54 | List<Questionario> lsquestionario = new ArrayList<Questionario>(); |
53 | lsquestionario = questionarioDao.retornarListaQuestionario(path); | 55 | lsquestionario = questionarioDao.retornarListaQuestionario(path); |
56 | + | ||
57 | + | ||
58 | + int relatorioRespondido = 0; | ||
59 | + int planoTrabalhoAnexado = 0; | ||
60 | + int relatorioAnexado = 0; | ||
61 | + int relatorioEnviado = 0; | ||
62 | + | ||
63 | + for (Questionario questionario : lsquestionario) { | ||
64 | + | ||
65 | + if(questionario.getDataRespostaQuestionario() != null) | ||
66 | + { | ||
67 | + relatorioRespondido++; | ||
68 | + } | ||
69 | + if(questionario.isPlanoTrabalhoAnexado()) | ||
70 | + { | ||
71 | + planoTrabalhoAnexado++; | ||
72 | + } | ||
73 | + if(questionario.isRelatorioAnexado()) | ||
74 | + { | ||
75 | + relatorioAnexado++; | ||
76 | + } | ||
77 | + if(questionario.isFlagEnviado()) | ||
78 | + { | ||
79 | + relatorioEnviado++; | ||
80 | + } | ||
81 | + | ||
82 | + } | ||
83 | + | ||
84 | + result.include("totalRelatorioRespondido", relatorioRespondido); | ||
85 | + result.include("totalPlanoTrabalhoAnexado", planoTrabalhoAnexado); | ||
86 | + result.include("totalRelatorioAnexado", relatorioAnexado); | ||
87 | + result.include("totalRelatorioEnviado", relatorioEnviado); | ||
54 | result.include("lsquestionario", lsquestionario); | 88 | result.include("lsquestionario", lsquestionario); |
55 | result.include("totalSolicitacoes", lsquestionario.size()); | 89 | result.include("totalSolicitacoes", lsquestionario.size()); |
56 | } | 90 | } |
@@ -62,18 +96,19 @@ public class QuestionarioController { | @@ -62,18 +96,19 @@ public class QuestionarioController { | ||
62 | 96 | ||
63 | @Path("/lista-questionario") | 97 | @Path("/lista-questionario") |
64 | public void listaQuestionario() { | 98 | public void listaQuestionario() { |
65 | - listarQuestionarioComFiltro("todos", "todos",""); | 99 | + listarQuestionarioComFiltro("todos", "todos","todos", ""); |
66 | } | 100 | } |
67 | 101 | ||
68 | @Path("/listar-questionario") | 102 | @Path("/listar-questionario") |
69 | - public void listarQuestionarioComFiltro(String statusRelatorio, String statusPlanoTrabalho, String nomeOrgao) { | 103 | + public void listarQuestionarioComFiltro(String statusRelatorio, String statusPlanoTrabalho, String relatorioAnexado, String nomeOrgao) { |
70 | 104 | ||
71 | QuestionarioDao questionarioDao = new QuestionarioDao(); | 105 | QuestionarioDao questionarioDao = new QuestionarioDao(); |
72 | List<Questionario> lsquestionario = new ArrayList<Questionario>(); | 106 | List<Questionario> lsquestionario = new ArrayList<Questionario>(); |
73 | - lsquestionario = questionarioDao.retornarListaQuestionarioComFiltro(path, statusRelatorio, statusPlanoTrabalho, nomeOrgao); | 107 | + lsquestionario = questionarioDao.retornarListaQuestionarioComFiltro(path, statusRelatorio, statusPlanoTrabalho, relatorioAnexado, nomeOrgao); |
74 | result.include("lsquestionario", lsquestionario); | 108 | result.include("lsquestionario", lsquestionario); |
75 | result.include("totalSolicitacoes", lsquestionario.size()); | 109 | result.include("totalSolicitacoes", lsquestionario.size()); |
76 | result.include("statusRel", statusRelatorio.equalsIgnoreCase("todos")? "" :statusRelatorio); | 110 | result.include("statusRel", statusRelatorio.equalsIgnoreCase("todos")? "" :statusRelatorio); |
111 | + result.include("relatorioAnex", relatorioAnexado.equalsIgnoreCase("todos")? "" :relatorioAnexado); | ||
77 | result.include("statusPlanoTrab", statusPlanoTrabalho.equalsIgnoreCase("todos")? "" :statusPlanoTrabalho); | 112 | result.include("statusPlanoTrab", statusPlanoTrabalho.equalsIgnoreCase("todos")? "" :statusPlanoTrabalho); |
78 | result.include("nomeOrgao", nomeOrgao != null? nomeOrgao:""); | 113 | result.include("nomeOrgao", nomeOrgao != null? nomeOrgao:""); |
79 | 114 |
src/br/com/controller/relatorioController.java
@@ -81,87 +81,9 @@ public class relatorioController { | @@ -81,87 +81,9 @@ public class relatorioController { | ||
81 | } | 81 | } |
82 | } | 82 | } |
83 | 83 | ||
84 | - @Path("/enviar-email-mpf") | ||
85 | - public void enviarEmailMPF() { | ||
86 | - Questionario questionario = new Questionario(); | ||
87 | - QuestionarioDao questionarioDao; | ||
88 | - | ||
89 | - UploadedFile fileRelatorio; | 84 | + |
90 | 85 | ||
91 | - String mensagemMPF = ""; | ||
92 | - String mensagemOrgao = ""; | ||
93 | - String assuntoMPF = ""; | ||
94 | - String assuntoOrgao = ""; | ||
95 | 86 | ||
96 | - questionario = | ||
97 | - (Questionario) VRaptorRequestHolder.currentRequest().getServletContext() | ||
98 | - .getAttribute("questionario"); | ||
99 | - | ||
100 | - fileRelatorio = | ||
101 | - (UploadedFile) VRaptorRequestHolder.currentRequest().getServletContext() | ||
102 | - .getAttribute("fileRelatorio"); | ||
103 | - | ||
104 | - PlanoTrabalho planoTrabalho = new PlanoTrabalho(); | ||
105 | - PlanoTrabalhoDao planoTrabalhoDao = new PlanoTrabalhoDao(); | ||
106 | - | ||
107 | - planoTrabalho = planoTrabalhoDao.recuperarPlanoTrabalho(path, questionario); | ||
108 | - | ||
109 | - DataHandler dataHandlerRelatorio; | ||
110 | - DataHandler dataHandlerPlano; | ||
111 | - | ||
112 | - dataHandlerRelatorio = | ||
113 | - new DataHandler(planoTrabalho.getArquivoRelatorioAss(), fileRelatorio.getContentType()); | ||
114 | - dataHandlerPlano = | ||
115 | - new DataHandler(planoTrabalho.getArquivoPlanoTrabalho(), fileRelatorio.getContentType()); | ||
116 | - | ||
117 | - Email email = new Email(this.application.getRealPath("") + "/WEB-INF/mail.properties"); | ||
118 | - | ||
119 | - EnvioEmailSemAutenticacao envioEmailSemAutenticacao = | ||
120 | - new EnvioEmailSemAutenticacao(email.getHost(), Integer.toString(email.getPort())); | ||
121 | - | ||
122 | - | ||
123 | - String mensagemRetornoMPF = | ||
124 | - envioEmailSemAutenticacao.sendMailComAnexo(questionario.getEmailDestinoOrgao(), | ||
125 | - email.getAnexosTo(), assuntoMPF, mensagemMPF, email.getAuth(), email.getAuthUser(), | ||
126 | - email.getAuthPass(), dataHandlerRelatorio, planoTrabalho.getNomeExtensaoRelatorioAss(), | ||
127 | - dataHandlerPlano, planoTrabalho.getNomeExtensaoPlanoTrabalho()); | ||
128 | - | ||
129 | - if (mensagemRetornoMPF.equalsIgnoreCase("")) { | ||
130 | - String mensagemRetornoOrgao = | ||
131 | - envioEmailSemAutenticacao.sendMailComAnexo(email.getFrom(), | ||
132 | - questionario.getEmailDestinoOrgao(), assuntoOrgao, mensagemOrgao, email.getAuth(), | ||
133 | - email.getAuthUser(), email.getAuthPass(), dataHandlerRelatorio, | ||
134 | - planoTrabalho.getNomeExtensaoRelatorioAss(), dataHandlerPlano, | ||
135 | - planoTrabalho.getNomeExtensaoPlanoTrabalho()); | ||
136 | - | ||
137 | - | ||
138 | - if (mensagemRetornoOrgao.equalsIgnoreCase("")) { | ||
139 | - | ||
140 | - questionarioDao = new QuestionarioDao(); | ||
141 | - | ||
142 | - if(questionarioDao.atualizarFlagEnviado(path, questionario.getIdQuestionario())) | ||
143 | - { | ||
144 | - result.include("mensagemEnvio", "Mensagem enviada com Sucesso, você recebeu um email com os anexos!"); | ||
145 | - result.include("statusEnvio", true); | ||
146 | - } | ||
147 | - } | ||
148 | - } | ||
149 | - else | ||
150 | - { | ||
151 | - result.include("mensagemEnvio", "Não foi possível enviar o email com os anexos!"); | ||
152 | - result.include("statusEnvio", false); | ||
153 | - } | ||
154 | - | ||
155 | - this.validator.add(new ValidationMessage("", "")); | ||
156 | - this.validator.onErrorUsePageOf(relatorioController.class).confirmacaoEnvioEmailMPF(); | ||
157 | - } | ||
158 | - | ||
159 | - public void confirmacaoEnvioEmailMPF() | ||
160 | - { | ||
161 | - | ||
162 | - } | ||
163 | - | ||
164 | - | ||
165 | @Get("/relatorio-imprimir/{id}") | 87 | @Get("/relatorio-imprimir/{id}") |
166 | public void relatorioImprimir(String id) { | 88 | public void relatorioImprimir(String id) { |
167 | if (id != null) { | 89 | if (id != null) { |
src/br/com/dao/PlanoTrabalhoDao.java
@@ -13,7 +13,7 @@ import br.com.model.entity.Questionario; | @@ -13,7 +13,7 @@ import br.com.model.entity.Questionario; | ||
13 | public class PlanoTrabalhoDao { | 13 | public class PlanoTrabalhoDao { |
14 | 14 | ||
15 | 15 | ||
16 | - public int verificaPlanoTrabalho(String path, Integer idQuestionario) | 16 | + public PlanoTrabalho verificaPlanoTrabalho(String path, Integer idQuestionario) |
17 | { | 17 | { |
18 | 18 | ||
19 | 19 | ||
@@ -23,6 +23,7 @@ public class PlanoTrabalhoDao { | @@ -23,6 +23,7 @@ public class PlanoTrabalhoDao { | ||
23 | ResultSet rset = null; | 23 | ResultSet rset = null; |
24 | //boolean existePlanoTrabalho = false; | 24 | //boolean existePlanoTrabalho = false; |
25 | int idPlanoTrabalho = -1; | 25 | int idPlanoTrabalho = -1; |
26 | + PlanoTrabalho planoTrabalho = new PlanoTrabalho(); | ||
26 | 27 | ||
27 | try { | 28 | try { |
28 | 29 | ||
@@ -33,8 +34,17 @@ public class PlanoTrabalhoDao { | @@ -33,8 +34,17 @@ public class PlanoTrabalhoDao { | ||
33 | 34 | ||
34 | rset = estado.executeQuery(sql); | 35 | rset = estado.executeQuery(sql); |
35 | 36 | ||
36 | - while (rset.next()) { | ||
37 | - idPlanoTrabalho = rset.getInt("id_plano_trabalho"); | 37 | + while (rset.next()) { |
38 | + planoTrabalho.setIdPlanoTrabalho(rset.getInt("id_plano_trabalho")); | ||
39 | + planoTrabalho.setArquivoPlanoTrabalho(rset.getBytes("arquivo_plano_trabalho")); | ||
40 | + planoTrabalho.setArquivoRelatorioAss(rset.getBytes("arquivo_relatorio_ass")); | ||
41 | + planoTrabalho.setNomeExtensaoPlanoTrabalho(rset.getString("extensao_plano_trabalho")); | ||
42 | + planoTrabalho.setNomeExtensaoRelatorioAss(rset.getString("extensao_relatorio_ass")); | ||
43 | + planoTrabalho.setNomePlanoTrabalho(rset.getString("nome_plano_trabalho")); | ||
44 | + planoTrabalho.setNomeRelatorioAss(rset.getString("nome_relatorio_ass")); | ||
45 | + | ||
46 | + Questionario quest = new Questionario(path, idQuestionario); | ||
47 | + planoTrabalho.setQuestionario(quest); | ||
38 | } | 48 | } |
39 | 49 | ||
40 | } catch (SQLException e) { | 50 | } catch (SQLException e) { |
@@ -51,10 +61,10 @@ public class PlanoTrabalhoDao { | @@ -51,10 +61,10 @@ public class PlanoTrabalhoDao { | ||
51 | } | 61 | } |
52 | } | 62 | } |
53 | 63 | ||
54 | - return idPlanoTrabalho; | 64 | + return planoTrabalho; |
55 | } | 65 | } |
56 | 66 | ||
57 | - public boolean salvarPlanoTrabalho(String path, InputStream file, Questionario questionario, String nomeExtensao) | 67 | + public boolean salvarPlanoTrabalho(String path, InputStream file, Questionario questionario, String nomeArquivo,String nomeExtensao) |
58 | { | 68 | { |
59 | 69 | ||
60 | StringBuffer sql = new StringBuffer(); | 70 | StringBuffer sql = new StringBuffer(); |
@@ -66,13 +76,14 @@ public class PlanoTrabalhoDao { | @@ -66,13 +76,14 @@ public class PlanoTrabalhoDao { | ||
66 | try { | 76 | try { |
67 | 77 | ||
68 | sql = new StringBuffer(); | 78 | sql = new StringBuffer(); |
69 | - sql.append(" INSERT INTO public.plano_trabalho(id_questionario, arquivo_plano_trabalho, extensao_plano_trabalho) VALUES (?, ?, ?); "); | 79 | + sql.append(" INSERT INTO public.plano_trabalho(id_questionario, arquivo_plano_trabalho, nome_plano_trabalho,extensao_plano_trabalho) VALUES (?, ?, ?, ?); "); |
70 | 80 | ||
71 | estado = con.prepareStatement(sql.toString()); | 81 | estado = con.prepareStatement(sql.toString()); |
72 | 82 | ||
73 | estado.setInt(1, questionario.getIdQuestionario()); | 83 | estado.setInt(1, questionario.getIdQuestionario()); |
74 | estado.setBinaryStream(2, file); | 84 | estado.setBinaryStream(2, file); |
75 | - estado.setString(3, nomeExtensao); | 85 | + estado.setString(3, nomeArquivo); |
86 | + estado.setString(4, nomeExtensao); | ||
76 | 87 | ||
77 | resultado = estado.executeUpdate(); | 88 | resultado = estado.executeUpdate(); |
78 | 89 | ||
@@ -91,7 +102,7 @@ public class PlanoTrabalhoDao { | @@ -91,7 +102,7 @@ public class PlanoTrabalhoDao { | ||
91 | return salvoComSucesso; | 102 | return salvoComSucesso; |
92 | } | 103 | } |
93 | 104 | ||
94 | - public boolean salvarRelatorioAss(String path, InputStream file, Questionario questionario, String nomeExtensao) | 105 | + public boolean salvarRelatorioAss(String path, InputStream file, Questionario questionario, String nomeArquivo, String nomeExtensao) |
95 | { | 106 | { |
96 | 107 | ||
97 | StringBuffer sql = new StringBuffer(); | 108 | StringBuffer sql = new StringBuffer(); |
@@ -103,13 +114,14 @@ public class PlanoTrabalhoDao { | @@ -103,13 +114,14 @@ public class PlanoTrabalhoDao { | ||
103 | try { | 114 | try { |
104 | 115 | ||
105 | sql = new StringBuffer(); | 116 | sql = new StringBuffer(); |
106 | - sql.append(" INSERT INTO public.plano_trabalho(id_questionario, arquivo_relatorio_ass, extensao_relatorio_ass) VALUES (?, ?, ?); "); | 117 | + sql.append(" INSERT INTO public.plano_trabalho(id_questionario, arquivo_relatorio_ass, nome_relatorio_ass, extensao_relatorio_ass) VALUES (?, ?, ?, ?); "); |
107 | 118 | ||
108 | estado = con.prepareStatement(sql.toString()); | 119 | estado = con.prepareStatement(sql.toString()); |
109 | 120 | ||
110 | estado.setInt(1, questionario.getIdQuestionario()); | 121 | estado.setInt(1, questionario.getIdQuestionario()); |
111 | estado.setBinaryStream(2, file); | 122 | estado.setBinaryStream(2, file); |
112 | - estado.setString(3, nomeExtensao); | 123 | + estado.setString(3, nomeArquivo); |
124 | + estado.setString(4, nomeExtensao); | ||
113 | 125 | ||
114 | resultado = estado.executeUpdate(); | 126 | resultado = estado.executeUpdate(); |
115 | 127 | ||
@@ -128,7 +140,7 @@ public class PlanoTrabalhoDao { | @@ -128,7 +140,7 @@ public class PlanoTrabalhoDao { | ||
128 | return salvoComSucesso; | 140 | return salvoComSucesso; |
129 | } | 141 | } |
130 | 142 | ||
131 | - public boolean atualizarPlanoTrabalho(String path, InputStream file, Questionario questionario, int idPlanoTrabalho, String nomeExtensao) | 143 | + public boolean atualizarPlanoTrabalho(String path, InputStream file, Questionario questionario, int idPlanoTrabalho, String nomeArquivo, String nomeExtensao) |
132 | { | 144 | { |
133 | 145 | ||
134 | StringBuffer sql = new StringBuffer(); | 146 | StringBuffer sql = new StringBuffer(); |
@@ -143,6 +155,7 @@ public class PlanoTrabalhoDao { | @@ -143,6 +155,7 @@ public class PlanoTrabalhoDao { | ||
143 | //sql.append(" INSERT INTO public.plano_trabalho(id_questionario, arquivo_plano_trabalho) VALUES (?, ?); "); | 155 | //sql.append(" INSERT INTO public.plano_trabalho(id_questionario, arquivo_plano_trabalho) VALUES (?, ?); "); |
144 | sql.append(" UPDATE public.plano_trabalho"); | 156 | sql.append(" UPDATE public.plano_trabalho"); |
145 | sql.append(" SET arquivo_plano_trabalho=?,"); | 157 | sql.append(" SET arquivo_plano_trabalho=?,"); |
158 | + sql.append( " nome_plano_trabalho =?, "); | ||
146 | sql.append( " extensao_plano_trabalho =? "); | 159 | sql.append( " extensao_plano_trabalho =? "); |
147 | sql.append(" WHERE id_plano_trabalho=?;"); | 160 | sql.append(" WHERE id_plano_trabalho=?;"); |
148 | 161 | ||
@@ -150,8 +163,10 @@ public class PlanoTrabalhoDao { | @@ -150,8 +163,10 @@ public class PlanoTrabalhoDao { | ||
150 | 163 | ||
151 | //estado.setInt(1, questionario.getIdQuestionario()); | 164 | //estado.setInt(1, questionario.getIdQuestionario()); |
152 | estado.setBinaryStream(1, file); | 165 | estado.setBinaryStream(1, file); |
153 | - estado.setString(2, nomeExtensao); | ||
154 | - estado.setInt(3, idPlanoTrabalho); | 166 | + estado.setString(2, nomeArquivo); |
167 | + estado.setString(3, nomeExtensao); | ||
168 | + estado.setInt(4, idPlanoTrabalho); | ||
169 | + | ||
155 | 170 | ||
156 | resultado = estado.executeUpdate(); | 171 | resultado = estado.executeUpdate(); |
157 | 172 | ||
@@ -170,7 +185,7 @@ public class PlanoTrabalhoDao { | @@ -170,7 +185,7 @@ public class PlanoTrabalhoDao { | ||
170 | return salvoComSucesso; | 185 | return salvoComSucesso; |
171 | } | 186 | } |
172 | 187 | ||
173 | - public boolean atualizarRelatorioAss(String path, InputStream file, Questionario questionario, int idPlanoTrabalho, String nomeExtensao) | 188 | + public boolean atualizarRelatorioAss(String path, InputStream file, Questionario questionario, int idPlanoTrabalho, String nomeArquivo, String nomeExtensao) |
174 | { | 189 | { |
175 | 190 | ||
176 | StringBuffer sql = new StringBuffer(); | 191 | StringBuffer sql = new StringBuffer(); |
@@ -185,6 +200,7 @@ public class PlanoTrabalhoDao { | @@ -185,6 +200,7 @@ public class PlanoTrabalhoDao { | ||
185 | //sql.append(" INSERT INTO public.plano_trabalho(id_questionario, arquivo_plano_trabalho) VALUES (?, ?); "); | 200 | //sql.append(" INSERT INTO public.plano_trabalho(id_questionario, arquivo_plano_trabalho) VALUES (?, ?); "); |
186 | sql.append(" UPDATE public.plano_trabalho"); | 201 | sql.append(" UPDATE public.plano_trabalho"); |
187 | sql.append(" SET arquivo_relatorio_ass=?,"); | 202 | sql.append(" SET arquivo_relatorio_ass=?,"); |
203 | + sql.append( " nome_relatorio_ass =?, "); | ||
188 | sql.append( " extensao_relatorio_ass =? "); | 204 | sql.append( " extensao_relatorio_ass =? "); |
189 | sql.append(" WHERE id_plano_trabalho=?;"); | 205 | sql.append(" WHERE id_plano_trabalho=?;"); |
190 | 206 | ||
@@ -192,8 +208,9 @@ public class PlanoTrabalhoDao { | @@ -192,8 +208,9 @@ public class PlanoTrabalhoDao { | ||
192 | 208 | ||
193 | //estado.setInt(1, questionario.getIdQuestionario()); | 209 | //estado.setInt(1, questionario.getIdQuestionario()); |
194 | estado.setBinaryStream(1, file); | 210 | estado.setBinaryStream(1, file); |
195 | - estado.setString(2, nomeExtensao); | ||
196 | - estado.setInt(3, idPlanoTrabalho); | 211 | + estado.setString(2, nomeArquivo); |
212 | + estado.setString(3, nomeExtensao); | ||
213 | + estado.setInt(4, idPlanoTrabalho); | ||
197 | 214 | ||
198 | resultado = estado.executeUpdate(); | 215 | resultado = estado.executeUpdate(); |
199 | 216 | ||
@@ -240,7 +257,9 @@ public class PlanoTrabalhoDao { | @@ -240,7 +257,9 @@ public class PlanoTrabalhoDao { | ||
240 | planoTrabalho.setArquivoPlanoTrabalho(rset.getBytes("arquivo_plano_trabalho")); | 257 | planoTrabalho.setArquivoPlanoTrabalho(rset.getBytes("arquivo_plano_trabalho")); |
241 | planoTrabalho.setNomeExtensaoPlanoTrabalho(rset.getString("extensao_plano_trabalho")); | 258 | planoTrabalho.setNomeExtensaoPlanoTrabalho(rset.getString("extensao_plano_trabalho")); |
242 | planoTrabalho.setArquivoRelatorioAss(rset.getBytes("arquivo_relatorio_ass")); | 259 | planoTrabalho.setArquivoRelatorioAss(rset.getBytes("arquivo_relatorio_ass")); |
243 | - planoTrabalho.setNomeExtensaoRelatorioAss(rset.getString("extensao_relatorio_ass")); | 260 | + planoTrabalho.setNomeExtensaoRelatorioAss(rset.getString("extensao_relatorio_ass")); |
261 | + planoTrabalho.setNomePlanoTrabalho(rset.getString("nome_plano_trabalho")); | ||
262 | + planoTrabalho.setNomeRelatorioAss(rset.getString("nome_relatorio_ass")); | ||
244 | planoTrabalho.setQuestionario(questionario); | 263 | planoTrabalho.setQuestionario(questionario); |
245 | } | 264 | } |
246 | 265 |
src/br/com/dao/QuestionarioDao.java
@@ -16,6 +16,7 @@ import java.util.Date; | @@ -16,6 +16,7 @@ import java.util.Date; | ||
16 | import java.util.List; | 16 | import java.util.List; |
17 | 17 | ||
18 | import br.com.caelum.vraptor.interceptor.multipart.UploadedFile; | 18 | import br.com.caelum.vraptor.interceptor.multipart.UploadedFile; |
19 | +import br.com.model.entity.PlanoTrabalho; | ||
19 | import br.com.model.entity.Questionario; | 20 | import br.com.model.entity.Questionario; |
20 | import br.com.util.DateUtil; | 21 | import br.com.util.DateUtil; |
21 | import br.com.util.GeradorCodigoHash; | 22 | import br.com.util.GeradorCodigoHash; |
@@ -66,10 +67,34 @@ public class QuestionarioDao { | @@ -66,10 +67,34 @@ public class QuestionarioDao { | ||
66 | questionario.setDtRespostaEmail(dataRespostaQuestionario); | 67 | questionario.setDtRespostaEmail(dataRespostaQuestionario); |
67 | } | 68 | } |
68 | 69 | ||
70 | + PlanoTrabalho planoTrabalho = new PlanoTrabalho(); | ||
71 | + | ||
72 | + planoTrabalho = planoTrabalhoDao.verificaPlanoTrabalho(path, rset.getInt("id_questionario")); | ||
69 | 73 | ||
70 | 74 | ||
71 | questionario.setDataRespostaQuestionario(respostaQuestionarioDao.verificaRespostaQuestionario(path, rset.getInt("id_questionario"))); | 75 | questionario.setDataRespostaQuestionario(respostaQuestionarioDao.verificaRespostaQuestionario(path, rset.getInt("id_questionario"))); |
72 | - questionario.setPlanoTrabalhoEnviado( planoTrabalhoDao.verificaPlanoTrabalho(path, rset.getInt("id_questionario")) > -1 ? true : false); | 76 | + |
77 | + //verifica se foi anexado plano de trabalho | ||
78 | + if(planoTrabalho != null && planoTrabalho.getArquivoPlanoTrabalho() != null) | ||
79 | + { | ||
80 | + questionario.setPlanoTrabalhoAnexado(true); | ||
81 | + } | ||
82 | + else | ||
83 | + { | ||
84 | + questionario.setPlanoTrabalhoAnexado(false); | ||
85 | + } | ||
86 | + | ||
87 | + | ||
88 | + //verifica se anexado Relatório assinado | ||
89 | + if(planoTrabalho != null && planoTrabalho.getArquivoRelatorioAss() != null) | ||
90 | + { | ||
91 | + questionario.setRelatorioAnexado(true); | ||
92 | + } | ||
93 | + else | ||
94 | + { | ||
95 | + questionario.setRelatorioAnexado(false); | ||
96 | + } | ||
97 | + | ||
73 | listaQuestionario.add(questionario); | 98 | listaQuestionario.add(questionario); |
74 | 99 | ||
75 | } | 100 | } |
@@ -80,7 +105,7 @@ public class QuestionarioDao { | @@ -80,7 +105,7 @@ public class QuestionarioDao { | ||
80 | return listaQuestionario; | 105 | return listaQuestionario; |
81 | } | 106 | } |
82 | 107 | ||
83 | - public List<Questionario> retornarListaQuestionarioComFiltro(String path, String statusRelatorio, String statusPlanoTrabalho, String nomeOrgao) { | 108 | + public List<Questionario> retornarListaQuestionarioComFiltro(String path, String statusRelatorio, String statusPlanoTrabalho, String relatorioAnexado, String nomeOrgao) { |
84 | 109 | ||
85 | List<Questionario> listaQuestionario = new ArrayList<Questionario>(); | 110 | List<Questionario> listaQuestionario = new ArrayList<Questionario>(); |
86 | 111 | ||
@@ -114,6 +139,7 @@ public class QuestionarioDao { | @@ -114,6 +139,7 @@ public class QuestionarioDao { | ||
114 | questionario.setFlagEnviado(rset.getBoolean("flag_enviado")); | 139 | questionario.setFlagEnviado(rset.getBoolean("flag_enviado")); |
115 | 140 | ||
116 | dataRespostaQuestionario = rset.getString("data_resposta_email"); | 141 | dataRespostaQuestionario = rset.getString("data_resposta_email"); |
142 | + | ||
117 | if(dataRespostaQuestionario != null) | 143 | if(dataRespostaQuestionario != null) |
118 | { | 144 | { |
119 | questionario.setDtRespostaEmail(DateUtil.dataHoraFormatadaDiaMesAnoComParametro(dataRespostaQuestionario)); | 145 | questionario.setDtRespostaEmail(DateUtil.dataHoraFormatadaDiaMesAnoComParametro(dataRespostaQuestionario)); |
@@ -126,21 +152,75 @@ public class QuestionarioDao { | @@ -126,21 +152,75 @@ public class QuestionarioDao { | ||
126 | 152 | ||
127 | questionario.setDataRespostaQuestionario(respostaQuestionarioDao.verificaRespostaQuestionario(path, rset.getInt("id_questionario"))); | 153 | questionario.setDataRespostaQuestionario(respostaQuestionarioDao.verificaRespostaQuestionario(path, rset.getInt("id_questionario"))); |
128 | 154 | ||
129 | - questionario.setPlanoTrabalhoEnviado( planoTrabalhoDao.verificaPlanoTrabalho(path, rset.getInt("id_questionario")) > -1 ? true : false); | ||
130 | 155 | ||
131 | - if(statusPlanoTrabalho.equalsIgnoreCase("todos")) | 156 | + PlanoTrabalho planoTrabalho = new PlanoTrabalho(); |
157 | + | ||
158 | + planoTrabalho = planoTrabalhoDao.verificaPlanoTrabalho(path, rset.getInt("id_questionario")); | ||
159 | + | ||
160 | + //verifica se foi anexado plano de trabalho | ||
161 | + if(planoTrabalho != null && planoTrabalho.getArquivoPlanoTrabalho() != null) | ||
132 | { | 162 | { |
133 | - listaQuestionario.add(questionario); | 163 | + questionario.setPlanoTrabalhoAnexado(true); |
164 | + } | ||
165 | + else | ||
166 | + { | ||
167 | + questionario.setPlanoTrabalhoAnexado(false); | ||
168 | + } | ||
169 | + //verifica se foi anexado o Relatório | ||
170 | + if(planoTrabalho != null && planoTrabalho.getArquivoRelatorioAss() != null) | ||
171 | + { | ||
172 | + questionario.setRelatorioAnexado(true); | ||
134 | } | 173 | } |
135 | else | 174 | else |
136 | { | 175 | { |
137 | - if(statusPlanoTrabalho.equalsIgnoreCase("sim") && questionario.isPlanoTrabalhoEnviado()) | 176 | + questionario.setRelatorioAnexado(false); |
177 | + } | ||
178 | + | ||
179 | + | ||
180 | + if(statusPlanoTrabalho.equalsIgnoreCase("todos") && relatorioAnexado.equalsIgnoreCase("todos")) | ||
181 | + { | ||
182 | + listaQuestionario.add(questionario); | ||
183 | + } | ||
184 | + else | ||
185 | + { | ||
186 | + if(statusPlanoTrabalho.equalsIgnoreCase("sim") && questionario.isPlanoTrabalhoAnexado()) | ||
138 | { | 187 | { |
139 | - listaQuestionario.add(questionario); | 188 | + if(relatorioAnexado.equalsIgnoreCase("sim") && questionario.isRelatorioAnexado()) |
189 | + { | ||
190 | + listaQuestionario.add(questionario); | ||
191 | + } | ||
192 | + else if(relatorioAnexado.equalsIgnoreCase("todos")) | ||
193 | + { | ||
194 | + listaQuestionario.add(questionario); | ||
195 | + } | ||
196 | + else if(relatorioAnexado.equalsIgnoreCase("nao") && !questionario.isRelatorioAnexado()) | ||
197 | + { | ||
198 | + listaQuestionario.add(questionario); | ||
199 | + } | ||
140 | } | 200 | } |
141 | - else if(statusPlanoTrabalho.equalsIgnoreCase("nao") && !questionario.isPlanoTrabalhoEnviado()) | 201 | + else if(statusPlanoTrabalho.equalsIgnoreCase("nao") && !questionario.isPlanoTrabalhoAnexado()) |
202 | + { | ||
203 | + if(relatorioAnexado.equalsIgnoreCase("sim") && questionario.isRelatorioAnexado()) | ||
204 | + { | ||
205 | + listaQuestionario.add(questionario); | ||
206 | + } else if(relatorioAnexado.equalsIgnoreCase("todos")) | ||
207 | + { | ||
208 | + listaQuestionario.add(questionario); | ||
209 | + } | ||
210 | + else if(relatorioAnexado.equalsIgnoreCase("nao") && !questionario.isRelatorioAnexado()) | ||
211 | + { | ||
212 | + listaQuestionario.add(questionario); | ||
213 | + } | ||
214 | + }else if(statusPlanoTrabalho.equalsIgnoreCase("todos")) | ||
142 | { | 215 | { |
143 | - listaQuestionario.add(questionario); | 216 | + if(relatorioAnexado.equalsIgnoreCase("sim") && questionario.isRelatorioAnexado()) |
217 | + { | ||
218 | + listaQuestionario.add(questionario); | ||
219 | + } | ||
220 | + else if(relatorioAnexado.equalsIgnoreCase("nao") && !questionario.isRelatorioAnexado()) | ||
221 | + { | ||
222 | + listaQuestionario.add(questionario); | ||
223 | + } | ||
144 | } | 224 | } |
145 | } | 225 | } |
146 | 226 |
src/br/com/model/entity/PlanoTrabalho.java
@@ -7,6 +7,8 @@ public class PlanoTrabalho { | @@ -7,6 +7,8 @@ public class PlanoTrabalho { | ||
7 | private String nomeExtensaoPlanoTrabalho; | 7 | private String nomeExtensaoPlanoTrabalho; |
8 | private byte[] arquivoRelatorioAss; | 8 | private byte[] arquivoRelatorioAss; |
9 | private String nomeExtensaoRelatorioAss; | 9 | private String nomeExtensaoRelatorioAss; |
10 | + private String nomePlanoTrabalho; | ||
11 | + private String nomeRelatorioAss; | ||
10 | private Questionario questionario; | 12 | private Questionario questionario; |
11 | 13 | ||
12 | public int getIdPlanoTrabalho() { | 14 | public int getIdPlanoTrabalho() { |
@@ -47,5 +49,19 @@ public class PlanoTrabalho { | @@ -47,5 +49,19 @@ public class PlanoTrabalho { | ||
47 | public void setNomeExtensaoRelatorioAss(String nomeExtensaoRelatorioAss) { | 49 | public void setNomeExtensaoRelatorioAss(String nomeExtensaoRelatorioAss) { |
48 | this.nomeExtensaoRelatorioAss = nomeExtensaoRelatorioAss; | 50 | this.nomeExtensaoRelatorioAss = nomeExtensaoRelatorioAss; |
49 | } | 51 | } |
52 | + public String getNomePlanoTrabalho() { | ||
53 | + return nomePlanoTrabalho; | ||
54 | + } | ||
55 | + public void setNomePlanoTrabalho(String nomePlanoTrabalho) { | ||
56 | + this.nomePlanoTrabalho = nomePlanoTrabalho; | ||
57 | + } | ||
58 | + public String getNomeRelatorioAss() { | ||
59 | + return nomeRelatorioAss; | ||
60 | + } | ||
61 | + public void setNomeRelatorioAss(String nomeRelatorioAss) { | ||
62 | + this.nomeRelatorioAss = nomeRelatorioAss; | ||
63 | + } | ||
64 | + | ||
65 | + | ||
50 | 66 | ||
51 | } | 67 | } |
src/br/com/model/entity/Questionario.java
@@ -22,7 +22,8 @@ public class Questionario { | @@ -22,7 +22,8 @@ public class Questionario { | ||
22 | private String dtRecebimentoEmail; | 22 | private String dtRecebimentoEmail; |
23 | private String dtRespostaEmail; | 23 | private String dtRespostaEmail; |
24 | private String dataRespostaQuestionario; | 24 | private String dataRespostaQuestionario; |
25 | - private boolean planoTrabalhoEnviado; | 25 | + private boolean planoTrabalhoAnexado; |
26 | + private boolean RelatorioAnexado; | ||
26 | private boolean flagEnviado; | 27 | private boolean flagEnviado; |
27 | 28 | ||
28 | 29 | ||
@@ -174,12 +175,12 @@ public class Questionario { | @@ -174,12 +175,12 @@ public class Questionario { | ||
174 | this.dataRespostaQuestionario = dataRespostaQuestionario; | 175 | this.dataRespostaQuestionario = dataRespostaQuestionario; |
175 | } | 176 | } |
176 | 177 | ||
177 | - public boolean isPlanoTrabalhoEnviado() { | ||
178 | - return planoTrabalhoEnviado; | 178 | + public boolean isPlanoTrabalhoAnexado() { |
179 | + return planoTrabalhoAnexado; | ||
179 | } | 180 | } |
180 | 181 | ||
181 | - public void setPlanoTrabalhoEnviado(boolean planoTrabalhoEnviado) { | ||
182 | - this.planoTrabalhoEnviado = planoTrabalhoEnviado; | 182 | + public void setPlanoTrabalhoAnexado(boolean planoTrabalhoAnexado) { |
183 | + this.planoTrabalhoAnexado = planoTrabalhoAnexado; | ||
183 | } | 184 | } |
184 | 185 | ||
185 | public boolean isFlagEnviado() { | 186 | public boolean isFlagEnviado() { |
@@ -190,6 +191,14 @@ public class Questionario { | @@ -190,6 +191,14 @@ public class Questionario { | ||
190 | this.flagEnviado = flagEnviado; | 191 | this.flagEnviado = flagEnviado; |
191 | } | 192 | } |
192 | 193 | ||
194 | + public boolean isRelatorioAnexado() { | ||
195 | + return RelatorioAnexado; | ||
196 | + } | ||
197 | + | ||
198 | + public void setRelatorioAnexado(boolean relatorioAnexado) { | ||
199 | + RelatorioAnexado = relatorioAnexado; | ||
200 | + } | ||
201 | + | ||
193 | 202 | ||
194 | 203 | ||
195 | } | 204 | } |