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 | 39 | <br> <label for=>Data Recebimento Email: </label> <input |
40 | 40 | type="date" id="dataRecebimentoEmail" name="dataRecebimentoEmail" |
41 | 41 | onload="pegarDataAtual()"><br> |
42 | - <br> <label for=>Data Resposta Email: </label> <input | |
43 | - type="date" id="dataRespostaEmail" name="dataRespostaEmail"><br> | |
42 | + | |
44 | 43 | <br> <input type="submit" value="Salvar"> |
45 | 44 | </fieldset> |
46 | 45 | </form> |
... | ... | @@ -51,6 +50,7 @@ table, th, td { |
51 | 50 | <th>Orgão</th> |
52 | 51 | <th>Responsável</th> |
53 | 52 | <th>Cargo</th> |
53 | + <th>Telefone</th> | |
54 | 54 | <th>Email</th> |
55 | 55 | <th>Recebimento Email</th> |
56 | 56 | <th>Resposta Email</th> |
... | ... | @@ -67,24 +67,25 @@ table, th, td { |
67 | 67 | <td>${questionario.noOrgao}</td> |
68 | 68 | <td>${questionario.responsavel}</td> |
69 | 69 | <td>${questionario.cargoResponsavel}</td> |
70 | + <td>${questionario.telefone}</td> | |
70 | 71 | <td>${questionario.emailDestinoOrgao}</td> |
71 | 72 | <td>${questionario.dtRecebimentoEmail}</td> |
72 | 73 | <td>${questionario.dtRespostaEmail}</td> |
73 | 74 | <td>${questionario.dataRespostaQuestionario}</td> |
74 | 75 | |
75 | 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 | 78 | </c:if> |
78 | 79 | <c:if test="${empty questionario.dataRespostaQuestionario}"> |
79 | - <td><input type="checkbox"> </td> | |
80 | + <td><input type="checkbox" disabled="disabled"> </td> | |
80 | 81 | </c:if> |
81 | 82 | |
82 | 83 | |
83 | 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 | 86 | </c:if> |
86 | 87 | <c:if test="${questionario.planoTrabalhoEnviado == false}"> |
87 | - <td><input type="checkbox"> </td> | |
88 | + <td><input type="checkbox" disabled="disabled"> </td> | |
88 | 89 | </c:if> |
89 | 90 | |
90 | 91 | </tr> | ... | ... |
src/br/com/controller/QuestionarioController.java
... | ... | @@ -62,8 +62,7 @@ public class QuestionarioController { |
62 | 62 | |
63 | 63 | @Path("/salvar-questionario") |
64 | 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 | 68 | AutorizacaoGeracaoHashDao autorizacaoGeracaoHashDao = new AutorizacaoGeracaoHashDao(); |
... | ... | @@ -118,17 +117,19 @@ public class QuestionarioController { |
118 | 117 | Validacao validate = new Validacao(); |
119 | 118 | |
120 | 119 | questionario.setDtRecebimentoEmail(dataRecebimentoEmail); |
121 | - questionario.setDtRespostaEmail(dataRespostaEmail); | |
122 | 120 | questionario.setIdAutorizacaoGeracaoHash(idAutorizacaoGeracaoHash); |
123 | 121 | |
124 | 122 | QuestionarioDao questionarioDao = new QuestionarioDao(); |
125 | 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 | 129 | StringBuffer mensagem = new StringBuffer(); |
129 | 130 | |
130 | 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 | 133 | + noOrgao + ", conforme solicitado, o acesso "); |
133 | 134 | mensagem.append("ao FAD para o preenchimento de informações sobre a atual situação da "); |
134 | 135 | mensagem |
... | ... | @@ -177,7 +178,15 @@ public class QuestionarioController { |
177 | 178 | contato.setNome(nomeResponsavel); |
178 | 179 | |
179 | 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 | 190 | } else { |
182 | 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 | 29 | |
30 | 30 | ResultSet rset = null; |
31 | 31 | Questionario questionario; |
32 | - RespostaQuestionarioDao respostaQuestionarioDao = new RespostaQuestionarioDao(); | |
33 | - PlanoTrabalhoDao planoTrabalhoDao = new PlanoTrabalhoDao(); | |
32 | + RespostaQuestionarioDao respostaQuestionarioDao; | |
33 | + PlanoTrabalhoDao planoTrabalhoDao; | |
34 | 34 | |
35 | 35 | rset = retornarQuestionario(path); |
36 | + String dataRespostaQuestionario = ""; | |
36 | 37 | try { |
37 | 38 | while (rset.next()) { |
39 | + dataRespostaQuestionario = ""; | |
40 | + | |
38 | 41 | questionario = new Questionario(); |
42 | + respostaQuestionarioDao = new RespostaQuestionarioDao(); | |
43 | + planoTrabalhoDao = new PlanoTrabalhoDao(); | |
39 | 44 | |
40 | 45 | questionario.setIdQuestionario(rset.getInt("id_questionario")); |
41 | 46 | questionario.setDtInicioQuestionario(DateUtil.dataHoraFormatadaDiaMesAno(rset.getString("dt_inicio_questionario"))); |
... | ... | @@ -49,7 +54,17 @@ public class QuestionarioDao { |
49 | 54 | questionario.setTelefone(rset.getString("telefone")); |
50 | 55 | questionario.setIdAutorizacaoGeracaoHash(rset.getInt("idAutorizacao")); |
51 | 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 | 70 | questionario.setDataRespostaQuestionario(respostaQuestionarioDao.verificaRespostaQuestionario(path, rset.getInt("id_questionario"))); |
... | ... | @@ -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 | 158 | public ResultSet retornarQuestionarioPorId(String path, int idQuestionario) { |
... | ... | @@ -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 | 195 | //File file = new File(caminhoArquivo); |
140 | 196 | |
141 | 197 | Connection con = null; |
142 | 198 | con = Conexao.conecta(path); |
143 | - int resultado = 0; | |
199 | + int resultado = -1; | |
144 | 200 | StringBuffer sql; |
145 | 201 | |
146 | - boolean salvoComSucesso = false; | |
202 | + //boolean salvoComSucesso = false; | |
147 | 203 | |
148 | 204 | try { |
149 | 205 | |
... | ... | @@ -152,12 +208,12 @@ public class QuestionarioDao { |
152 | 208 | Date dtInicioQuestionario = DateUtil.dataFormatada(questionario.getDtInicioQuestionario()); |
153 | 209 | Date dtFimQuestionario = DateUtil.dataFormatada(questionario.getDtFimQuestionario()); |
154 | 210 | Date dtRecebimentoEmail = DateUtil.dataFormatada(questionario.getDtRecebimentoEmail()); |
155 | - Date dtRespostaEmail = DateUtil.dataFormatada(questionario.getDtRespostaEmail()); | |
211 | + //Date dtRespostaEmail = new Date(); | |
156 | 212 | |
157 | 213 | java.sql.Date sqlDtInicioQuestionario = new java.sql.Date(dtInicioQuestionario.getTime()); |
158 | 214 | java.sql.Date sqlDtFimQuestionario = new java.sql.Date(dtFimQuestionario.getTime()); |
159 | 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 | 218 | if (con != null) { |
163 | 219 | |
... | ... | @@ -166,12 +222,13 @@ public class QuestionarioDao { |
166 | 222 | sql.append(" dt_inicio_questionario, dt_fim_questionario, "); |
167 | 223 | sql.append(" no_orgao, hash_autenticacao, questionario_respondido, email_destino_orgao, "); |
168 | 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 | 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 | 232 | estado.setDate(1, sqlDtInicioQuestionario); |
176 | 233 | estado.setDate(2, sqlDtFimQuestionario); |
177 | 234 | estado.setString(3, questionario.getNoOrgao()); |
... | ... | @@ -183,26 +240,33 @@ public class QuestionarioDao { |
183 | 240 | estado.setString(9, questionario.getTelefone()); |
184 | 241 | estado.setInt(10, questionario.getIdAutorizacaoGeracaoHash()); |
185 | 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 | 255 | salvoComSucesso = false; |
192 | 256 | } else { |
193 | 257 | |
194 | 258 | salvoComSucesso = true; |
195 | - } | |
259 | + }*/ | |
196 | 260 | } |
197 | 261 | |
198 | - return salvoComSucesso; | |
262 | + return resultado; | |
199 | 263 | |
200 | 264 | } catch (SQLException e) { |
201 | 265 | e.printStackTrace(); |
202 | - return salvoComSucesso; | |
266 | + return resultado; | |
203 | 267 | } catch (ParseException e) { |
204 | 268 | e.printStackTrace(); |
205 | - return salvoComSucesso; | |
269 | + return resultado; | |
206 | 270 | } finally { |
207 | 271 | if (con != null) { |
208 | 272 | try { | ... | ... |
src/br/com/util/DateUtil.java
... | ... | @@ -12,6 +12,7 @@ public class DateUtil { |
12 | 12 | return dateFormat.format(new Date()); |
13 | 13 | } |
14 | 14 | |
15 | + | |
15 | 16 | public static Date dataFormatada(String data) throws ParseException { |
16 | 17 | DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); |
17 | 18 | Date dataFormatada = dateFormat.parse(data); |
... | ... | @@ -36,6 +37,22 @@ public class DateUtil { |
36 | 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 | } | ... | ... |