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 | 41 | <option value="${item.idOrgao }">${item.nomeOrgao }</option> |
42 | 42 | </c:forEach> |
43 | 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 | 52 | <br> <label for="nomeResponsavel">Responsável: </label> <input |
47 | 53 | type="text" id="nomeResponsavel" name="nomeResponsavel" size="65"><br> |
48 | 54 | <br> <label for="cargoResponsavel">Cargo: </label> <input | ... | ... |
src/br/com/controller/QuestionarioController.java
... | ... | @@ -152,9 +152,9 @@ public class QuestionarioController { |
152 | 152 | |
153 | 153 | @Path("/salvar-questionario") |
154 | 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 | 159 | AutorizacaoGeracaoHashDao autorizacaoGeracaoHashDao = new AutorizacaoGeracaoHashDao(); |
160 | 160 | String mensagemEnvio = ""; |
... | ... | @@ -200,135 +200,133 @@ public class QuestionarioController { |
200 | 200 | OrgaoDao orgaoDao = new OrgaoDao(); |
201 | 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 | 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 | 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 | 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 | 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 | 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 | 323 | result.include("mensagemEnvio", mensagemEnvio); |
325 | 324 | this.validator.add(new ValidationMessage("", "")); |
326 | 325 | this.validator.onErrorUsePageOf(QuestionarioController.class) |
327 | 326 | .confirmacaoHash(); |
328 | 327 | } |
329 | - } | |
330 | - else | |
331 | - { | |
328 | + | |
329 | + } else { | |
332 | 330 | mensagemEnvio = "Não foi possível identificar o Órgao!"; |
333 | 331 | result.include("mensagemEnvio", mensagemEnvio); |
334 | 332 | this.validator.add(new ValidationMessage("", "")); | ... | ... |
src/br/com/dao/QuestionarioDao.java
... | ... | @@ -16,549 +16,683 @@ import java.util.Date; |
16 | 16 | import java.util.List; |
17 | 17 | |
18 | 18 | import br.com.caelum.vraptor.interceptor.multipart.UploadedFile; |
19 | +import br.com.model.entity.Orgao; | |
19 | 20 | import br.com.model.entity.PlanoTrabalho; |
20 | 21 | import br.com.model.entity.Questionario; |
22 | +import br.com.model.entity.RespostaQuestionario; | |
21 | 23 | import br.com.util.DateUtil; |
22 | 24 | import br.com.util.GeradorCodigoHash; |
23 | 25 | |
24 | 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 | } | ... | ... |