Commit 8a4d3bc855ad021b2da7e11c73089e21492b0f36
1 parent
2ed26458
Exists in
master
Nova funcionalidade para registrar novos códigos de acesso.
Showing
3 changed files
with
790 additions
and
652 deletions
Show diff stats
WebContent/WEB-INF/jsp/questionario/questionario.jsp
@@ -41,8 +41,14 @@ table, th, td { | @@ -41,8 +41,14 @@ table, th, td { | ||
41 | <option value="${item.idOrgao }">${item.nomeOrgao }</option> | 41 | <option value="${item.idOrgao }">${item.nomeOrgao }</option> |
42 | </c:forEach> | 42 | </c:forEach> |
43 | </select> | 43 | </select> |
44 | - <!-- <input type="text" | ||
45 | - id="noOrgao" name="noOrgao" size="70">--><br> | 44 | + <br> <br> |
45 | + <input type="checkbox" | ||
46 | + id="orgaoAusente" name="orgaoAusente" value="true"> | ||
47 | + <label for="orgaoAusente">Órgão ausente na lista: </label><br> | ||
48 | + | ||
49 | + <br> <label for="noOrgao">Órgão: </label> | ||
50 | + <input type="text" | ||
51 | + id="noOrgao" name="noOrgao" size="70"><br> | ||
46 | <br> <label for="nomeResponsavel">Responsável: </label> <input | 52 | <br> <label for="nomeResponsavel">Responsável: </label> <input |
47 | type="text" id="nomeResponsavel" name="nomeResponsavel" size="65"><br> | 53 | type="text" id="nomeResponsavel" name="nomeResponsavel" size="65"><br> |
48 | <br> <label for="cargoResponsavel">Cargo: </label> <input | 54 | <br> <label for="cargoResponsavel">Cargo: </label> <input |
src/br/com/controller/QuestionarioController.java
@@ -152,9 +152,9 @@ public class QuestionarioController { | @@ -152,9 +152,9 @@ public class QuestionarioController { | ||
152 | 152 | ||
153 | @Path("/salvar-questionario") | 153 | @Path("/salvar-questionario") |
154 | public void questionarioSalvar(String autorizacao, String idOrgao, | 154 | public void questionarioSalvar(String autorizacao, String idOrgao, |
155 | - String nomeResponsavel, String cargoResponsavel, | ||
156 | - String emailDestinoOrgao, String telefoneResponsavel, | ||
157 | - String dataRecebimentoEmail) { | 155 | + String orgaoAusente, String noOrgao, String nomeResponsavel, |
156 | + String cargoResponsavel, String emailDestinoOrgao, | ||
157 | + String telefoneResponsavel, String dataRecebimentoEmail) { | ||
158 | 158 | ||
159 | AutorizacaoGeracaoHashDao autorizacaoGeracaoHashDao = new AutorizacaoGeracaoHashDao(); | 159 | AutorizacaoGeracaoHashDao autorizacaoGeracaoHashDao = new AutorizacaoGeracaoHashDao(); |
160 | String mensagemEnvio = ""; | 160 | String mensagemEnvio = ""; |
@@ -200,135 +200,133 @@ public class QuestionarioController { | @@ -200,135 +200,133 @@ public class QuestionarioController { | ||
200 | OrgaoDao orgaoDao = new OrgaoDao(); | 200 | OrgaoDao orgaoDao = new OrgaoDao(); |
201 | Orgao orgao = new Orgao(); | 201 | Orgao orgao = new Orgao(); |
202 | 202 | ||
203 | - orgao = orgaoDao | ||
204 | - .retornarOrgaoPorId(path, Integer.parseInt(idOrgao)); | 203 | + if (orgaoAusente == null) { |
204 | + orgao = orgaoDao.retornarOrgaoPorId(path, | ||
205 | + Integer.parseInt(idOrgao)); | ||
206 | + } | ||
205 | 207 | ||
206 | - if (orgao != null) { | 208 | + questionario.setDtInicioQuestionario(dtInicioQuestionario); |
209 | + questionario.setDtFimQuestionario(dtFimQuestionario); | ||
210 | + questionario.setEmailDestinoOrgao(emailDestinoOrgao); | ||
211 | + questionario.setHashAutenticacao(hashAutenticacao); | ||
212 | + questionario.setResponsavel(nomeResponsavel); | ||
213 | + questionario.setCargoResponsavel(cargoResponsavel); | ||
214 | + questionario.setTelefone(telefoneResponsavel); | ||
207 | 215 | ||
208 | - questionario.setDtInicioQuestionario(dtInicioQuestionario); | ||
209 | - questionario.setDtFimQuestionario(dtFimQuestionario); | ||
210 | - questionario.setEmailDestinoOrgao(emailDestinoOrgao); | ||
211 | - questionario.setHashAutenticacao(hashAutenticacao); | ||
212 | - questionario.setResponsavel(nomeResponsavel); | ||
213 | - questionario.setCargoResponsavel(cargoResponsavel); | ||
214 | - questionario.setTelefone(telefoneResponsavel); | 216 | + if (orgaoAusente == null) { |
215 | questionario.setNoOrgao(orgao.getNomeOrgao()); | 217 | questionario.setNoOrgao(orgao.getNomeOrgao()); |
218 | + } else { | ||
219 | + if (!noOrgao.equalsIgnoreCase("") | ||
220 | + && !noOrgao.equalsIgnoreCase(null)) { | ||
221 | + questionario.setNoOrgao(noOrgao); | ||
222 | + } else { | ||
223 | + mensagemEnvio = "Não foi possível salvar o questionário, verifique o Órgão!"; | ||
224 | + result.include("mensagemEnvio", mensagemEnvio); | ||
225 | + this.validator.add(new ValidationMessage("", "")); | ||
226 | + this.validator.onErrorUsePageOf( | ||
227 | + QuestionarioController.class).confirmacaoHash(); | ||
228 | + } | ||
229 | + | ||
230 | + } | ||
216 | 231 | ||
217 | - Validacao validate = new Validacao(); | 232 | + Validacao validate = new Validacao(); |
218 | 233 | ||
219 | - questionario.setDtRecebimentoEmail(dataRecebimentoEmail); | ||
220 | - questionario | ||
221 | - .setIdAutorizacaoGeracaoHash(idAutorizacaoGeracaoHash); | 234 | + questionario.setDtRecebimentoEmail(dataRecebimentoEmail); |
235 | + questionario.setIdAutorizacaoGeracaoHash(idAutorizacaoGeracaoHash); | ||
222 | 236 | ||
223 | - QuestionarioDao questionarioDao = new QuestionarioDao(); | ||
224 | - // List<String> corpoEmail = new ArrayList<String>(); | 237 | + QuestionarioDao questionarioDao = new QuestionarioDao(); |
238 | + // List<String> corpoEmail = new ArrayList<String>(); | ||
225 | 239 | ||
226 | - int idQuestionario = questionarioDao.salvarQuestionario(path, | 240 | + int idQuestionario = 0; |
241 | + | ||
242 | + if (orgaoAusente == null) { | ||
243 | + idQuestionario = questionarioDao.salvarQuestionarioAtualizaOrgao(path, | ||
244 | + questionario, orgao); | ||
245 | + } else { | ||
246 | + idQuestionario = questionarioDao.salvarQuestionarioOrgao(path, | ||
227 | questionario); | 247 | questionario); |
248 | + } | ||
228 | 249 | ||
229 | - | ||
230 | - if (idQuestionario > -1) { | ||
231 | - orgao.setIdQuestionario(idQuestionario); | ||
232 | - | ||
233 | - if(orgaoDao.atualizarQuestionarioOrgao(path, orgao)) | ||
234 | - { | ||
235 | - | ||
236 | - | ||
237 | - | ||
238 | - StringBuffer mensagem = new StringBuffer(); | ||
239 | - | ||
240 | - mensagem.append("Prezado(a),</br>"); | ||
241 | - mensagem.append("<p>Senhor(a) " + nomeResponsavel + ", " | ||
242 | - + cargoResponsavel + ", do(a) " | ||
243 | - + orgao.getNomeOrgao() | ||
244 | - + ", conforme solicitado, o acesso "); | ||
245 | - mensagem.append("ao FAD para o preenchimento de informações sobre a atual situação da "); | ||
246 | - mensagem.append("acessibilidade dos ambientes digitais do seu órgão ou entidade deverá ser "); | ||
247 | - mensagem.append("realizado pelo endereço " + "<a href=\"" | ||
248 | - + prop.getProperty("enderecoFad") + "\">" | ||
249 | - + prop.getProperty("enderecoFad") + "</a>" | ||
250 | - + " utilizando o código de "); | ||
251 | - mensagem.append("acesso: " + hashAutenticacao + " .</p>"); | ||
252 | - | ||
253 | - mensagem.append("<p>A guarda do código de acesso, bem como as informações prestadas são de sua "); | ||
254 | - mensagem.append("inteira responsabilidade.</p>"); | ||
255 | - | ||
256 | - mensagem.append("<p>O FAD poderá ser preenchido no período " | ||
257 | - + DateUtil.dataHoraFormatadaDiaMesAno(prop | ||
258 | - .getProperty("dataInicio")) | ||
259 | - + " a 02/01/2017, data limite "); | ||
260 | - mensagem.append("para o envio do relatório circunstanciado (formulário de acessibilidade digital e plano de "); | ||
261 | - mensagem.append("trabalho) à Procuradoria Federal dos Direitos do Cidadão do Ministério Público Federal e "); | ||
262 | - mensagem.append("publicado no sítio ou portal eletrônico do órgão ou entidade.</p>"); | ||
263 | - | ||
264 | - mensagem.append("<p>Maiores informações, dúvidas e sugestões devem ser encaminhadas pelo canal "); | ||
265 | - mensagem.append("<a href=\"" | ||
266 | - + prop.getProperty("enderecoContato") + "\">" | ||
267 | - + prop.getProperty("enderecoContato") + "</a>.</p>"); | ||
268 | - | ||
269 | - mensagem.append("<p>Respeitosamente,</p>"); | ||
270 | - | ||
271 | - mensagem.append("<p>Ministério do Planejamento, Desenvolvimento e Gestão "); | ||
272 | - mensagem.append("Secretaria de Tecnologia da Informação "); | ||
273 | - mensagem.append("Departamento de Governo Digital "); | ||
274 | - mensagem.append("Coordenação-Geral de Padrões de Governo Digital "); | ||
275 | - mensagem.append(prop.getProperty("emailContato") + "</br>"); | ||
276 | - | ||
277 | - String[] telefoneContato = prop.getProperty( | ||
278 | - "telefoneContato").split(","); | ||
279 | - | ||
280 | - for (String numeroTelefone : telefoneContato) { | ||
281 | - mensagem.append(numeroTelefone + "</br>"); | ||
282 | - } | ||
283 | - mensagem.append("</p>"); | ||
284 | - | ||
285 | - Contato contato = new Contato(); | ||
286 | - contato.setEmail(emailDestinoOrgao); | ||
287 | - contato.setAssunto("Formulário Eletrônico de Acessibilidade Digital (FAD) – Concessão de Acesso"); | ||
288 | - contato.setMensagem(mensagem.toString()); | ||
289 | - contato.setNome(nomeResponsavel); | ||
290 | - | ||
291 | - if (enviarHashPorEmail(contato)) { | ||
292 | - if (questionarioDao.atualizarDataRespostaQuestionario( | ||
293 | - path, idQuestionario)) { | ||
294 | - mensagemEnvio = "Questionário salvo e enviado por email com suceso!"; | ||
295 | - } else { | ||
296 | - mensagemEnvio = "Questionário salvo e enviado por email, mas, não foi possível atualizar a data de resposta!"; | ||
297 | - } | 250 | + if (idQuestionario > -1) { |
298 | 251 | ||
252 | + | ||
253 | + StringBuffer mensagem = new StringBuffer(); | ||
254 | + | ||
255 | + mensagem.append("Prezado(a),</br>"); | ||
256 | + mensagem.append("<p>Senhor(a) " + nomeResponsavel + ", " | ||
257 | + + cargoResponsavel + ", do(a) " + orgao.getNomeOrgao() | ||
258 | + + ", conforme solicitado, o acesso "); | ||
259 | + mensagem.append("ao FAD para o preenchimento de informações sobre a atual situação da "); | ||
260 | + mensagem.append("acessibilidade dos ambientes digitais do seu órgão ou entidade deverá ser "); | ||
261 | + mensagem.append("realizado pelo endereço " + "<a href=\"" | ||
262 | + + prop.getProperty("enderecoFad") + "\">" | ||
263 | + + prop.getProperty("enderecoFad") + "</a>" | ||
264 | + + " utilizando o código de "); | ||
265 | + mensagem.append("acesso: " + hashAutenticacao + " .</p>"); | ||
266 | + | ||
267 | + mensagem.append("<p>A guarda do código de acesso, bem como as informações prestadas são de sua "); | ||
268 | + mensagem.append("inteira responsabilidade.</p>"); | ||
269 | + | ||
270 | + mensagem.append("<p>O FAD poderá ser preenchido no período " | ||
271 | + + DateUtil.dataHoraFormatadaDiaMesAno(prop | ||
272 | + .getProperty("dataInicio")) | ||
273 | + + " a 02/01/2017, data limite "); | ||
274 | + mensagem.append("para o envio do relatório circunstanciado (formulário de acessibilidade digital e plano de "); | ||
275 | + mensagem.append("trabalho) à Procuradoria Federal dos Direitos do Cidadão do Ministério Público Federal e "); | ||
276 | + mensagem.append("publicado no sítio ou portal eletrônico do órgão ou entidade.</p>"); | ||
277 | + | ||
278 | + mensagem.append("<p>Maiores informações, dúvidas e sugestões devem ser encaminhadas pelo canal "); | ||
279 | + mensagem.append("<a href=\"" | ||
280 | + + prop.getProperty("enderecoContato") + "\">" | ||
281 | + + prop.getProperty("enderecoContato") + "</a>.</p>"); | ||
282 | + | ||
283 | + mensagem.append("<p>Respeitosamente,</p>"); | ||
284 | + | ||
285 | + mensagem.append("<p>Ministério do Planejamento, Desenvolvimento e Gestão "); | ||
286 | + mensagem.append("Secretaria de Tecnologia da Informação "); | ||
287 | + mensagem.append("Departamento de Governo Digital "); | ||
288 | + mensagem.append("Coordenação-Geral de Padrões de Governo Digital "); | ||
289 | + mensagem.append(prop.getProperty("emailContato") + "</br>"); | ||
290 | + | ||
291 | + String[] telefoneContato = prop.getProperty("telefoneContato") | ||
292 | + .split(","); | ||
293 | + | ||
294 | + for (String numeroTelefone : telefoneContato) { | ||
295 | + mensagem.append(numeroTelefone + "</br>"); | ||
296 | + } | ||
297 | + mensagem.append("</p>"); | ||
298 | + | ||
299 | + Contato contato = new Contato(); | ||
300 | + contato.setEmail(emailDestinoOrgao); | ||
301 | + contato.setAssunto("Formulário Eletrônico de Acessibilidade Digital (FAD) – Concessão de Acesso"); | ||
302 | + contato.setMensagem(mensagem.toString()); | ||
303 | + contato.setNome(nomeResponsavel); | ||
304 | + | ||
305 | + if (enviarHashPorEmail(contato)) { | ||
306 | + if (questionarioDao.atualizarDataRespostaQuestionario(path, | ||
307 | + idQuestionario)) { | ||
308 | + mensagemEnvio = "Questionário salvo e enviado por email com suceso!"; | ||
299 | } else { | 309 | } else { |
300 | - mensagemEnvio = "Questionário salvo, mas não foi possível enviar email!"; | 310 | + mensagemEnvio = "Questionário salvo e enviado por email, mas, não foi possível atualizar a data de resposta!"; |
301 | } | 311 | } |
302 | - result.include("mensagemEnvio", mensagemEnvio); | ||
303 | - this.validator.add(new ValidationMessage("", "")); | ||
304 | - this.validator.onErrorUsePageOf( | ||
305 | - QuestionarioController.class).confirmacaoHash(); | 312 | + |
306 | } else { | 313 | } else { |
307 | - mensagemEnvio = "Não foi possível salvar o questionário!"; | ||
308 | - result.include("mensagemEnvio", mensagemEnvio); | ||
309 | - this.validator.add(new ValidationMessage("", "")); | ||
310 | - this.validator.onErrorUsePageOf( | ||
311 | - QuestionarioController.class).confirmacaoHash(); | ||
312 | - } | ||
313 | - } | ||
314 | - else | ||
315 | - { | ||
316 | - mensagemEnvio = "Não foi possível atualizar o id do questionário na tabela dos órgãos!"; | ||
317 | - result.include("mensagemEnvio", mensagemEnvio); | ||
318 | - this.validator.add(new ValidationMessage("", "")); | ||
319 | - this.validator.onErrorUsePageOf( | ||
320 | - QuestionarioController.class).confirmacaoHash(); | 314 | + mensagemEnvio = "Questionário salvo, mas não foi possível enviar email!"; |
321 | } | 315 | } |
316 | + result.include("mensagemEnvio", mensagemEnvio); | ||
317 | + this.validator.add(new ValidationMessage("", "")); | ||
318 | + this.validator.onErrorUsePageOf(QuestionarioController.class) | ||
319 | + .confirmacaoHash(); | ||
320 | + | ||
322 | } else { | 321 | } else { |
323 | - mensagemEnvio = "É preciso autorização para gerar código Hash!"; | 322 | + mensagemEnvio = "Não foi possível atualizar o id do questionário na tabela dos órgãos!"; |
324 | result.include("mensagemEnvio", mensagemEnvio); | 323 | result.include("mensagemEnvio", mensagemEnvio); |
325 | this.validator.add(new ValidationMessage("", "")); | 324 | this.validator.add(new ValidationMessage("", "")); |
326 | this.validator.onErrorUsePageOf(QuestionarioController.class) | 325 | this.validator.onErrorUsePageOf(QuestionarioController.class) |
327 | .confirmacaoHash(); | 326 | .confirmacaoHash(); |
328 | } | 327 | } |
329 | - } | ||
330 | - else | ||
331 | - { | 328 | + |
329 | + } else { | ||
332 | mensagemEnvio = "Não foi possível identificar o Órgao!"; | 330 | mensagemEnvio = "Não foi possível identificar o Órgao!"; |
333 | result.include("mensagemEnvio", mensagemEnvio); | 331 | result.include("mensagemEnvio", mensagemEnvio); |
334 | this.validator.add(new ValidationMessage("", "")); | 332 | this.validator.add(new ValidationMessage("", "")); |
src/br/com/dao/QuestionarioDao.java
@@ -16,549 +16,683 @@ import java.util.Date; | @@ -16,549 +16,683 @@ 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.Orgao; | ||
19 | import br.com.model.entity.PlanoTrabalho; | 20 | import br.com.model.entity.PlanoTrabalho; |
20 | import br.com.model.entity.Questionario; | 21 | import br.com.model.entity.Questionario; |
22 | +import br.com.model.entity.RespostaQuestionario; | ||
21 | import br.com.util.DateUtil; | 23 | import br.com.util.DateUtil; |
22 | import br.com.util.GeradorCodigoHash; | 24 | import br.com.util.GeradorCodigoHash; |
23 | 25 | ||
24 | public class QuestionarioDao { | 26 | public class QuestionarioDao { |
25 | 27 | ||
26 | - | ||
27 | - public List<Questionario> retornarListaQuestionario(String path) { | ||
28 | - | ||
29 | - List<Questionario> listaQuestionario = new ArrayList<Questionario>(); | ||
30 | - | ||
31 | - ResultSet rset = null; | ||
32 | - Questionario questionario; | ||
33 | - RespostaQuestionarioDao respostaQuestionarioDao; | ||
34 | - PlanoTrabalhoDao planoTrabalhoDao; | ||
35 | - | ||
36 | - rset = retornarQuestionario(path); | ||
37 | - String dataRespostaQuestionario = ""; | ||
38 | - try { | ||
39 | - while (rset.next()) { | ||
40 | - dataRespostaQuestionario = ""; | ||
41 | - | ||
42 | - questionario = new Questionario(); | ||
43 | - respostaQuestionarioDao = new RespostaQuestionarioDao(); | ||
44 | - planoTrabalhoDao = new PlanoTrabalhoDao(); | ||
45 | - | ||
46 | - questionario.setIdQuestionario(rset.getInt("id_questionario")); | ||
47 | - questionario.setDtInicioQuestionario(DateUtil.dataHoraFormatadaDiaMesAno(rset.getString("dt_inicio_questionario"))); | ||
48 | - questionario.setDtFimQuestionario(DateUtil.dataHoraFormatadaDiaMesAno(rset.getString("dt_fim_questionario"))); | ||
49 | - questionario.setNoOrgao(rset.getString("no_orgao")); | ||
50 | - questionario.setHashAutenticacao(rset.getString("hash_autenticacao")); | ||
51 | - questionario.setQuestionario_respondido(rset.getBoolean("questionario_respondido")); | ||
52 | - questionario.setEmailDestinoOrgao(rset.getString("email_destino_orgao")); | ||
53 | - questionario.setResponsavel(rset.getString("responsavel")); | ||
54 | - questionario.setCargoResponsavel(rset.getString("cargo_responsavel")); | ||
55 | - questionario.setTelefone(rset.getString("telefone")); | ||
56 | - questionario.setIdAutorizacaoGeracaoHash(rset.getInt("idAutorizacao")); | ||
57 | - questionario.setDtRecebimentoEmail(DateUtil.dataHoraFormatadaDiaMesAno(rset.getString("data_recebimento_email"))); | ||
58 | - questionario.setFlagEnviado(rset.getBoolean("flag_enviado")); | ||
59 | - dataRespostaQuestionario = rset.getString("data_resposta_email"); | ||
60 | - | ||
61 | - if(dataRespostaQuestionario != null) | ||
62 | - { | ||
63 | - questionario.setDtRespostaEmail(DateUtil.dataHoraFormatadaDiaMesAnoComParametro(dataRespostaQuestionario)); | ||
64 | - } | ||
65 | - else | ||
66 | - { | ||
67 | - questionario.setDtRespostaEmail(dataRespostaQuestionario); | ||
68 | - } | ||
69 | - | ||
70 | - PlanoTrabalho planoTrabalho = new PlanoTrabalho(); | ||
71 | - | ||
72 | - planoTrabalho = planoTrabalhoDao.verificaPlanoTrabalho(path, rset.getInt("id_questionario")); | ||
73 | - | ||
74 | - | ||
75 | - questionario.setDataRespostaQuestionario(respostaQuestionarioDao.verificaRespostaQuestionario(path, rset.getInt("id_questionario"))); | ||
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 | - | ||
98 | - listaQuestionario.add(questionario); | ||
99 | - | ||
100 | - } | ||
101 | - } catch (Exception e) { | ||
102 | - e.printStackTrace(); | ||
103 | - } | ||
104 | - | ||
105 | - return listaQuestionario; | ||
106 | - } | ||
107 | - | ||
108 | - public List<Questionario> retornarListaQuestionarioComFiltro(String path, String statusRelatorio, String statusPlanoTrabalho, String relatorioAnexado, String relatorioEnviado, String nomeOrgao) { | ||
109 | - | ||
110 | - List<Questionario> listaQuestionario = new ArrayList<Questionario>(); | ||
111 | - | ||
112 | - ResultSet rset = null; | ||
113 | - Questionario questionario; | ||
114 | - RespostaQuestionarioDao respostaQuestionarioDao; | ||
115 | - PlanoTrabalhoDao planoTrabalhoDao; | ||
116 | - | ||
117 | - rset = retornarQuestionarioComFiltro(path, statusRelatorio, statusPlanoTrabalho, relatorioEnviado, nomeOrgao); | ||
118 | - String dataRespostaQuestionario = ""; | ||
119 | - try { | ||
120 | - while (rset.next()) { | ||
121 | - dataRespostaQuestionario = ""; | ||
122 | - | ||
123 | - questionario = new Questionario(); | ||
124 | - respostaQuestionarioDao = new RespostaQuestionarioDao(); | ||
125 | - planoTrabalhoDao = new PlanoTrabalhoDao(); | ||
126 | - | ||
127 | - questionario.setIdQuestionario(rset.getInt("id_questionario")); | ||
128 | - questionario.setDtInicioQuestionario(DateUtil.dataHoraFormatadaDiaMesAno(rset.getString("dt_inicio_questionario"))); | ||
129 | - questionario.setDtFimQuestionario(DateUtil.dataHoraFormatadaDiaMesAno(rset.getString("dt_fim_questionario"))); | ||
130 | - questionario.setNoOrgao(rset.getString("no_orgao")); | ||
131 | - questionario.setHashAutenticacao(rset.getString("hash_autenticacao")); | ||
132 | - questionario.setQuestionario_respondido(rset.getBoolean("questionario_respondido")); | ||
133 | - questionario.setEmailDestinoOrgao(rset.getString("email_destino_orgao")); | ||
134 | - questionario.setResponsavel(rset.getString("responsavel")); | ||
135 | - questionario.setCargoResponsavel(rset.getString("cargo_responsavel")); | ||
136 | - questionario.setTelefone(rset.getString("telefone")); | ||
137 | - questionario.setIdAutorizacaoGeracaoHash(rset.getInt("idAutorizacao")); | ||
138 | - questionario.setDtRecebimentoEmail(DateUtil.dataHoraFormatadaDiaMesAno(rset.getString("data_recebimento_email"))); | ||
139 | - questionario.setFlagEnviado(rset.getBoolean("flag_enviado")); | ||
140 | - | ||
141 | - dataRespostaQuestionario = rset.getString("data_resposta_email"); | ||
142 | - | ||
143 | - if(dataRespostaQuestionario != null) | ||
144 | - { | ||
145 | - questionario.setDtRespostaEmail(DateUtil.dataHoraFormatadaDiaMesAnoComParametro(dataRespostaQuestionario)); | ||
146 | - } | ||
147 | - else | ||
148 | - { | ||
149 | - questionario.setDtRespostaEmail(dataRespostaQuestionario); | ||
150 | - } | ||
151 | - | ||
152 | - | ||
153 | - | ||
154 | - questionario.setDataRespostaQuestionario(respostaQuestionarioDao.verificaRespostaQuestionario(path, rset.getInt("id_questionario"))); | ||
155 | - | ||
156 | - | ||
157 | - PlanoTrabalho planoTrabalho = new PlanoTrabalho(); | ||
158 | - | ||
159 | - planoTrabalho = planoTrabalhoDao.verificaPlanoTrabalho(path, rset.getInt("id_questionario")); | ||
160 | - | ||
161 | - //verifica se foi anexado plano de trabalho | ||
162 | - if(planoTrabalho != null && planoTrabalho.getArquivoPlanoTrabalho() != null) | ||
163 | - { | ||
164 | - questionario.setPlanoTrabalhoAnexado(true); | ||
165 | - } | ||
166 | - else | ||
167 | - { | ||
168 | - questionario.setPlanoTrabalhoAnexado(false); | ||
169 | - } | ||
170 | - //verifica se foi anexado o Relatório | ||
171 | - if(planoTrabalho != null && planoTrabalho.getArquivoRelatorioAss() != null) | ||
172 | - { | ||
173 | - questionario.setRelatorioAnexado(true); | ||
174 | - } | ||
175 | - else | ||
176 | - { | ||
177 | - questionario.setRelatorioAnexado(false); | ||
178 | - } | ||
179 | - | ||
180 | - | ||
181 | - if(statusPlanoTrabalho.equalsIgnoreCase("todos") && relatorioAnexado.equalsIgnoreCase("todos")) | ||
182 | - { | ||
183 | - listaQuestionario.add(questionario); | ||
184 | - } | ||
185 | - else | ||
186 | - { | ||
187 | - if(statusPlanoTrabalho.equalsIgnoreCase("sim") && questionario.isPlanoTrabalhoAnexado()) | ||
188 | - { | ||
189 | - if(relatorioAnexado.equalsIgnoreCase("sim") && questionario.isRelatorioAnexado()) | ||
190 | - { | ||
191 | - listaQuestionario.add(questionario); | ||
192 | - } | ||
193 | - else if(relatorioAnexado.equalsIgnoreCase("todos")) | ||
194 | - { | ||
195 | - listaQuestionario.add(questionario); | ||
196 | - } | ||
197 | - else if(relatorioAnexado.equalsIgnoreCase("nao") && !questionario.isRelatorioAnexado()) | ||
198 | - { | ||
199 | - listaQuestionario.add(questionario); | ||
200 | - } | ||
201 | - } | ||
202 | - else if(statusPlanoTrabalho.equalsIgnoreCase("nao") && !questionario.isPlanoTrabalhoAnexado()) | ||
203 | - { | ||
204 | - if(relatorioAnexado.equalsIgnoreCase("sim") && questionario.isRelatorioAnexado()) | ||
205 | - { | ||
206 | - listaQuestionario.add(questionario); | ||
207 | - } else if(relatorioAnexado.equalsIgnoreCase("todos")) | ||
208 | - { | ||
209 | - listaQuestionario.add(questionario); | ||
210 | - } | ||
211 | - else if(relatorioAnexado.equalsIgnoreCase("nao") && !questionario.isRelatorioAnexado()) | ||
212 | - { | ||
213 | - listaQuestionario.add(questionario); | ||
214 | - } | ||
215 | - }else if(statusPlanoTrabalho.equalsIgnoreCase("todos")) | ||
216 | - { | ||
217 | - if(relatorioAnexado.equalsIgnoreCase("sim") && questionario.isRelatorioAnexado()) | ||
218 | - { | ||
219 | - listaQuestionario.add(questionario); | ||
220 | - } | ||
221 | - else if(relatorioAnexado.equalsIgnoreCase("nao") && !questionario.isRelatorioAnexado()) | ||
222 | - { | ||
223 | - listaQuestionario.add(questionario); | ||
224 | - } | ||
225 | - } | ||
226 | - } | ||
227 | - | ||
228 | - } | ||
229 | - } catch (Exception e) { | ||
230 | - e.printStackTrace(); | ||
231 | - } | ||
232 | - | ||
233 | - return listaQuestionario; | ||
234 | - } | ||
235 | - | ||
236 | - public ResultSet retornarQuestionario(String path) { | ||
237 | - | ||
238 | - StringBuffer sql = new StringBuffer(); | ||
239 | - Connection con = Conexao.conecta(path); | ||
240 | - Statement estado; | ||
241 | - ResultSet rset = null; | ||
242 | - | ||
243 | - try { | ||
244 | - estado = con.createStatement(); | ||
245 | - | ||
246 | - estado.execute(sql.toString()); | ||
247 | - sql.append(" SELECT * "); | ||
248 | - sql.append(" FROM public.questionario order by no_orgao;"); | ||
249 | - | ||
250 | - rset = estado.executeQuery(sql.toString()); | ||
251 | - | ||
252 | - return rset; | ||
253 | - } catch (SQLException e) { | ||
254 | - e.printStackTrace(); | ||
255 | - return null; | ||
256 | - | ||
257 | - } finally { | ||
258 | - if (con != null) { | ||
259 | - try { | ||
260 | - con.close(); | ||
261 | - } catch (SQLException e) { | ||
262 | - e.printStackTrace(); | ||
263 | - } | ||
264 | - } | ||
265 | - } | ||
266 | - | ||
267 | - } | ||
268 | - | ||
269 | - public ResultSet retornarQuestionarioEnviados(String path) { | ||
270 | - | ||
271 | - StringBuffer sql = new StringBuffer(); | ||
272 | - Connection con = Conexao.conecta(path); | ||
273 | - Statement estado; | ||
274 | - ResultSet rset = null; | ||
275 | - | ||
276 | - try { | ||
277 | - estado = con.createStatement(); | ||
278 | - | ||
279 | - estado.execute(sql.toString()); | ||
280 | - sql.append(" select id_questionario from questionario where flag_enviado = true order by id_questionario; "); | ||
281 | - | ||
282 | - rset = estado.executeQuery(sql.toString()); | ||
283 | - | ||
284 | - return rset; | ||
285 | - } catch (SQLException e) { | ||
286 | - e.printStackTrace(); | ||
287 | - return null; | ||
288 | - | ||
289 | - } finally { | ||
290 | - if (con != null) { | ||
291 | - try { | ||
292 | - con.close(); | ||
293 | - } catch (SQLException e) { | ||
294 | - e.printStackTrace(); | ||
295 | - } | ||
296 | - } | ||
297 | - } | ||
298 | - | ||
299 | - } | ||
300 | - | ||
301 | - public ResultSet retornarQuestionarioComFiltro(String path, String statusRelatorio, String statusPlanoTrabalho, String relatorioEnviado, String nomeOrgao) { | ||
302 | - | ||
303 | - StringBuffer sql = new StringBuffer(); | ||
304 | - Connection con = Conexao.conecta(path); | ||
305 | - Statement estado; | ||
306 | - ResultSet rset = null; | ||
307 | - String sqlConvertida = ""; | ||
308 | - try { | ||
309 | - estado = con.createStatement(); | ||
310 | - | ||
311 | - estado.execute(sql.toString()); | ||
312 | - sql.append(" SELECT * "); | ||
313 | - sql.append(" FROM public.questionario"); | ||
314 | - sql.append(" Where "); | ||
315 | - | ||
316 | - if(nomeOrgao != null) | ||
317 | - { | ||
318 | - sql.append(" and upper (no_orgao) like upper('%"+ nomeOrgao +"%') "); | ||
319 | - } | ||
320 | - | ||
321 | - if(statusRelatorio.equalsIgnoreCase("sim")) | ||
322 | - { | ||
323 | - sql.append(" and questionario_respondido = true "); | ||
324 | - | ||
325 | - }else if(statusRelatorio.equalsIgnoreCase("nao")) | ||
326 | - { | ||
327 | - sql.append(" and questionario_respondido = false " ); | ||
328 | - } | ||
329 | - | ||
330 | - if(relatorioEnviado.equalsIgnoreCase("sim")) | ||
331 | - { | ||
332 | - sql.append(" and flag_enviado = true "); | ||
333 | - | ||
334 | - }else if(relatorioEnviado.equalsIgnoreCase("nao")) | ||
335 | - { | ||
336 | - sql.append(" and flag_enviado = false " ); | ||
337 | - } | ||
338 | - | ||
339 | - sql.append(" order by no_orgao;"); | ||
340 | - | ||
341 | - sqlConvertida = sql.toString().replace("Where and" , "Where ").replace("Where order by no_orgao", " order by no_orgao"); | ||
342 | - rset = estado.executeQuery(sqlConvertida); | ||
343 | - | ||
344 | - return rset; | ||
345 | - | ||
346 | - } catch (SQLException e) { | ||
347 | - e.printStackTrace(); | ||
348 | - return null; | ||
349 | - | ||
350 | - } finally { | ||
351 | - if (con != null) { | ||
352 | - try { | ||
353 | - con.close(); | ||
354 | - } catch (SQLException e) { | ||
355 | - e.printStackTrace(); | ||
356 | - } | ||
357 | - } | ||
358 | - } | ||
359 | - | ||
360 | - } | ||
361 | - | ||
362 | - public boolean atualizarDataRespostaQuestionario(String path, int idQuestionario) | ||
363 | - { | ||
364 | - | ||
365 | - StringBuffer sql = new StringBuffer(); | ||
366 | - Connection con = Conexao.conecta(path); | ||
367 | - PreparedStatement estado; | ||
368 | - int resultado = 0; | ||
369 | - boolean salvoComSucesso = false; | ||
370 | - | ||
371 | - | ||
372 | - | ||
373 | - try { | ||
374 | - | ||
375 | - Date dtRespostaEmail = new Date(); | ||
376 | - java.sql.Date sqlDtRespostaEmail = new java.sql.Date(dtRespostaEmail.getTime()); | ||
377 | - | ||
378 | - | ||
379 | - sql = new StringBuffer(); | ||
380 | - sql.append(" UPDATE public.questionario SET data_resposta_email=(SELECT NOW()) WHERE id_questionario = ?; "); | ||
381 | - | ||
382 | - estado = con.prepareStatement(sql.toString()); | ||
383 | - | ||
384 | - estado.setInt(1, idQuestionario); | ||
385 | - | ||
386 | - resultado = estado.executeUpdate(); | ||
387 | - | ||
388 | - if (resultado == 0) { | ||
389 | - salvoComSucesso = false; | ||
390 | - } else { | ||
391 | - | ||
392 | - salvoComSucesso = true; | ||
393 | - } | ||
394 | - | ||
395 | - } catch (SQLException e) { | ||
396 | - | ||
397 | - e.printStackTrace(); | ||
398 | - } | ||
399 | - | ||
400 | - return salvoComSucesso; | ||
401 | - } | ||
402 | - | ||
403 | - public boolean atualizarFlagEnviado(String path, int idQuestionario) | ||
404 | - { | ||
405 | - | ||
406 | - StringBuffer sql = new StringBuffer(); | ||
407 | - Connection con = Conexao.conecta(path); | ||
408 | - PreparedStatement estado; | ||
409 | - int resultado = 0; | ||
410 | - boolean salvoComSucesso = false; | ||
411 | - | ||
412 | - | ||
413 | - | ||
414 | - try { | ||
415 | - | ||
416 | - sql = new StringBuffer(); | ||
417 | - sql.append(" UPDATE public.questionario SET flag_enviado = true WHERE id_questionario = ?; "); | ||
418 | - | ||
419 | - estado = con.prepareStatement(sql.toString()); | ||
420 | - | ||
421 | - estado.setInt(1, idQuestionario); | ||
422 | - | ||
423 | - resultado = estado.executeUpdate(); | ||
424 | - | ||
425 | - if (resultado == 0) { | ||
426 | - salvoComSucesso = false; | ||
427 | - } else { | ||
428 | - | ||
429 | - salvoComSucesso = true; | ||
430 | - } | ||
431 | - | ||
432 | - } catch (SQLException e) { | ||
433 | - | ||
434 | - e.printStackTrace(); | ||
435 | - } | ||
436 | - | ||
437 | - return salvoComSucesso; | ||
438 | - } | ||
439 | - | ||
440 | - public ResultSet retornarQuestionarioPorId(String path, int idQuestionario) { | ||
441 | - | ||
442 | - StringBuffer sql = new StringBuffer(); | ||
443 | - Connection con = Conexao.conecta(path); | ||
444 | - Statement estado; | ||
445 | - ResultSet rset = null; | ||
446 | - | ||
447 | - try { | ||
448 | - estado = con.createStatement(); | ||
449 | - | ||
450 | - estado.execute(sql.toString()); | ||
451 | - sql.append(" SELECT * "); | ||
452 | - sql.append(" FROM public.questionario where id_questionario = " + idQuestionario + ";"); | ||
453 | - | ||
454 | - rset = estado.executeQuery(sql.toString()); | ||
455 | - | ||
456 | - return rset; | ||
457 | - } catch (SQLException e) { | ||
458 | - e.printStackTrace(); | ||
459 | - return null; | ||
460 | - | ||
461 | - } finally { | ||
462 | - if (con != null) { | ||
463 | - try { | ||
464 | - con.close(); | ||
465 | - } catch (SQLException e) { | ||
466 | - e.printStackTrace(); | ||
467 | - } | ||
468 | - } | ||
469 | - } | ||
470 | - | ||
471 | - } | ||
472 | - | ||
473 | - | ||
474 | - | ||
475 | - public int salvarQuestionario(String path, Questionario questionario) { | ||
476 | - | ||
477 | - //File file = new File(caminhoArquivo); | ||
478 | - | ||
479 | - Connection con = null; | ||
480 | - con = Conexao.conecta(path); | ||
481 | - int resultado = -1; | ||
482 | - StringBuffer sql; | ||
483 | - | ||
484 | - //boolean salvoComSucesso = false; | ||
485 | - | ||
486 | - try { | ||
487 | - | ||
488 | - | ||
489 | - // FileInputStream fileIn = new FileInputStream(file); | ||
490 | - Date dtInicioQuestionario = DateUtil.dataFormatada(questionario.getDtInicioQuestionario()); | ||
491 | - Date dtFimQuestionario = DateUtil.dataFormatada(questionario.getDtFimQuestionario()); | ||
492 | - Date dtRecebimentoEmail = DateUtil.dataFormatada(questionario.getDtRecebimentoEmail()); | ||
493 | - //Date dtRespostaEmail = new Date(); | ||
494 | - | ||
495 | - java.sql.Date sqlDtInicioQuestionario = new java.sql.Date(dtInicioQuestionario.getTime()); | ||
496 | - java.sql.Date sqlDtFimQuestionario = new java.sql.Date(dtFimQuestionario.getTime()); | ||
497 | - java.sql.Date sqlDtRecebimentoEmail = new java.sql.Date(dtRecebimentoEmail.getTime()); | ||
498 | - //java.sql.Date sqlDtRespostaEmail = new java.sql.Date(dtRespostaEmail.getTime()); | ||
499 | - | ||
500 | - if (con != null) { | ||
501 | - | ||
502 | - sql = new StringBuffer(); | ||
503 | - sql.append(" INSERT INTO public.questionario( "); | ||
504 | - sql.append(" dt_inicio_questionario, dt_fim_questionario, "); | ||
505 | - sql.append(" no_orgao, hash_autenticacao, questionario_respondido, email_destino_orgao, "); | ||
506 | - sql.append(" responsavel, cargo_responsavel, telefone, idAutorizacao, "); | ||
507 | - sql.append(" data_recebimento_email,flag_enviado) "); | ||
508 | - sql.append(" VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?,?);"); | ||
509 | - | ||
510 | - | ||
511 | - // cria statement para executar a query | ||
512 | - PreparedStatement estado = con.prepareStatement(sql.toString(), Statement.RETURN_GENERATED_KEYS); | ||
513 | - | ||
514 | - estado.setDate(1, sqlDtInicioQuestionario); | ||
515 | - estado.setDate(2, sqlDtFimQuestionario); | ||
516 | - estado.setString(3, questionario.getNoOrgao()); | ||
517 | - estado.setString(4, questionario.getHashAutenticacao()); | ||
518 | - estado.setBoolean(5, false); | ||
519 | - estado.setString(6, questionario.getEmailDestinoOrgao()); | ||
520 | - estado.setString(7, questionario.getResponsavel()); | ||
521 | - estado.setString(8, questionario.getCargoResponsavel()); | ||
522 | - estado.setString(9, questionario.getTelefone()); | ||
523 | - estado.setInt(10, questionario.getIdAutorizacaoGeracaoHash()); | ||
524 | - estado.setDate(11, sqlDtRecebimentoEmail); | ||
525 | - estado.setBoolean(12, false); | ||
526 | - //estado.setDate(12, sqlDtRespostaEmail); | ||
527 | - | ||
528 | - //resultado = estado.executeUpdate(); | ||
529 | - | ||
530 | - estado.executeUpdate(); | ||
531 | - ResultSet rs = estado.getGeneratedKeys(); | ||
532 | - | ||
533 | - if (rs.next()) { | ||
534 | - resultado = rs.getInt("id_questionario"); | ||
535 | - } | ||
536 | - | ||
537 | - /* if (resultado == 0) { | ||
538 | - salvoComSucesso = false; | ||
539 | - } else { | ||
540 | - | ||
541 | - salvoComSucesso = true; | ||
542 | - }*/ | ||
543 | - } | ||
544 | - | ||
545 | - return resultado; | ||
546 | - | ||
547 | - } catch (SQLException e) { | ||
548 | - e.printStackTrace(); | ||
549 | - return resultado; | ||
550 | - } catch (ParseException e) { | ||
551 | - e.printStackTrace(); | ||
552 | - return resultado; | ||
553 | - } finally { | ||
554 | - if (con != null) { | ||
555 | - try { | ||
556 | - con.close(); | ||
557 | - } catch (SQLException e) { | ||
558 | - e.printStackTrace(); | ||
559 | - } | ||
560 | - } | ||
561 | - } | ||
562 | - } | ||
563 | - | 28 | + public List<Questionario> retornarListaQuestionario(String path) { |
29 | + | ||
30 | + List<Questionario> listaQuestionario = new ArrayList<Questionario>(); | ||
31 | + | ||
32 | + ResultSet rset = null; | ||
33 | + Questionario questionario; | ||
34 | + RespostaQuestionarioDao respostaQuestionarioDao; | ||
35 | + PlanoTrabalhoDao planoTrabalhoDao; | ||
36 | + | ||
37 | + rset = retornarQuestionario(path); | ||
38 | + String dataRespostaQuestionario = ""; | ||
39 | + try { | ||
40 | + while (rset.next()) { | ||
41 | + dataRespostaQuestionario = ""; | ||
42 | + | ||
43 | + questionario = new Questionario(); | ||
44 | + respostaQuestionarioDao = new RespostaQuestionarioDao(); | ||
45 | + planoTrabalhoDao = new PlanoTrabalhoDao(); | ||
46 | + | ||
47 | + questionario.setIdQuestionario(rset.getInt("id_questionario")); | ||
48 | + questionario.setDtInicioQuestionario(DateUtil | ||
49 | + .dataHoraFormatadaDiaMesAno(rset | ||
50 | + .getString("dt_inicio_questionario"))); | ||
51 | + questionario.setDtFimQuestionario(DateUtil | ||
52 | + .dataHoraFormatadaDiaMesAno(rset | ||
53 | + .getString("dt_fim_questionario"))); | ||
54 | + questionario.setNoOrgao(rset.getString("no_orgao")); | ||
55 | + questionario.setHashAutenticacao(rset | ||
56 | + .getString("hash_autenticacao")); | ||
57 | + questionario.setQuestionario_respondido(rset | ||
58 | + .getBoolean("questionario_respondido")); | ||
59 | + questionario.setEmailDestinoOrgao(rset | ||
60 | + .getString("email_destino_orgao")); | ||
61 | + questionario.setResponsavel(rset.getString("responsavel")); | ||
62 | + questionario.setCargoResponsavel(rset | ||
63 | + .getString("cargo_responsavel")); | ||
64 | + questionario.setTelefone(rset.getString("telefone")); | ||
65 | + questionario.setIdAutorizacaoGeracaoHash(rset | ||
66 | + .getInt("idAutorizacao")); | ||
67 | + questionario.setDtRecebimentoEmail(DateUtil | ||
68 | + .dataHoraFormatadaDiaMesAno(rset | ||
69 | + .getString("data_recebimento_email"))); | ||
70 | + questionario.setFlagEnviado(rset.getBoolean("flag_enviado")); | ||
71 | + dataRespostaQuestionario = rset | ||
72 | + .getString("data_resposta_email"); | ||
73 | + | ||
74 | + if (dataRespostaQuestionario != null) { | ||
75 | + questionario | ||
76 | + .setDtRespostaEmail(DateUtil | ||
77 | + .dataHoraFormatadaDiaMesAnoComParametro(dataRespostaQuestionario)); | ||
78 | + } else { | ||
79 | + questionario.setDtRespostaEmail(dataRespostaQuestionario); | ||
80 | + } | ||
81 | + | ||
82 | + PlanoTrabalho planoTrabalho = new PlanoTrabalho(); | ||
83 | + | ||
84 | + planoTrabalho = planoTrabalhoDao.verificaPlanoTrabalho(path, | ||
85 | + rset.getInt("id_questionario")); | ||
86 | + | ||
87 | + questionario | ||
88 | + .setDataRespostaQuestionario(respostaQuestionarioDao | ||
89 | + .verificaRespostaQuestionario(path, | ||
90 | + rset.getInt("id_questionario"))); | ||
91 | + | ||
92 | + // verifica se foi anexado plano de trabalho | ||
93 | + if (planoTrabalho != null | ||
94 | + && planoTrabalho.getArquivoPlanoTrabalho() != null) { | ||
95 | + questionario.setPlanoTrabalhoAnexado(true); | ||
96 | + } else { | ||
97 | + questionario.setPlanoTrabalhoAnexado(false); | ||
98 | + } | ||
99 | + | ||
100 | + // verifica se anexado Relatório assinado | ||
101 | + if (planoTrabalho != null | ||
102 | + && planoTrabalho.getArquivoRelatorioAss() != null) { | ||
103 | + questionario.setRelatorioAnexado(true); | ||
104 | + } else { | ||
105 | + questionario.setRelatorioAnexado(false); | ||
106 | + } | ||
107 | + | ||
108 | + listaQuestionario.add(questionario); | ||
109 | + | ||
110 | + } | ||
111 | + } catch (Exception e) { | ||
112 | + e.printStackTrace(); | ||
113 | + } | ||
114 | + | ||
115 | + return listaQuestionario; | ||
116 | + } | ||
117 | + | ||
118 | + public List<Questionario> retornarListaQuestionarioComFiltro(String path, | ||
119 | + String statusRelatorio, String statusPlanoTrabalho, | ||
120 | + String relatorioAnexado, String relatorioEnviado, String nomeOrgao) { | ||
121 | + | ||
122 | + List<Questionario> listaQuestionario = new ArrayList<Questionario>(); | ||
123 | + | ||
124 | + ResultSet rset = null; | ||
125 | + Questionario questionario; | ||
126 | + RespostaQuestionarioDao respostaQuestionarioDao; | ||
127 | + PlanoTrabalhoDao planoTrabalhoDao; | ||
128 | + | ||
129 | + rset = retornarQuestionarioComFiltro(path, statusRelatorio, | ||
130 | + statusPlanoTrabalho, relatorioEnviado, nomeOrgao); | ||
131 | + String dataRespostaQuestionario = ""; | ||
132 | + try { | ||
133 | + while (rset.next()) { | ||
134 | + dataRespostaQuestionario = ""; | ||
135 | + | ||
136 | + questionario = new Questionario(); | ||
137 | + respostaQuestionarioDao = new RespostaQuestionarioDao(); | ||
138 | + planoTrabalhoDao = new PlanoTrabalhoDao(); | ||
139 | + | ||
140 | + questionario.setIdQuestionario(rset.getInt("id_questionario")); | ||
141 | + questionario.setDtInicioQuestionario(DateUtil | ||
142 | + .dataHoraFormatadaDiaMesAno(rset | ||
143 | + .getString("dt_inicio_questionario"))); | ||
144 | + questionario.setDtFimQuestionario(DateUtil | ||
145 | + .dataHoraFormatadaDiaMesAno(rset | ||
146 | + .getString("dt_fim_questionario"))); | ||
147 | + questionario.setNoOrgao(rset.getString("no_orgao")); | ||
148 | + questionario.setHashAutenticacao(rset | ||
149 | + .getString("hash_autenticacao")); | ||
150 | + questionario.setQuestionario_respondido(rset | ||
151 | + .getBoolean("questionario_respondido")); | ||
152 | + questionario.setEmailDestinoOrgao(rset | ||
153 | + .getString("email_destino_orgao")); | ||
154 | + questionario.setResponsavel(rset.getString("responsavel")); | ||
155 | + questionario.setCargoResponsavel(rset | ||
156 | + .getString("cargo_responsavel")); | ||
157 | + questionario.setTelefone(rset.getString("telefone")); | ||
158 | + questionario.setIdAutorizacaoGeracaoHash(rset | ||
159 | + .getInt("idAutorizacao")); | ||
160 | + questionario.setDtRecebimentoEmail(DateUtil | ||
161 | + .dataHoraFormatadaDiaMesAno(rset | ||
162 | + .getString("data_recebimento_email"))); | ||
163 | + questionario.setFlagEnviado(rset.getBoolean("flag_enviado")); | ||
164 | + | ||
165 | + dataRespostaQuestionario = rset | ||
166 | + .getString("data_resposta_email"); | ||
167 | + | ||
168 | + if (dataRespostaQuestionario != null) { | ||
169 | + questionario | ||
170 | + .setDtRespostaEmail(DateUtil | ||
171 | + .dataHoraFormatadaDiaMesAnoComParametro(dataRespostaQuestionario)); | ||
172 | + } else { | ||
173 | + questionario.setDtRespostaEmail(dataRespostaQuestionario); | ||
174 | + } | ||
175 | + | ||
176 | + questionario | ||
177 | + .setDataRespostaQuestionario(respostaQuestionarioDao | ||
178 | + .verificaRespostaQuestionario(path, | ||
179 | + rset.getInt("id_questionario"))); | ||
180 | + | ||
181 | + PlanoTrabalho planoTrabalho = new PlanoTrabalho(); | ||
182 | + | ||
183 | + planoTrabalho = planoTrabalhoDao.verificaPlanoTrabalho(path, | ||
184 | + rset.getInt("id_questionario")); | ||
185 | + | ||
186 | + // verifica se foi anexado plano de trabalho | ||
187 | + if (planoTrabalho != null | ||
188 | + && planoTrabalho.getArquivoPlanoTrabalho() != null) { | ||
189 | + questionario.setPlanoTrabalhoAnexado(true); | ||
190 | + } else { | ||
191 | + questionario.setPlanoTrabalhoAnexado(false); | ||
192 | + } | ||
193 | + // verifica se foi anexado o Relatório | ||
194 | + if (planoTrabalho != null | ||
195 | + && planoTrabalho.getArquivoRelatorioAss() != null) { | ||
196 | + questionario.setRelatorioAnexado(true); | ||
197 | + } else { | ||
198 | + questionario.setRelatorioAnexado(false); | ||
199 | + } | ||
200 | + | ||
201 | + if (statusPlanoTrabalho.equalsIgnoreCase("todos") | ||
202 | + && relatorioAnexado.equalsIgnoreCase("todos")) { | ||
203 | + listaQuestionario.add(questionario); | ||
204 | + } else { | ||
205 | + if (statusPlanoTrabalho.equalsIgnoreCase("sim") | ||
206 | + && questionario.isPlanoTrabalhoAnexado()) { | ||
207 | + if (relatorioAnexado.equalsIgnoreCase("sim") | ||
208 | + && questionario.isRelatorioAnexado()) { | ||
209 | + listaQuestionario.add(questionario); | ||
210 | + } else if (relatorioAnexado.equalsIgnoreCase("todos")) { | ||
211 | + listaQuestionario.add(questionario); | ||
212 | + } else if (relatorioAnexado.equalsIgnoreCase("nao") | ||
213 | + && !questionario.isRelatorioAnexado()) { | ||
214 | + listaQuestionario.add(questionario); | ||
215 | + } | ||
216 | + } else if (statusPlanoTrabalho.equalsIgnoreCase("nao") | ||
217 | + && !questionario.isPlanoTrabalhoAnexado()) { | ||
218 | + if (relatorioAnexado.equalsIgnoreCase("sim") | ||
219 | + && questionario.isRelatorioAnexado()) { | ||
220 | + listaQuestionario.add(questionario); | ||
221 | + } else if (relatorioAnexado.equalsIgnoreCase("todos")) { | ||
222 | + listaQuestionario.add(questionario); | ||
223 | + } else if (relatorioAnexado.equalsIgnoreCase("nao") | ||
224 | + && !questionario.isRelatorioAnexado()) { | ||
225 | + listaQuestionario.add(questionario); | ||
226 | + } | ||
227 | + } else if (statusPlanoTrabalho.equalsIgnoreCase("todos")) { | ||
228 | + if (relatorioAnexado.equalsIgnoreCase("sim") | ||
229 | + && questionario.isRelatorioAnexado()) { | ||
230 | + listaQuestionario.add(questionario); | ||
231 | + } else if (relatorioAnexado.equalsIgnoreCase("nao") | ||
232 | + && !questionario.isRelatorioAnexado()) { | ||
233 | + listaQuestionario.add(questionario); | ||
234 | + } | ||
235 | + } | ||
236 | + } | ||
237 | + | ||
238 | + } | ||
239 | + } catch (Exception e) { | ||
240 | + e.printStackTrace(); | ||
241 | + } | ||
242 | + | ||
243 | + return listaQuestionario; | ||
244 | + } | ||
245 | + | ||
246 | + public ResultSet retornarQuestionario(String path) { | ||
247 | + | ||
248 | + StringBuffer sql = new StringBuffer(); | ||
249 | + Connection con = Conexao.conecta(path); | ||
250 | + Statement estado; | ||
251 | + ResultSet rset = null; | ||
252 | + | ||
253 | + try { | ||
254 | + estado = con.createStatement(); | ||
255 | + | ||
256 | + estado.execute(sql.toString()); | ||
257 | + sql.append(" SELECT * "); | ||
258 | + sql.append(" FROM public.questionario order by no_orgao;"); | ||
259 | + | ||
260 | + rset = estado.executeQuery(sql.toString()); | ||
261 | + | ||
262 | + return rset; | ||
263 | + } catch (SQLException e) { | ||
264 | + e.printStackTrace(); | ||
265 | + return null; | ||
266 | + | ||
267 | + } finally { | ||
268 | + if (con != null) { | ||
269 | + try { | ||
270 | + con.close(); | ||
271 | + } catch (SQLException e) { | ||
272 | + e.printStackTrace(); | ||
273 | + } | ||
274 | + } | ||
275 | + } | ||
276 | + | ||
277 | + } | ||
278 | + | ||
279 | + public ResultSet retornarQuestionarioEnviados(String path) { | ||
280 | + | ||
281 | + StringBuffer sql = new StringBuffer(); | ||
282 | + Connection con = Conexao.conecta(path); | ||
283 | + Statement estado; | ||
284 | + ResultSet rset = null; | ||
285 | + | ||
286 | + try { | ||
287 | + estado = con.createStatement(); | ||
288 | + | ||
289 | + estado.execute(sql.toString()); | ||
290 | + sql.append(" select id_questionario from questionario where flag_enviado = true order by id_questionario; "); | ||
291 | + | ||
292 | + rset = estado.executeQuery(sql.toString()); | ||
293 | + | ||
294 | + return rset; | ||
295 | + } catch (SQLException e) { | ||
296 | + e.printStackTrace(); | ||
297 | + return null; | ||
298 | + | ||
299 | + } finally { | ||
300 | + if (con != null) { | ||
301 | + try { | ||
302 | + con.close(); | ||
303 | + } catch (SQLException e) { | ||
304 | + e.printStackTrace(); | ||
305 | + } | ||
306 | + } | ||
307 | + } | ||
308 | + | ||
309 | + } | ||
310 | + | ||
311 | + public ResultSet retornarQuestionarioComFiltro(String path, | ||
312 | + String statusRelatorio, String statusPlanoTrabalho, | ||
313 | + String relatorioEnviado, String nomeOrgao) { | ||
314 | + | ||
315 | + StringBuffer sql = new StringBuffer(); | ||
316 | + Connection con = Conexao.conecta(path); | ||
317 | + Statement estado; | ||
318 | + ResultSet rset = null; | ||
319 | + String sqlConvertida = ""; | ||
320 | + try { | ||
321 | + estado = con.createStatement(); | ||
322 | + | ||
323 | + estado.execute(sql.toString()); | ||
324 | + sql.append(" SELECT * "); | ||
325 | + sql.append(" FROM public.questionario"); | ||
326 | + sql.append(" Where "); | ||
327 | + | ||
328 | + if (nomeOrgao != null) { | ||
329 | + sql.append(" and upper (no_orgao) like upper('%" + nomeOrgao | ||
330 | + + "%') "); | ||
331 | + } | ||
332 | + | ||
333 | + if (statusRelatorio.equalsIgnoreCase("sim")) { | ||
334 | + sql.append(" and questionario_respondido = true "); | ||
335 | + | ||
336 | + } else if (statusRelatorio.equalsIgnoreCase("nao")) { | ||
337 | + sql.append(" and questionario_respondido = false "); | ||
338 | + } | ||
339 | + | ||
340 | + if (relatorioEnviado.equalsIgnoreCase("sim")) { | ||
341 | + sql.append(" and flag_enviado = true "); | ||
342 | + | ||
343 | + } else if (relatorioEnviado.equalsIgnoreCase("nao")) { | ||
344 | + sql.append(" and flag_enviado = false "); | ||
345 | + } | ||
346 | + | ||
347 | + sql.append(" order by no_orgao;"); | ||
348 | + | ||
349 | + sqlConvertida = sql.toString().replace("Where and", "Where ") | ||
350 | + .replace("Where order by no_orgao", " order by no_orgao"); | ||
351 | + rset = estado.executeQuery(sqlConvertida); | ||
352 | + | ||
353 | + return rset; | ||
354 | + | ||
355 | + } catch (SQLException e) { | ||
356 | + e.printStackTrace(); | ||
357 | + return null; | ||
358 | + | ||
359 | + } finally { | ||
360 | + if (con != null) { | ||
361 | + try { | ||
362 | + con.close(); | ||
363 | + } catch (SQLException e) { | ||
364 | + e.printStackTrace(); | ||
365 | + } | ||
366 | + } | ||
367 | + } | ||
368 | + | ||
369 | + } | ||
370 | + | ||
371 | + public boolean atualizarDataRespostaQuestionario(String path, | ||
372 | + int idQuestionario) { | ||
373 | + | ||
374 | + StringBuffer sql = new StringBuffer(); | ||
375 | + Connection con = Conexao.conecta(path); | ||
376 | + PreparedStatement estado; | ||
377 | + int resultado = 0; | ||
378 | + boolean salvoComSucesso = false; | ||
379 | + | ||
380 | + try { | ||
381 | + | ||
382 | + Date dtRespostaEmail = new Date(); | ||
383 | + java.sql.Date sqlDtRespostaEmail = new java.sql.Date( | ||
384 | + dtRespostaEmail.getTime()); | ||
385 | + | ||
386 | + sql = new StringBuffer(); | ||
387 | + sql.append(" UPDATE public.questionario SET data_resposta_email=(SELECT NOW()) WHERE id_questionario = ?; "); | ||
388 | + | ||
389 | + estado = con.prepareStatement(sql.toString()); | ||
390 | + | ||
391 | + estado.setInt(1, idQuestionario); | ||
392 | + | ||
393 | + resultado = estado.executeUpdate(); | ||
394 | + | ||
395 | + if (resultado == 0) { | ||
396 | + salvoComSucesso = false; | ||
397 | + } else { | ||
398 | + | ||
399 | + salvoComSucesso = true; | ||
400 | + } | ||
401 | + | ||
402 | + } catch (SQLException e) { | ||
403 | + | ||
404 | + e.printStackTrace(); | ||
405 | + } | ||
406 | + | ||
407 | + return salvoComSucesso; | ||
408 | + } | ||
409 | + | ||
410 | + public boolean atualizarFlagEnviado(String path, int idQuestionario) { | ||
411 | + | ||
412 | + StringBuffer sql = new StringBuffer(); | ||
413 | + Connection con = Conexao.conecta(path); | ||
414 | + PreparedStatement estado; | ||
415 | + int resultado = 0; | ||
416 | + boolean salvoComSucesso = false; | ||
417 | + | ||
418 | + try { | ||
419 | + | ||
420 | + sql = new StringBuffer(); | ||
421 | + sql.append(" UPDATE public.questionario SET flag_enviado = true WHERE id_questionario = ?; "); | ||
422 | + | ||
423 | + estado = con.prepareStatement(sql.toString()); | ||
424 | + | ||
425 | + estado.setInt(1, idQuestionario); | ||
426 | + | ||
427 | + resultado = estado.executeUpdate(); | ||
428 | + | ||
429 | + if (resultado == 0) { | ||
430 | + salvoComSucesso = false; | ||
431 | + } else { | ||
432 | + | ||
433 | + salvoComSucesso = true; | ||
434 | + } | ||
435 | + | ||
436 | + } catch (SQLException e) { | ||
437 | + | ||
438 | + e.printStackTrace(); | ||
439 | + } | ||
440 | + | ||
441 | + return salvoComSucesso; | ||
442 | + } | ||
443 | + | ||
444 | + public ResultSet retornarQuestionarioPorId(String path, int idQuestionario) { | ||
445 | + | ||
446 | + StringBuffer sql = new StringBuffer(); | ||
447 | + Connection con = Conexao.conecta(path); | ||
448 | + Statement estado; | ||
449 | + ResultSet rset = null; | ||
450 | + | ||
451 | + try { | ||
452 | + estado = con.createStatement(); | ||
453 | + | ||
454 | + estado.execute(sql.toString()); | ||
455 | + sql.append(" SELECT * "); | ||
456 | + sql.append(" FROM public.questionario where id_questionario = " | ||
457 | + + idQuestionario + ";"); | ||
458 | + | ||
459 | + rset = estado.executeQuery(sql.toString()); | ||
460 | + | ||
461 | + return rset; | ||
462 | + } catch (SQLException e) { | ||
463 | + e.printStackTrace(); | ||
464 | + return null; | ||
465 | + | ||
466 | + } finally { | ||
467 | + if (con != null) { | ||
468 | + try { | ||
469 | + con.close(); | ||
470 | + } catch (SQLException e) { | ||
471 | + e.printStackTrace(); | ||
472 | + } | ||
473 | + } | ||
474 | + } | ||
475 | + | ||
476 | + } | ||
477 | + | ||
478 | + public int salvarQuestionarioAtualizaOrgao(String path, Questionario questionario, Orgao orgao) { | ||
479 | + | ||
480 | + Connection con = null; | ||
481 | + int resultado = 0; | ||
482 | + int idQuestionario = 0; | ||
483 | + String resultadoAmostragem = null; | ||
484 | + StringBuffer sql; | ||
485 | + StringBuffer sqlNovo; | ||
486 | + Statement estado; | ||
487 | + boolean salvoComSucesso = false; | ||
488 | + String dataHoraRespostaQuestionario = DateUtil.dataHoraAtual(); | ||
489 | + try { | ||
490 | + | ||
491 | + // FileInputStream fileIn = new FileInputStream(file); | ||
492 | + Date dtInicioQuestionario = DateUtil.dataFormatada(questionario | ||
493 | + .getDtInicioQuestionario()); | ||
494 | + Date dtFimQuestionario = DateUtil.dataFormatada(questionario | ||
495 | + .getDtFimQuestionario()); | ||
496 | + Date dtRecebimentoEmail = DateUtil.dataFormatada(questionario | ||
497 | + .getDtRecebimentoEmail()); | ||
498 | + // Date dtRespostaEmail = new Date(); | ||
499 | + | ||
500 | + java.sql.Date sqlDtInicioQuestionario = new java.sql.Date( | ||
501 | + dtInicioQuestionario.getTime()); | ||
502 | + java.sql.Date sqlDtFimQuestionario = new java.sql.Date( | ||
503 | + dtFimQuestionario.getTime()); | ||
504 | + java.sql.Date sqlDtRecebimentoEmail = new java.sql.Date( | ||
505 | + dtRecebimentoEmail.getTime()); | ||
506 | + // java.sql.Date sqlDtRespostaEmail = new | ||
507 | + // java.sql.Date(dtRespostaEmail.getTime()); | ||
508 | + | ||
509 | + con = Conexao.conecta(path); | ||
510 | + if (con != null) { | ||
511 | + con.setAutoCommit(false); | ||
512 | + // cria statement para executar a query | ||
513 | + estado = con.createStatement(); | ||
514 | + | ||
515 | + sql = new StringBuffer(); | ||
516 | + | ||
517 | + sql.append(" INSERT INTO public.questionario( "); | ||
518 | + sql.append(" dt_inicio_questionario, dt_fim_questionario, "); | ||
519 | + sql.append(" no_orgao, hash_autenticacao, questionario_respondido, email_destino_orgao, "); | ||
520 | + sql.append(" responsavel, cargo_responsavel, telefone, idAutorizacao, "); | ||
521 | + sql.append(" data_recebimento_email,flag_enviado) "); | ||
522 | + sql.append(" VALUES ('" + sqlDtInicioQuestionario + "', '" | ||
523 | + + sqlDtFimQuestionario + "', '" | ||
524 | + + questionario.getNoOrgao() + "', "); | ||
525 | + sql.append(" '" + questionario.getHashAutenticacao() | ||
526 | + + "', false, '" + questionario.getEmailDestinoOrgao() | ||
527 | + + "', "); | ||
528 | + sql.append(" '" + questionario.getResponsavel() + "', '" | ||
529 | + + questionario.getCargoResponsavel() + "', "); | ||
530 | + sql.append(" '" + questionario.getTelefone() + "', " | ||
531 | + + questionario.getIdAutorizacaoGeracaoHash() + ", "); | ||
532 | + sql.append(" '" + sqlDtRecebimentoEmail + "'," + false + ");"); | ||
533 | + | ||
534 | + // cria statement para executar a query | ||
535 | + // PreparedStatement estado = | ||
536 | + // con.prepareStatement(sql.toString(), | ||
537 | + // Statement.RETURN_GENERATED_KEYS); | ||
538 | + | ||
539 | + estado.executeUpdate(sql.toString(), | ||
540 | + Statement.RETURN_GENERATED_KEYS); | ||
541 | + | ||
542 | + ResultSet rs = estado.getGeneratedKeys(); | ||
543 | + | ||
544 | + while (rs.next()) { | ||
545 | + idQuestionario = rs.getInt("id_questionario"); | ||
546 | + } | ||
547 | + | ||
548 | + if (idQuestionario == 0) { | ||
549 | + con.rollback(); | ||
550 | + } else { | ||
551 | + | ||
552 | + sqlNovo = new StringBuffer(); | ||
553 | + sqlNovo.append(" UPDATE public.orgao SET id_questionario = "+ idQuestionario +" WHERE id_orgao = "+ orgao.getIdOrgao() +";"); | ||
554 | + | ||
555 | + resultado = estado.executeUpdate(sqlNovo.toString()); | ||
556 | + | ||
557 | + if (resultado == 0) { | ||
558 | + con.rollback(); | ||
559 | + }else | ||
560 | + { | ||
561 | + | ||
562 | + con.commit(); | ||
563 | + } | ||
564 | + } | ||
565 | + | ||
566 | + } | ||
567 | + | ||
568 | + } | ||
569 | + | ||
570 | + catch (SQLException | ParseException e) { | ||
571 | + System.err.print(e.getMessage()); | ||
572 | + } finally { | ||
573 | + if (con != null) { | ||
574 | + try { | ||
575 | + con.close(); | ||
576 | + } catch (SQLException e) { | ||
577 | + e.printStackTrace(); | ||
578 | + } | ||
579 | + } | ||
580 | + } | ||
581 | + | ||
582 | + return idQuestionario; | ||
583 | + } | ||
584 | + | ||
585 | + | ||
586 | + | ||
587 | + public int salvarQuestionarioOrgao(String path, Questionario questionario) { | ||
588 | + | ||
589 | + Connection con = null; | ||
590 | + int resultado = 0; | ||
591 | + int idQuestionario = 0; | ||
592 | + String resultadoAmostragem = null; | ||
593 | + StringBuffer sql; | ||
594 | + StringBuffer sqlNovo; | ||
595 | + Statement estado; | ||
596 | + boolean salvoComSucesso = false; | ||
597 | + String dataHoraRespostaQuestionario = DateUtil.dataHoraAtual(); | ||
598 | + try { | ||
599 | + | ||
600 | + // FileInputStream fileIn = new FileInputStream(file); | ||
601 | + Date dtInicioQuestionario = DateUtil.dataFormatada(questionario | ||
602 | + .getDtInicioQuestionario()); | ||
603 | + Date dtFimQuestionario = DateUtil.dataFormatada(questionario | ||
604 | + .getDtFimQuestionario()); | ||
605 | + Date dtRecebimentoEmail = DateUtil.dataFormatada(questionario | ||
606 | + .getDtRecebimentoEmail()); | ||
607 | + // Date dtRespostaEmail = new Date(); | ||
608 | + | ||
609 | + java.sql.Date sqlDtInicioQuestionario = new java.sql.Date( | ||
610 | + dtInicioQuestionario.getTime()); | ||
611 | + java.sql.Date sqlDtFimQuestionario = new java.sql.Date( | ||
612 | + dtFimQuestionario.getTime()); | ||
613 | + java.sql.Date sqlDtRecebimentoEmail = new java.sql.Date( | ||
614 | + dtRecebimentoEmail.getTime()); | ||
615 | + // java.sql.Date sqlDtRespostaEmail = new | ||
616 | + // java.sql.Date(dtRespostaEmail.getTime()); | ||
617 | + | ||
618 | + con = Conexao.conecta(path); | ||
619 | + if (con != null) { | ||
620 | + con.setAutoCommit(false); | ||
621 | + // cria statement para executar a query | ||
622 | + estado = con.createStatement(); | ||
623 | + | ||
624 | + sql = new StringBuffer(); | ||
625 | + | ||
626 | + sql.append(" INSERT INTO public.questionario( "); | ||
627 | + sql.append(" dt_inicio_questionario, dt_fim_questionario, "); | ||
628 | + sql.append(" no_orgao, hash_autenticacao, questionario_respondido, email_destino_orgao, "); | ||
629 | + sql.append(" responsavel, cargo_responsavel, telefone, idAutorizacao, "); | ||
630 | + sql.append(" data_recebimento_email,flag_enviado) "); | ||
631 | + sql.append(" VALUES ('" + sqlDtInicioQuestionario + "', '" | ||
632 | + + sqlDtFimQuestionario + "', '" | ||
633 | + + questionario.getNoOrgao() + "', "); | ||
634 | + sql.append(" '" + questionario.getHashAutenticacao() | ||
635 | + + "', false, '" + questionario.getEmailDestinoOrgao() | ||
636 | + + "', "); | ||
637 | + sql.append(" '" + questionario.getResponsavel() + "', '" | ||
638 | + + questionario.getCargoResponsavel() + "', "); | ||
639 | + sql.append(" '" + questionario.getTelefone() + "', " | ||
640 | + + questionario.getIdAutorizacaoGeracaoHash() + ", "); | ||
641 | + sql.append(" '" + sqlDtRecebimentoEmail + "'," + false + ");"); | ||
642 | + | ||
643 | + // cria statement para executar a query | ||
644 | + // PreparedStatement estado = | ||
645 | + // con.prepareStatement(sql.toString(), | ||
646 | + // Statement.RETURN_GENERATED_KEYS); | ||
647 | + | ||
648 | + estado.executeUpdate(sql.toString(), | ||
649 | + Statement.RETURN_GENERATED_KEYS); | ||
650 | + | ||
651 | + ResultSet rs = estado.getGeneratedKeys(); | ||
652 | + | ||
653 | + while (rs.next()) { | ||
654 | + idQuestionario = rs.getInt("id_questionario"); | ||
655 | + } | ||
656 | + | ||
657 | + if (idQuestionario == 0) { | ||
658 | + con.rollback(); | ||
659 | + } else { | ||
660 | + | ||
661 | + sqlNovo = new StringBuffer(); | ||
662 | + sqlNovo.append(" INSERT INTO orgao (no_orgao, id_questionario) values ('" | ||
663 | + + questionario.getNoOrgao() | ||
664 | + + "'," | ||
665 | + + idQuestionario | ||
666 | + + ")"); | ||
667 | + | ||
668 | + resultado = estado.executeUpdate(sqlNovo.toString()); | ||
669 | + | ||
670 | + if (resultado == 0) { | ||
671 | + con.rollback(); | ||
672 | + }else | ||
673 | + { | ||
674 | + | ||
675 | + con.commit(); | ||
676 | + } | ||
677 | + } | ||
678 | + | ||
679 | + } | ||
680 | + | ||
681 | + } | ||
682 | + | ||
683 | + catch (SQLException | ParseException e) { | ||
684 | + System.err.print(e.getMessage()); | ||
685 | + } finally { | ||
686 | + if (con != null) { | ||
687 | + try { | ||
688 | + con.close(); | ||
689 | + } catch (SQLException e) { | ||
690 | + e.printStackTrace(); | ||
691 | + } | ||
692 | + } | ||
693 | + } | ||
694 | + | ||
695 | + return idQuestionario; | ||
696 | + } | ||
697 | + | ||
564 | } | 698 | } |