diff --git a/WebContent/WEB-INF/jsp/questionario/questionario.jsp b/WebContent/WEB-INF/jsp/questionario/questionario.jsp
index 9c9a7af..5e63ae0 100644
--- a/WebContent/WEB-INF/jsp/questionario/questionario.jsp
+++ b/WebContent/WEB-INF/jsp/questionario/questionario.jsp
@@ -39,8 +39,7 @@ table, th, td {
-
+
@@ -51,6 +50,7 @@ table, th, td {
Senhor(a) " + nomeResponsavel + ", " + cargoResponsavel + ", do " + mensagem.append("
Senhor(a) " + nomeResponsavel + ", " + cargoResponsavel + ", do(a) " + noOrgao + ", conforme solicitado, o acesso "); mensagem.append("ao FAD para o preenchimento de informações sobre a atual situação da "); mensagem @@ -177,7 +178,15 @@ public class QuestionarioController { contato.setNome(nomeResponsavel); if (enviarHashPorEmail(contato)) { - mensagemEnvio = "Questionário salvo e enviado por email com suceso!"; + if(questionarioDao.atualizarDataRespostaQuestionario(path, idQuestionario)) + { + mensagemEnvio = "Questionário salvo e enviado por email com suceso!"; + } + else + { + mensagemEnvio = "Questionário salvo e enviado por email, mas, não foi possível atualizar a data de resposta!"; + } + } else { mensagemEnvio = "Questionário salvo, mas não foi possível enviar email!"; } diff --git a/src/br/com/dao/QuestionarioDao.java b/src/br/com/dao/QuestionarioDao.java index 460ed8a..f254d49 100644 --- a/src/br/com/dao/QuestionarioDao.java +++ b/src/br/com/dao/QuestionarioDao.java @@ -29,13 +29,18 @@ public class QuestionarioDao { ResultSet rset = null; Questionario questionario; - RespostaQuestionarioDao respostaQuestionarioDao = new RespostaQuestionarioDao(); - PlanoTrabalhoDao planoTrabalhoDao = new PlanoTrabalhoDao(); + RespostaQuestionarioDao respostaQuestionarioDao; + PlanoTrabalhoDao planoTrabalhoDao; rset = retornarQuestionario(path); + String dataRespostaQuestionario = ""; try { while (rset.next()) { + dataRespostaQuestionario = ""; + questionario = new Questionario(); + respostaQuestionarioDao = new RespostaQuestionarioDao(); + planoTrabalhoDao = new PlanoTrabalhoDao(); questionario.setIdQuestionario(rset.getInt("id_questionario")); questionario.setDtInicioQuestionario(DateUtil.dataHoraFormatadaDiaMesAno(rset.getString("dt_inicio_questionario"))); @@ -49,7 +54,17 @@ public class QuestionarioDao { questionario.setTelefone(rset.getString("telefone")); questionario.setIdAutorizacaoGeracaoHash(rset.getInt("idAutorizacao")); questionario.setDtRecebimentoEmail(DateUtil.dataHoraFormatadaDiaMesAno(rset.getString("data_recebimento_email"))); - questionario.setDtRespostaEmail(DateUtil.dataHoraFormatadaDiaMesAno(rset.getString("data_resposta_email"))); + + dataRespostaQuestionario = rset.getString("data_resposta_email"); + if(dataRespostaQuestionario != null) + { + questionario.setDtRespostaEmail(DateUtil.dataHoraFormatadaDiaMesAnoComParametro(dataRespostaQuestionario)); + } + else + { + questionario.setDtRespostaEmail(dataRespostaQuestionario); + } + questionario.setDataRespostaQuestionario(respostaQuestionarioDao.verificaRespostaQuestionario(path, rset.getInt("id_questionario"))); @@ -97,6 +112,47 @@ public class QuestionarioDao { } } + + public boolean atualizarDataRespostaQuestionario(String path, int idQuestionario) + { + + StringBuffer sql = new StringBuffer(); + Connection con = Conexao.conecta(path); + PreparedStatement estado; + int resultado = 0; + boolean salvoComSucesso = false; + + + + try { + + Date dtRespostaEmail = new Date(); + java.sql.Date sqlDtRespostaEmail = new java.sql.Date(dtRespostaEmail.getTime()); + + + sql = new StringBuffer(); + sql.append(" UPDATE public.questionario SET data_resposta_email=(SELECT NOW()) WHERE id_questionario = ?; "); + + estado = con.prepareStatement(sql.toString()); + + estado.setInt(1, idQuestionario); + + resultado = estado.executeUpdate(); + + if (resultado == 0) { + salvoComSucesso = false; + } else { + + salvoComSucesso = true; + } + + } catch (SQLException e) { + + e.printStackTrace(); + } + + return salvoComSucesso; + } public ResultSet retornarQuestionarioPorId(String path, int idQuestionario) { @@ -132,18 +188,18 @@ public class QuestionarioDao { } + - - public boolean salvarQuestionario(String path, Questionario questionario) { + public int salvarQuestionario(String path, Questionario questionario) { //File file = new File(caminhoArquivo); Connection con = null; con = Conexao.conecta(path); - int resultado = 0; + int resultado = -1; StringBuffer sql; - boolean salvoComSucesso = false; + //boolean salvoComSucesso = false; try { @@ -152,12 +208,12 @@ public class QuestionarioDao { Date dtInicioQuestionario = DateUtil.dataFormatada(questionario.getDtInicioQuestionario()); Date dtFimQuestionario = DateUtil.dataFormatada(questionario.getDtFimQuestionario()); Date dtRecebimentoEmail = DateUtil.dataFormatada(questionario.getDtRecebimentoEmail()); - Date dtRespostaEmail = DateUtil.dataFormatada(questionario.getDtRespostaEmail()); + //Date dtRespostaEmail = new Date(); java.sql.Date sqlDtInicioQuestionario = new java.sql.Date(dtInicioQuestionario.getTime()); java.sql.Date sqlDtFimQuestionario = new java.sql.Date(dtFimQuestionario.getTime()); java.sql.Date sqlDtRecebimentoEmail = new java.sql.Date(dtRecebimentoEmail.getTime()); - java.sql.Date sqlDtRespostaEmail = new java.sql.Date(dtRespostaEmail.getTime()); + //java.sql.Date sqlDtRespostaEmail = new java.sql.Date(dtRespostaEmail.getTime()); if (con != null) { @@ -166,12 +222,13 @@ public class QuestionarioDao { sql.append(" dt_inicio_questionario, dt_fim_questionario, "); sql.append(" no_orgao, hash_autenticacao, questionario_respondido, email_destino_orgao, "); sql.append(" responsavel, cargo_responsavel, telefone, idAutorizacao, "); - sql.append(" data_recebimento_email, data_resposta_email) "); - sql.append(" VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);"); + sql.append(" data_recebimento_email) "); + sql.append(" VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);"); // cria statement para executar a query - PreparedStatement estado = con.prepareStatement(sql.toString()); + PreparedStatement estado = con.prepareStatement(sql.toString(), Statement.RETURN_GENERATED_KEYS); + estado.setDate(1, sqlDtInicioQuestionario); estado.setDate(2, sqlDtFimQuestionario); estado.setString(3, questionario.getNoOrgao()); @@ -183,26 +240,33 @@ public class QuestionarioDao { estado.setString(9, questionario.getTelefone()); estado.setInt(10, questionario.getIdAutorizacaoGeracaoHash()); estado.setDate(11, sqlDtRecebimentoEmail); - estado.setDate(12, sqlDtRespostaEmail); + //estado.setDate(12, sqlDtRespostaEmail); - resultado = estado.executeUpdate(); + //resultado = estado.executeUpdate(); - if (resultado == 0) { + estado.executeUpdate(); + ResultSet rs = estado.getGeneratedKeys(); + + if (rs.next()) { + resultado = rs.getInt("id_questionario"); + } + + /* if (resultado == 0) { salvoComSucesso = false; } else { salvoComSucesso = true; - } + }*/ } - return salvoComSucesso; + return resultado; } catch (SQLException e) { e.printStackTrace(); - return salvoComSucesso; + return resultado; } catch (ParseException e) { e.printStackTrace(); - return salvoComSucesso; + return resultado; } finally { if (con != null) { try { diff --git a/src/br/com/util/DateUtil.java b/src/br/com/util/DateUtil.java index db271a4..f40a934 100644 --- a/src/br/com/util/DateUtil.java +++ b/src/br/com/util/DateUtil.java @@ -12,6 +12,7 @@ public class DateUtil { return dateFormat.format(new Date()); } + public static Date dataFormatada(String data) throws ParseException { DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); Date dataFormatada = dateFormat.parse(data); @@ -36,6 +37,22 @@ public class DateUtil { return dataFormatadaCorreta; } + public static String dataHoraFormatadaDiaMesAnoComParametro(String dataParametro) { + + Date dataParametroConvertida = new Date(); + SimpleDateFormat dataFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss"); + String dataFormatadaCorreta = null; + + try { + dataParametroConvertida = dataFormat.parse(dataParametro); + dataFormatadaCorreta = sdf.format(dataParametroConvertida); + } catch (ParseException e) { + e.printStackTrace(); + } + + return dataFormatadaCorreta; + } } -- libgit2 0.21.2