Commit 5dfda88b9cce1e1565f746f195b7ee989dba8551
1 parent
4e92bdfd
Exists in
master
Correções!
Showing
4 changed files
with
122 additions
and
31 deletions
Show diff stats
WebContent/WEB-INF/jsp/questionario/questionario.jsp
@@ -39,8 +39,7 @@ table, th, td { | @@ -39,8 +39,7 @@ table, th, td { | ||
39 | <br> <label for=>Data Recebimento Email: </label> <input | 39 | <br> <label for=>Data Recebimento Email: </label> <input |
40 | type="date" id="dataRecebimentoEmail" name="dataRecebimentoEmail" | 40 | type="date" id="dataRecebimentoEmail" name="dataRecebimentoEmail" |
41 | onload="pegarDataAtual()"><br> | 41 | onload="pegarDataAtual()"><br> |
42 | - <br> <label for=>Data Resposta Email: </label> <input | ||
43 | - type="date" id="dataRespostaEmail" name="dataRespostaEmail"><br> | 42 | + |
44 | <br> <input type="submit" value="Salvar"> | 43 | <br> <input type="submit" value="Salvar"> |
45 | </fieldset> | 44 | </fieldset> |
46 | </form> | 45 | </form> |
@@ -51,6 +50,7 @@ table, th, td { | @@ -51,6 +50,7 @@ table, th, td { | ||
51 | <th>Orgão</th> | 50 | <th>Orgão</th> |
52 | <th>Responsável</th> | 51 | <th>Responsável</th> |
53 | <th>Cargo</th> | 52 | <th>Cargo</th> |
53 | + <th>Telefone</th> | ||
54 | <th>Email</th> | 54 | <th>Email</th> |
55 | <th>Recebimento Email</th> | 55 | <th>Recebimento Email</th> |
56 | <th>Resposta Email</th> | 56 | <th>Resposta Email</th> |
@@ -67,24 +67,25 @@ table, th, td { | @@ -67,24 +67,25 @@ table, th, td { | ||
67 | <td>${questionario.noOrgao}</td> | 67 | <td>${questionario.noOrgao}</td> |
68 | <td>${questionario.responsavel}</td> | 68 | <td>${questionario.responsavel}</td> |
69 | <td>${questionario.cargoResponsavel}</td> | 69 | <td>${questionario.cargoResponsavel}</td> |
70 | + <td>${questionario.telefone}</td> | ||
70 | <td>${questionario.emailDestinoOrgao}</td> | 71 | <td>${questionario.emailDestinoOrgao}</td> |
71 | <td>${questionario.dtRecebimentoEmail}</td> | 72 | <td>${questionario.dtRecebimentoEmail}</td> |
72 | <td>${questionario.dtRespostaEmail}</td> | 73 | <td>${questionario.dtRespostaEmail}</td> |
73 | <td>${questionario.dataRespostaQuestionario}</td> | 74 | <td>${questionario.dataRespostaQuestionario}</td> |
74 | 75 | ||
75 | <c:if test="${not empty questionario.dataRespostaQuestionario}"> | 76 | <c:if test="${not empty questionario.dataRespostaQuestionario}"> |
76 | - <td><input type="checkbox" checked="checked"> </td> | 77 | + <td><input type="checkbox" checked="checked" disabled="disabled"> </td> |
77 | </c:if> | 78 | </c:if> |
78 | <c:if test="${empty questionario.dataRespostaQuestionario}"> | 79 | <c:if test="${empty questionario.dataRespostaQuestionario}"> |
79 | - <td><input type="checkbox"> </td> | 80 | + <td><input type="checkbox" disabled="disabled"> </td> |
80 | </c:if> | 81 | </c:if> |
81 | 82 | ||
82 | 83 | ||
83 | <c:if test="${questionario.planoTrabalhoEnviado == true}"> | 84 | <c:if test="${questionario.planoTrabalhoEnviado == true}"> |
84 | - <td><input type="checkbox" checked="checked"> </td> | 85 | + <td><input type="checkbox" checked="checked" disabled="disabled"> </td> |
85 | </c:if> | 86 | </c:if> |
86 | <c:if test="${questionario.planoTrabalhoEnviado == false}"> | 87 | <c:if test="${questionario.planoTrabalhoEnviado == false}"> |
87 | - <td><input type="checkbox"> </td> | 88 | + <td><input type="checkbox" disabled="disabled"> </td> |
88 | </c:if> | 89 | </c:if> |
89 | 90 | ||
90 | </tr> | 91 | </tr> |
src/br/com/controller/QuestionarioController.java
@@ -62,8 +62,7 @@ public class QuestionarioController { | @@ -62,8 +62,7 @@ public class QuestionarioController { | ||
62 | 62 | ||
63 | @Path("/salvar-questionario") | 63 | @Path("/salvar-questionario") |
64 | public void questionarioSalvar(String autorizacao, String noOrgao, String nomeResponsavel, | 64 | public void questionarioSalvar(String autorizacao, String noOrgao, String nomeResponsavel, |
65 | - String cargoResponsavel, String emailDestinoOrgao, String telefoneResponsavel, String dataRecebimentoEmail, | ||
66 | - String dataRespostaEmail) { | 65 | + String cargoResponsavel, String emailDestinoOrgao, String telefoneResponsavel, String dataRecebimentoEmail) { |
67 | 66 | ||
68 | 67 | ||
69 | AutorizacaoGeracaoHashDao autorizacaoGeracaoHashDao = new AutorizacaoGeracaoHashDao(); | 68 | AutorizacaoGeracaoHashDao autorizacaoGeracaoHashDao = new AutorizacaoGeracaoHashDao(); |
@@ -118,17 +117,19 @@ public class QuestionarioController { | @@ -118,17 +117,19 @@ public class QuestionarioController { | ||
118 | Validacao validate = new Validacao(); | 117 | Validacao validate = new Validacao(); |
119 | 118 | ||
120 | questionario.setDtRecebimentoEmail(dataRecebimentoEmail); | 119 | questionario.setDtRecebimentoEmail(dataRecebimentoEmail); |
121 | - questionario.setDtRespostaEmail(dataRespostaEmail); | ||
122 | questionario.setIdAutorizacaoGeracaoHash(idAutorizacaoGeracaoHash); | 120 | questionario.setIdAutorizacaoGeracaoHash(idAutorizacaoGeracaoHash); |
123 | 121 | ||
124 | QuestionarioDao questionarioDao = new QuestionarioDao(); | 122 | QuestionarioDao questionarioDao = new QuestionarioDao(); |
125 | // List<String> corpoEmail = new ArrayList<String>(); | 123 | // List<String> corpoEmail = new ArrayList<String>(); |
126 | - if (questionarioDao.salvarQuestionario(path, questionario)) { | 124 | + |
125 | + int idQuestionario = questionarioDao.salvarQuestionario(path, questionario); | ||
126 | + | ||
127 | + if (idQuestionario > -1) { | ||
127 | 128 | ||
128 | StringBuffer mensagem = new StringBuffer(); | 129 | StringBuffer mensagem = new StringBuffer(); |
129 | 130 | ||
130 | mensagem.append("Prezado(a),</br>"); | 131 | mensagem.append("Prezado(a),</br>"); |
131 | - mensagem.append("<p>Senhor(a) " + nomeResponsavel + ", " + cargoResponsavel + ", do " | 132 | + mensagem.append("<p>Senhor(a) " + nomeResponsavel + ", " + cargoResponsavel + ", do(a) " |
132 | + noOrgao + ", conforme solicitado, o acesso "); | 133 | + noOrgao + ", conforme solicitado, o acesso "); |
133 | mensagem.append("ao FAD para o preenchimento de informações sobre a atual situação da "); | 134 | mensagem.append("ao FAD para o preenchimento de informações sobre a atual situação da "); |
134 | mensagem | 135 | mensagem |
@@ -177,7 +178,15 @@ public class QuestionarioController { | @@ -177,7 +178,15 @@ public class QuestionarioController { | ||
177 | contato.setNome(nomeResponsavel); | 178 | contato.setNome(nomeResponsavel); |
178 | 179 | ||
179 | if (enviarHashPorEmail(contato)) { | 180 | if (enviarHashPorEmail(contato)) { |
180 | - mensagemEnvio = "Questionário salvo e enviado por email com suceso!"; | 181 | + if(questionarioDao.atualizarDataRespostaQuestionario(path, idQuestionario)) |
182 | + { | ||
183 | + mensagemEnvio = "Questionário salvo e enviado por email com suceso!"; | ||
184 | + } | ||
185 | + else | ||
186 | + { | ||
187 | + mensagemEnvio = "Questionário salvo e enviado por email, mas, não foi possível atualizar a data de resposta!"; | ||
188 | + } | ||
189 | + | ||
181 | } else { | 190 | } else { |
182 | mensagemEnvio = "Questionário salvo, mas não foi possível enviar email!"; | 191 | mensagemEnvio = "Questionário salvo, mas não foi possível enviar email!"; |
183 | } | 192 | } |
src/br/com/dao/QuestionarioDao.java
@@ -29,13 +29,18 @@ public class QuestionarioDao { | @@ -29,13 +29,18 @@ public class QuestionarioDao { | ||
29 | 29 | ||
30 | ResultSet rset = null; | 30 | ResultSet rset = null; |
31 | Questionario questionario; | 31 | Questionario questionario; |
32 | - RespostaQuestionarioDao respostaQuestionarioDao = new RespostaQuestionarioDao(); | ||
33 | - PlanoTrabalhoDao planoTrabalhoDao = new PlanoTrabalhoDao(); | 32 | + RespostaQuestionarioDao respostaQuestionarioDao; |
33 | + PlanoTrabalhoDao planoTrabalhoDao; | ||
34 | 34 | ||
35 | rset = retornarQuestionario(path); | 35 | rset = retornarQuestionario(path); |
36 | + String dataRespostaQuestionario = ""; | ||
36 | try { | 37 | try { |
37 | while (rset.next()) { | 38 | while (rset.next()) { |
39 | + dataRespostaQuestionario = ""; | ||
40 | + | ||
38 | questionario = new Questionario(); | 41 | questionario = new Questionario(); |
42 | + respostaQuestionarioDao = new RespostaQuestionarioDao(); | ||
43 | + planoTrabalhoDao = new PlanoTrabalhoDao(); | ||
39 | 44 | ||
40 | questionario.setIdQuestionario(rset.getInt("id_questionario")); | 45 | questionario.setIdQuestionario(rset.getInt("id_questionario")); |
41 | questionario.setDtInicioQuestionario(DateUtil.dataHoraFormatadaDiaMesAno(rset.getString("dt_inicio_questionario"))); | 46 | questionario.setDtInicioQuestionario(DateUtil.dataHoraFormatadaDiaMesAno(rset.getString("dt_inicio_questionario"))); |
@@ -49,7 +54,17 @@ public class QuestionarioDao { | @@ -49,7 +54,17 @@ public class QuestionarioDao { | ||
49 | questionario.setTelefone(rset.getString("telefone")); | 54 | questionario.setTelefone(rset.getString("telefone")); |
50 | questionario.setIdAutorizacaoGeracaoHash(rset.getInt("idAutorizacao")); | 55 | questionario.setIdAutorizacaoGeracaoHash(rset.getInt("idAutorizacao")); |
51 | questionario.setDtRecebimentoEmail(DateUtil.dataHoraFormatadaDiaMesAno(rset.getString("data_recebimento_email"))); | 56 | questionario.setDtRecebimentoEmail(DateUtil.dataHoraFormatadaDiaMesAno(rset.getString("data_recebimento_email"))); |
52 | - questionario.setDtRespostaEmail(DateUtil.dataHoraFormatadaDiaMesAno(rset.getString("data_resposta_email"))); | 57 | + |
58 | + dataRespostaQuestionario = rset.getString("data_resposta_email"); | ||
59 | + if(dataRespostaQuestionario != null) | ||
60 | + { | ||
61 | + questionario.setDtRespostaEmail(DateUtil.dataHoraFormatadaDiaMesAnoComParametro(dataRespostaQuestionario)); | ||
62 | + } | ||
63 | + else | ||
64 | + { | ||
65 | + questionario.setDtRespostaEmail(dataRespostaQuestionario); | ||
66 | + } | ||
67 | + | ||
53 | 68 | ||
54 | 69 | ||
55 | questionario.setDataRespostaQuestionario(respostaQuestionarioDao.verificaRespostaQuestionario(path, rset.getInt("id_questionario"))); | 70 | questionario.setDataRespostaQuestionario(respostaQuestionarioDao.verificaRespostaQuestionario(path, rset.getInt("id_questionario"))); |
@@ -97,6 +112,47 @@ public class QuestionarioDao { | @@ -97,6 +112,47 @@ public class QuestionarioDao { | ||
97 | } | 112 | } |
98 | 113 | ||
99 | } | 114 | } |
115 | + | ||
116 | + public boolean atualizarDataRespostaQuestionario(String path, int idQuestionario) | ||
117 | + { | ||
118 | + | ||
119 | + StringBuffer sql = new StringBuffer(); | ||
120 | + Connection con = Conexao.conecta(path); | ||
121 | + PreparedStatement estado; | ||
122 | + int resultado = 0; | ||
123 | + boolean salvoComSucesso = false; | ||
124 | + | ||
125 | + | ||
126 | + | ||
127 | + try { | ||
128 | + | ||
129 | + Date dtRespostaEmail = new Date(); | ||
130 | + java.sql.Date sqlDtRespostaEmail = new java.sql.Date(dtRespostaEmail.getTime()); | ||
131 | + | ||
132 | + | ||
133 | + sql = new StringBuffer(); | ||
134 | + sql.append(" UPDATE public.questionario SET data_resposta_email=(SELECT NOW()) WHERE id_questionario = ?; "); | ||
135 | + | ||
136 | + estado = con.prepareStatement(sql.toString()); | ||
137 | + | ||
138 | + estado.setInt(1, idQuestionario); | ||
139 | + | ||
140 | + resultado = estado.executeUpdate(); | ||
141 | + | ||
142 | + if (resultado == 0) { | ||
143 | + salvoComSucesso = false; | ||
144 | + } else { | ||
145 | + | ||
146 | + salvoComSucesso = true; | ||
147 | + } | ||
148 | + | ||
149 | + } catch (SQLException e) { | ||
150 | + | ||
151 | + e.printStackTrace(); | ||
152 | + } | ||
153 | + | ||
154 | + return salvoComSucesso; | ||
155 | + } | ||
100 | 156 | ||
101 | 157 | ||
102 | public ResultSet retornarQuestionarioPorId(String path, int idQuestionario) { | 158 | public ResultSet retornarQuestionarioPorId(String path, int idQuestionario) { |
@@ -132,18 +188,18 @@ public class QuestionarioDao { | @@ -132,18 +188,18 @@ public class QuestionarioDao { | ||
132 | 188 | ||
133 | } | 189 | } |
134 | 190 | ||
191 | + | ||
135 | 192 | ||
136 | - | ||
137 | - public boolean salvarQuestionario(String path, Questionario questionario) { | 193 | + public int salvarQuestionario(String path, Questionario questionario) { |
138 | 194 | ||
139 | //File file = new File(caminhoArquivo); | 195 | //File file = new File(caminhoArquivo); |
140 | 196 | ||
141 | Connection con = null; | 197 | Connection con = null; |
142 | con = Conexao.conecta(path); | 198 | con = Conexao.conecta(path); |
143 | - int resultado = 0; | 199 | + int resultado = -1; |
144 | StringBuffer sql; | 200 | StringBuffer sql; |
145 | 201 | ||
146 | - boolean salvoComSucesso = false; | 202 | + //boolean salvoComSucesso = false; |
147 | 203 | ||
148 | try { | 204 | try { |
149 | 205 | ||
@@ -152,12 +208,12 @@ public class QuestionarioDao { | @@ -152,12 +208,12 @@ public class QuestionarioDao { | ||
152 | Date dtInicioQuestionario = DateUtil.dataFormatada(questionario.getDtInicioQuestionario()); | 208 | Date dtInicioQuestionario = DateUtil.dataFormatada(questionario.getDtInicioQuestionario()); |
153 | Date dtFimQuestionario = DateUtil.dataFormatada(questionario.getDtFimQuestionario()); | 209 | Date dtFimQuestionario = DateUtil.dataFormatada(questionario.getDtFimQuestionario()); |
154 | Date dtRecebimentoEmail = DateUtil.dataFormatada(questionario.getDtRecebimentoEmail()); | 210 | Date dtRecebimentoEmail = DateUtil.dataFormatada(questionario.getDtRecebimentoEmail()); |
155 | - Date dtRespostaEmail = DateUtil.dataFormatada(questionario.getDtRespostaEmail()); | 211 | + //Date dtRespostaEmail = new Date(); |
156 | 212 | ||
157 | java.sql.Date sqlDtInicioQuestionario = new java.sql.Date(dtInicioQuestionario.getTime()); | 213 | java.sql.Date sqlDtInicioQuestionario = new java.sql.Date(dtInicioQuestionario.getTime()); |
158 | java.sql.Date sqlDtFimQuestionario = new java.sql.Date(dtFimQuestionario.getTime()); | 214 | java.sql.Date sqlDtFimQuestionario = new java.sql.Date(dtFimQuestionario.getTime()); |
159 | java.sql.Date sqlDtRecebimentoEmail = new java.sql.Date(dtRecebimentoEmail.getTime()); | 215 | java.sql.Date sqlDtRecebimentoEmail = new java.sql.Date(dtRecebimentoEmail.getTime()); |
160 | - java.sql.Date sqlDtRespostaEmail = new java.sql.Date(dtRespostaEmail.getTime()); | 216 | + //java.sql.Date sqlDtRespostaEmail = new java.sql.Date(dtRespostaEmail.getTime()); |
161 | 217 | ||
162 | if (con != null) { | 218 | if (con != null) { |
163 | 219 | ||
@@ -166,12 +222,13 @@ public class QuestionarioDao { | @@ -166,12 +222,13 @@ public class QuestionarioDao { | ||
166 | sql.append(" dt_inicio_questionario, dt_fim_questionario, "); | 222 | sql.append(" dt_inicio_questionario, dt_fim_questionario, "); |
167 | sql.append(" no_orgao, hash_autenticacao, questionario_respondido, email_destino_orgao, "); | 223 | sql.append(" no_orgao, hash_autenticacao, questionario_respondido, email_destino_orgao, "); |
168 | sql.append(" responsavel, cargo_responsavel, telefone, idAutorizacao, "); | 224 | sql.append(" responsavel, cargo_responsavel, telefone, idAutorizacao, "); |
169 | - sql.append(" data_recebimento_email, data_resposta_email) "); | ||
170 | - sql.append(" VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);"); | 225 | + sql.append(" data_recebimento_email) "); |
226 | + sql.append(" VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);"); | ||
171 | 227 | ||
172 | 228 | ||
173 | // cria statement para executar a query | 229 | // cria statement para executar a query |
174 | - PreparedStatement estado = con.prepareStatement(sql.toString()); | 230 | + PreparedStatement estado = con.prepareStatement(sql.toString(), Statement.RETURN_GENERATED_KEYS); |
231 | + | ||
175 | estado.setDate(1, sqlDtInicioQuestionario); | 232 | estado.setDate(1, sqlDtInicioQuestionario); |
176 | estado.setDate(2, sqlDtFimQuestionario); | 233 | estado.setDate(2, sqlDtFimQuestionario); |
177 | estado.setString(3, questionario.getNoOrgao()); | 234 | estado.setString(3, questionario.getNoOrgao()); |
@@ -183,26 +240,33 @@ public class QuestionarioDao { | @@ -183,26 +240,33 @@ public class QuestionarioDao { | ||
183 | estado.setString(9, questionario.getTelefone()); | 240 | estado.setString(9, questionario.getTelefone()); |
184 | estado.setInt(10, questionario.getIdAutorizacaoGeracaoHash()); | 241 | estado.setInt(10, questionario.getIdAutorizacaoGeracaoHash()); |
185 | estado.setDate(11, sqlDtRecebimentoEmail); | 242 | estado.setDate(11, sqlDtRecebimentoEmail); |
186 | - estado.setDate(12, sqlDtRespostaEmail); | 243 | + //estado.setDate(12, sqlDtRespostaEmail); |
187 | 244 | ||
188 | - resultado = estado.executeUpdate(); | 245 | + //resultado = estado.executeUpdate(); |
189 | 246 | ||
190 | - if (resultado == 0) { | 247 | + estado.executeUpdate(); |
248 | + ResultSet rs = estado.getGeneratedKeys(); | ||
249 | + | ||
250 | + if (rs.next()) { | ||
251 | + resultado = rs.getInt("id_questionario"); | ||
252 | + } | ||
253 | + | ||
254 | + /* if (resultado == 0) { | ||
191 | salvoComSucesso = false; | 255 | salvoComSucesso = false; |
192 | } else { | 256 | } else { |
193 | 257 | ||
194 | salvoComSucesso = true; | 258 | salvoComSucesso = true; |
195 | - } | 259 | + }*/ |
196 | } | 260 | } |
197 | 261 | ||
198 | - return salvoComSucesso; | 262 | + return resultado; |
199 | 263 | ||
200 | } catch (SQLException e) { | 264 | } catch (SQLException e) { |
201 | e.printStackTrace(); | 265 | e.printStackTrace(); |
202 | - return salvoComSucesso; | 266 | + return resultado; |
203 | } catch (ParseException e) { | 267 | } catch (ParseException e) { |
204 | e.printStackTrace(); | 268 | e.printStackTrace(); |
205 | - return salvoComSucesso; | 269 | + return resultado; |
206 | } finally { | 270 | } finally { |
207 | if (con != null) { | 271 | if (con != null) { |
208 | try { | 272 | try { |
src/br/com/util/DateUtil.java
@@ -12,6 +12,7 @@ public class DateUtil { | @@ -12,6 +12,7 @@ public class DateUtil { | ||
12 | return dateFormat.format(new Date()); | 12 | return dateFormat.format(new Date()); |
13 | } | 13 | } |
14 | 14 | ||
15 | + | ||
15 | public static Date dataFormatada(String data) throws ParseException { | 16 | public static Date dataFormatada(String data) throws ParseException { |
16 | DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); | 17 | DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); |
17 | Date dataFormatada = dateFormat.parse(data); | 18 | Date dataFormatada = dateFormat.parse(data); |
@@ -36,6 +37,22 @@ public class DateUtil { | @@ -36,6 +37,22 @@ public class DateUtil { | ||
36 | return dataFormatadaCorreta; | 37 | return dataFormatadaCorreta; |
37 | } | 38 | } |
38 | 39 | ||
40 | + public static String dataHoraFormatadaDiaMesAnoComParametro(String dataParametro) { | ||
41 | + | ||
42 | + Date dataParametroConvertida = new Date(); | ||
39 | 43 | ||
44 | + SimpleDateFormat dataFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); | ||
45 | + SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss"); | ||
46 | + String dataFormatadaCorreta = null; | ||
47 | + | ||
48 | + try { | ||
49 | + dataParametroConvertida = dataFormat.parse(dataParametro); | ||
50 | + dataFormatadaCorreta = sdf.format(dataParametroConvertida); | ||
51 | + } catch (ParseException e) { | ||
52 | + e.printStackTrace(); | ||
53 | + } | ||
54 | + | ||
55 | + return dataFormatadaCorreta; | ||
56 | + } | ||
40 | 57 | ||
41 | } | 58 | } |