Commit 5dfda88b9cce1e1565f746f195b7ee989dba8551

Authored by gibransodre
1 parent 4e92bdfd
Exists in master

Correções!

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 }
... ...