diff --git a/WebContent/WEB-INF/jsp/painel/painel.jsp b/WebContent/WEB-INF/jsp/painel/painel.jsp index 971aefe..3223b23 100644 --- a/WebContent/WEB-INF/jsp/painel/painel.jsp +++ b/WebContent/WEB-INF/jsp/painel/painel.jsp @@ -27,10 +27,17 @@ +
- +
Dados Acessibilidade + +
+
+
+
+
@@ -120,7 +127,7 @@

Nota ASES (maior que 60% e menor ou igual 70%): ${notaAsesMaior_60_menorIgual_70 }

Nota ASES (maior que 70% e menor ou igual 80%): ${notaAsesMaior_70_menorIgual_80 }

Nota ASES (maior que 80% e menor ou igual 90%): ${notaAsesMaior_80_menorIgual_90 }

-

Nota ASES (maior que 90% e menor ou igual 100%): ${notaAsesMaior_90_menor_100 }

+

Nota ASES (maior que 90% e menor 100%): ${notaAsesMaior_90_menor_100 }

Nota ASES (igual a 100%): ${notaAsesIgual_100 }

diff --git a/WebContent/WEB-INF/jsp/questionario/listaQuestionario.jsp b/WebContent/WEB-INF/jsp/questionario/listaQuestionario.jsp index e009288..3594c7a 100644 --- a/WebContent/WEB-INF/jsp/questionario/listaQuestionario.jsp +++ b/WebContent/WEB-INF/jsp/questionario/listaQuestionario.jsp @@ -99,7 +99,13 @@ ${relatorioAnex == 'nao'?'selected=\"selected\"':''}>Não

- + + +

diff --git a/WebContent/WEB-INF/jsp/questionario/questionario.jsp b/WebContent/WEB-INF/jsp/questionario/questionario.jsp index 6defe0a..d91d919 100644 --- a/WebContent/WEB-INF/jsp/questionario/questionario.jsp +++ b/WebContent/WEB-INF/jsp/questionario/questionario.jsp @@ -35,8 +35,14 @@ table, th, td {
-

+
+ +



lsRespostaQuestionario; + + + //pergunta 1 + int pergunta1_2 = 0; + int pergunta1_3 = 0; + int pergunta1_4 = 0; + + //pergunta 2 + int pergunta2_2 = 0; + int pergunta2_3 = 0; + + //pergunta 3 + int pergunta3_2 = 0; + int pergunta3_5 = 0; + int pergunta3_6 = 0; + + //pergunta 4 + int pergunta4_7 = 0; + int pergunta4_8 = 0; + int pergunta4_9 = 0; + int pergunta4_10 = 0; + + //pergunta 5 + int pergunta5_11 = 0; + int pergunta5_12 = 0; + int pergunta5_13 = 0; + int pergunta5_3 = 0; + + //pergunta 6 + int pergunta6_14 = 0; + int pergunta6_15 = 0; + int pergunta6_3 = 0; + + //pergunta 7 + int pergunta7_2 = 0; + int pergunta7_3 = 0; + + //pergunta 8 + int pergunta8_16 = 0; + int pergunta8_17 = 0; + int pergunta8_18 = 0; + int pergunta8_19 = 0; + + //pergunta 9 + int pergunta9_20 = 0; + int pergunta9_21 = 0; + int pergunta9_22 = 0; + int pergunta9_23 = 0; + int pergunta9_24 = 0; + int pergunta9_25 = 0; + int pergunta9_26 = 0; + int pergunta9_27 = 0; + int pergunta9_28 = 0; + int pergunta9_29 = 0; + int pergunta9_30 = 0; + int pergunta9_31 = 0; + int pergunta9_32 = 0; + int pergunta9_33 = 0; + int pergunta9_34 = 0; + + //Notas Ases + Double notaConvertidaAses; + String nota = null; + int notaAsesMenorIgual_10 = 0; + int notaAsesMaior_10_menorIgual_20 = 0; + int notaAsesMaior_20_menorIgual_30 = 0; + int notaAsesMaior_30_menorIgual_40 = 0; + int notaAsesMaior_40_menorIgual_50 = 0; + int notaAsesMaior_50_menorIgual_60 = 0; + int notaAsesMaior_60_menorIgual_70 = 0; + int notaAsesMaior_70_menorIgual_80 = 0; + int notaAsesMaior_80_menorIgual_90 = 0; + int notaAsesMaior_90_menor_100 = 0; + int notaAsesIgual_100 = 0; + int totalAmbientes = 0; + + //Notas AccessMonitor + int notaAccessMonitorMenorIgual_1 = 0; + int notaAccessMonitorMaior_1_menorIgual_2 = 0; + int notaAccessMonitorMaior_2_menorIgual_3 = 0; + int notaAccessMonitorMaior_3_menorIgual_4 = 0; + int notaAccessMonitorMaior_4_menorIgual_5 = 0; + int notaAccessMonitorMaior_5_menorIgual_6 = 0; + int notaAccessMonitorMaior_6_menorIgual_7 = 0; + int notaAccessMonitorMaior_7_menorIgual_8 = 0; + int notaAccessMonitorMaior_8_menorIgual_9 = 0; + int notaAccessMonitorMaior_9_menor_10 = 0; + int notaAccessMonitorIgual_10 = 0; + Double notaConvertidaAccessMonitor; + + + //pergunta 11 + int pergunta11_50 = 0; + int pergunta11_51 = 0; + int pergunta11_52 = 0; + int pergunta11_53 = 0; + int pergunta11_54 = 0; + + //pergunta 12 + int pergunta12_65 = 0; + int pergunta12_66 = 0; + int pergunta12_67 = 0; + int pergunta12_68 = 0; + + //pergunta 13 + int pergunta13_2 = 0; + int pergunta13_55 = 0; + int pergunta13_3 = 0; + + //pergunta 14 + int pergunta14_20 = 0; + int pergunta14_56 = 0; + int pergunta14_57 = 0; + int pergunta14_58 = 0; + int pergunta14_59 = 0; + int pergunta14_60 = 0; + int pergunta14_61 = 0; + int pergunta14_62 = 0; + int pergunta14_69 = 0; + int pergunta14_34 = 0; + + + try { + while (rset.next()) { + lsRespostaQuestionario = new ArrayList(); + + lsRespostaQuestionario = respostaQuestionarioDao.retornarRespostaQuestionarioPorQuestionario(path, + rset.getInt("id_questionario")); + + for (RespostaQuestionario respostaQuestionario : lsRespostaQuestionario) { + + switch (respostaQuestionario.getPergunta().getIdPergunta()) { + case 7: + if(respostaQuestionario.getOpcaoResposta().getIdOpcaoResposta() == 2) + { + pergunta1_2++; + }else if(respostaQuestionario.getOpcaoResposta().getIdOpcaoResposta() == 3) + { + pergunta1_3++; + }else if(respostaQuestionario.getOpcaoResposta().getIdOpcaoResposta() == 4) + { + pergunta1_4++; + } + break; + + case 8: + if(respostaQuestionario.getOpcaoResposta().getIdOpcaoResposta() == 2) + { + pergunta2_2++; + }else if(respostaQuestionario.getOpcaoResposta().getIdOpcaoResposta() == 3) + { + pergunta2_3++; + } + break; + case 10: + if(respostaQuestionario.getOpcaoResposta().getIdOpcaoResposta() == 2) + { + pergunta3_2++; + }else if(respostaQuestionario.getOpcaoResposta().getIdOpcaoResposta() == 5) + { + pergunta3_5++; + }else if(respostaQuestionario.getOpcaoResposta().getIdOpcaoResposta() == 6) + { + pergunta3_6++; + } + break; + case 11: + if(respostaQuestionario.getOpcaoResposta().getIdOpcaoResposta() == 7) + { + pergunta4_7++; + }else if(respostaQuestionario.getOpcaoResposta().getIdOpcaoResposta() == 8) + { + pergunta4_8++; + }else if(respostaQuestionario.getOpcaoResposta().getIdOpcaoResposta() == 9) + { + pergunta4_9++; + }else if(respostaQuestionario.getOpcaoResposta().getIdOpcaoResposta() == 10) + { + pergunta4_10++; + } + break; + case 12: + if(respostaQuestionario.getOpcaoResposta().getIdOpcaoResposta() == 11) + { + pergunta5_11++; + }else if(respostaQuestionario.getOpcaoResposta().getIdOpcaoResposta() == 12) + { + pergunta5_12++; + }else if(respostaQuestionario.getOpcaoResposta().getIdOpcaoResposta() == 13) + { + pergunta5_13++; + }else if(respostaQuestionario.getOpcaoResposta().getIdOpcaoResposta() == 3) + { + pergunta5_3++; + } + break; + case 14: + if(respostaQuestionario.getOpcaoResposta().getIdOpcaoResposta() == 14) + { + pergunta6_14++; + }else if(respostaQuestionario.getOpcaoResposta().getIdOpcaoResposta() == 15) + { + pergunta6_15++; + }else if(respostaQuestionario.getOpcaoResposta().getIdOpcaoResposta() == 3) + { + pergunta6_3++; + } + break; + case 15: + if(respostaQuestionario.getOpcaoResposta().getIdOpcaoResposta() == 2) + { + pergunta7_2++; + }else if(respostaQuestionario.getOpcaoResposta().getIdOpcaoResposta() == 3) + { + pergunta7_3++; + } + break; + case 16: + if(respostaQuestionario.getOpcaoResposta().getIdOpcaoResposta() == 16) + { + pergunta8_16++; + }else if(respostaQuestionario.getOpcaoResposta().getIdOpcaoResposta() == 17) + { + pergunta8_17++; + }else if(respostaQuestionario.getOpcaoResposta().getIdOpcaoResposta() == 18) + { + pergunta8_18++; + }else if(respostaQuestionario.getOpcaoResposta().getIdOpcaoResposta() == 19) + { + pergunta8_19++; + } + break; + case 17: + if(respostaQuestionario.getOpcaoResposta().getIdOpcaoResposta() == 20) + { + pergunta9_20++; + }else if(respostaQuestionario.getOpcaoResposta().getIdOpcaoResposta() == 21) + { + pergunta9_21++; + }else if(respostaQuestionario.getOpcaoResposta().getIdOpcaoResposta() == 22) + { + pergunta9_22++; + }else if(respostaQuestionario.getOpcaoResposta().getIdOpcaoResposta() == 23) + { + pergunta9_23++; + }else if(respostaQuestionario.getOpcaoResposta().getIdOpcaoResposta() == 24) + { + pergunta9_24++; + }else if(respostaQuestionario.getOpcaoResposta().getIdOpcaoResposta() == 25) + { + pergunta9_25++; + }else if(respostaQuestionario.getOpcaoResposta().getIdOpcaoResposta() == 26) + { + pergunta9_26++; + }else if(respostaQuestionario.getOpcaoResposta().getIdOpcaoResposta() == 27) + { + pergunta9_27++; + }else if(respostaQuestionario.getOpcaoResposta().getIdOpcaoResposta() == 28) + { + pergunta9_28++; + }else if(respostaQuestionario.getOpcaoResposta().getIdOpcaoResposta() == 29) + { + pergunta9_29++; + }else if(respostaQuestionario.getOpcaoResposta().getIdOpcaoResposta() == 30) + { + pergunta9_30++; + }else if(respostaQuestionario.getOpcaoResposta().getIdOpcaoResposta() == 31) + { + pergunta9_31++; + }else if(respostaQuestionario.getOpcaoResposta().getIdOpcaoResposta() == 32) + { + pergunta9_32++; + }else if(respostaQuestionario.getOpcaoResposta().getIdOpcaoResposta() == 33) + { + pergunta9_33++; + }else if(respostaQuestionario.getOpcaoResposta().getIdOpcaoResposta() == 34) + { + pergunta9_34++; + } + break; + case 19: + totalAmbientes++; + //Notas Ases + if(respostaQuestionario.getOpcaoResposta().getIdOpcaoResposta() == 63) + { + notaConvertidaAses = Double.parseDouble(respostaQuestionario.getTextoResposta().replace(",", ".")); + + if(notaConvertidaAses <= 10) + { + notaAsesMenorIgual_10++; + + }else if(notaConvertidaAses > 10 && notaConvertidaAses <= 20) + { + notaAsesMaior_10_menorIgual_20++; + + }else if(notaConvertidaAses > 20 && notaConvertidaAses <= 30) + { + notaAsesMaior_20_menorIgual_30++; + + }else if(notaConvertidaAses > 30 && notaConvertidaAses <= 40) + { + notaAsesMaior_30_menorIgual_40++; + + }else if(notaConvertidaAses > 40 && notaConvertidaAses <= 50) + { + notaAsesMaior_40_menorIgual_50++; + + }else if(notaConvertidaAses > 50 && notaConvertidaAses <= 60) + { + notaAsesMaior_50_menorIgual_60++; + + }else if(notaConvertidaAses > 60 && notaConvertidaAses <= 70) + { + notaAsesMaior_60_menorIgual_70++; + + }else if(notaConvertidaAses > 70 && notaConvertidaAses <= 80) + { + notaAsesMaior_70_menorIgual_80++; + + }else if(notaConvertidaAses > 80 && notaConvertidaAses <= 90) + { + notaAsesMaior_80_menorIgual_90++; + + }else if(notaConvertidaAses > 90 && notaConvertidaAses < 100) + { + notaAsesMaior_90_menor_100++; + + }else if(notaConvertidaAses == 100) + { + notaAsesIgual_100++; + } + + + }else if(respostaQuestionario.getOpcaoResposta().getIdOpcaoResposta() == 64) + { + //Notas AccessMonitor + notaConvertidaAccessMonitor = Double.parseDouble(respostaQuestionario.getTextoResposta().replace(",", ".")); + + if(notaConvertidaAccessMonitor <= 1) + { + notaAccessMonitorMenorIgual_1++; + + }else if(notaConvertidaAccessMonitor > 2 && notaConvertidaAccessMonitor <= 3) + { + notaAccessMonitorMaior_1_menorIgual_2++; + + }else if(notaConvertidaAccessMonitor > 3 && notaConvertidaAccessMonitor <= 4) + { + notaAccessMonitorMaior_3_menorIgual_4++; + + }else if(notaConvertidaAccessMonitor > 4 && notaConvertidaAccessMonitor <= 5) + { + notaAccessMonitorMaior_4_menorIgual_5++; + + }else if(notaConvertidaAccessMonitor > 5 && notaConvertidaAccessMonitor <= 6) + { + notaAccessMonitorMaior_5_menorIgual_6++; + + }else if(notaConvertidaAccessMonitor > 6 && notaConvertidaAccessMonitor <= 7) + { + notaAccessMonitorMaior_6_menorIgual_7++; + + }else if(notaConvertidaAccessMonitor > 7 && notaConvertidaAccessMonitor <= 8) + { + notaAccessMonitorMaior_7_menorIgual_8++; + + }else if(notaConvertidaAccessMonitor > 8 && notaConvertidaAccessMonitor <= 9) + { + notaAccessMonitorMaior_8_menorIgual_9++; + + }else if(notaConvertidaAccessMonitor > 9 && notaConvertidaAccessMonitor < 10) + { + notaAccessMonitorMaior_9_menor_10++; + + }else if(notaConvertidaAccessMonitor == 10) + { + notaAccessMonitorIgual_10++; + } + } + break; + case 21: + if(respostaQuestionario.getOpcaoResposta().getIdOpcaoResposta() == 50) + { + pergunta11_50++; + }else if(respostaQuestionario.getOpcaoResposta().getIdOpcaoResposta() == 51) + { + pergunta11_51++; + }else if(respostaQuestionario.getOpcaoResposta().getIdOpcaoResposta() == 52) + { + pergunta11_52++; + }else if(respostaQuestionario.getOpcaoResposta().getIdOpcaoResposta() == 53) + { + pergunta11_53++; + }else if(respostaQuestionario.getOpcaoResposta().getIdOpcaoResposta() == 54) + { + pergunta11_54++; + } + + break; + case 22: + if(respostaQuestionario.getOpcaoResposta().getIdOpcaoResposta() == 65) + { + pergunta12_65++; + }else if(respostaQuestionario.getOpcaoResposta().getIdOpcaoResposta() == 66) + { + pergunta12_66++; + }else if(respostaQuestionario.getOpcaoResposta().getIdOpcaoResposta() == 67) + { + pergunta12_67++; + }else if(respostaQuestionario.getOpcaoResposta().getIdOpcaoResposta() == 68) + { + pergunta12_68++; + } + break; + case 23: + if(respostaQuestionario.getOpcaoResposta().getIdOpcaoResposta() == 2) + { + pergunta13_2++; + }else if(respostaQuestionario.getOpcaoResposta().getIdOpcaoResposta() == 55) + { + pergunta13_55++; + }else if(respostaQuestionario.getOpcaoResposta().getIdOpcaoResposta() == 3) + { + pergunta13_3++; + } + break; + case 24: + if(respostaQuestionario.getOpcaoResposta().getIdOpcaoResposta() == 20) + { + pergunta14_20++; + }else if(respostaQuestionario.getOpcaoResposta().getIdOpcaoResposta() == 56) + { + pergunta14_56++; + }else if(respostaQuestionario.getOpcaoResposta().getIdOpcaoResposta() == 57) + { + pergunta14_57++; + }else if(respostaQuestionario.getOpcaoResposta().getIdOpcaoResposta() == 58) + { + pergunta14_58++; + }else if(respostaQuestionario.getOpcaoResposta().getIdOpcaoResposta() == 59) + { + pergunta14_59++; + }else if(respostaQuestionario.getOpcaoResposta().getIdOpcaoResposta() == 60) + { + pergunta14_60++; + }else if(respostaQuestionario.getOpcaoResposta().getIdOpcaoResposta() == 61) + { + pergunta14_61++; + }else if(respostaQuestionario.getOpcaoResposta().getIdOpcaoResposta() == 62) + { + pergunta14_62++; + }else if(respostaQuestionario.getOpcaoResposta().getIdOpcaoResposta() == 69) + { + pergunta14_69++; + }else if(respostaQuestionario.getOpcaoResposta().getIdOpcaoResposta() == 34) + { + pergunta14_34++; + } + break; + default: + break; + } + + } + } + } catch (NumberFormatException e) { + e.printStackTrace(); + } catch (SQLException e) { + e.printStackTrace(); + } + PainelDao painelDao = new PainelDao(); //pergunta 1 - result.include("pergunta1_2", painelDao.retornarTotalResposta(path, 7,2)); - result.include("pergunta1_4", painelDao.retornarTotalResposta(path, 7,4)); - result.include("pergunta1_3", painelDao.retornarTotalResposta(path, 7,3)); + result.include("pergunta1_2", pergunta1_2); + result.include("pergunta1_4", pergunta1_4); + result.include("pergunta1_3", pergunta1_3); //pergunta 2 - result.include("pergunta2_2", painelDao.retornarTotalResposta(path, 8,2)); - result.include("pergunta2_3", painelDao.retornarTotalResposta(path, 8,3)); + result.include("pergunta2_2", pergunta2_2); + result.include("pergunta2_3", pergunta2_3); //pergunta 3 - result.include("pergunta3_2", painelDao.retornarTotalResposta(path, 10,2)); - result.include("pergunta3_5", painelDao.retornarTotalResposta(path, 10,5)); - result.include("pergunta3_6", painelDao.retornarTotalResposta(path, 10,6)); + result.include("pergunta3_2", pergunta3_2); + result.include("pergunta3_5", pergunta3_5); + result.include("pergunta3_6", pergunta3_6); //pergunta 4 - result.include("pergunta4_7", painelDao.retornarTotalResposta(path, 11,7)); - result.include("pergunta4_8", painelDao.retornarTotalResposta(path, 11,8)); - result.include("pergunta4_9", painelDao.retornarTotalResposta(path, 11,9)); - result.include("pergunta4_10", painelDao.retornarTotalResposta(path, 11,10)); + result.include("pergunta4_7", pergunta4_7); + result.include("pergunta4_8", pergunta4_8); + result.include("pergunta4_9", pergunta4_9); + result.include("pergunta4_10", pergunta4_10); //pergunta 5 - result.include("pergunta5_11", painelDao.retornarTotalResposta(path, 12,11)); - result.include("pergunta5_12", painelDao.retornarTotalResposta(path, 12,12)); - result.include("pergunta5_13", painelDao.retornarTotalResposta(path, 12,13)); - result.include("pergunta5_3", painelDao.retornarTotalResposta(path, 12,3)); + result.include("pergunta5_11", pergunta5_11); + result.include("pergunta5_12", pergunta5_12); + result.include("pergunta5_13", pergunta5_13); + result.include("pergunta5_3", pergunta5_3); //pergunta 6 - result.include("pergunta6_14", painelDao.retornarTotalResposta(path, 14,14)); - result.include("pergunta6_15", painelDao.retornarTotalResposta(path, 14,15)); - result.include("pergunta6_3", painelDao.retornarTotalResposta(path, 14,3)); + result.include("pergunta6_14", pergunta6_14); + result.include("pergunta6_15", pergunta6_15); + result.include("pergunta6_3", pergunta6_3); //pergunta 7 - result.include("pergunta7_2", painelDao.retornarTotalResposta(path, 15,2)); - result.include("pergunta7_3", painelDao.retornarTotalResposta(path, 15,3)); + result.include("pergunta7_2", pergunta7_2); + result.include("pergunta7_3", pergunta7_3); //pergunta 8 - result.include("pergunta8_16", painelDao.retornarTotalResposta(path, 16,16)); - result.include("pergunta8_17", painelDao.retornarTotalResposta(path, 16,17)); - result.include("pergunta8_18", painelDao.retornarTotalResposta(path, 16,18)); - result.include("pergunta8_19", painelDao.retornarTotalResposta(path, 16,19)); + result.include("pergunta8_16",pergunta8_16); + result.include("pergunta8_17", pergunta8_17); + result.include("pergunta8_18", pergunta8_18); + result.include("pergunta8_19", pergunta8_19); //pergunta 9 - result.include("pergunta9_20", painelDao.retornarTotalResposta(path, 17,20)); - result.include("pergunta9_21", painelDao.retornarTotalResposta(path, 17,21)); - result.include("pergunta9_22", painelDao.retornarTotalResposta(path, 17,22)); - result.include("pergunta9_23", painelDao.retornarTotalResposta(path, 17,23)); - result.include("pergunta9_24", painelDao.retornarTotalResposta(path, 17,24)); - result.include("pergunta9_25", painelDao.retornarTotalResposta(path, 17,25)); - result.include("pergunta9_26", painelDao.retornarTotalResposta(path, 17,26)); - result.include("pergunta9_27", painelDao.retornarTotalResposta(path, 17,27)); - result.include("pergunta9_28", painelDao.retornarTotalResposta(path, 17,28)); - result.include("pergunta9_29", painelDao.retornarTotalResposta(path, 17,29)); - result.include("pergunta9_30", painelDao.retornarTotalResposta(path, 17,30)); - result.include("pergunta9_31", painelDao.retornarTotalResposta(path, 17,31)); - result.include("pergunta9_32", painelDao.retornarTotalResposta(path, 17,32)); - result.include("pergunta9_33", painelDao.retornarTotalResposta(path, 17,33)); - result.include("pergunta9_34", painelDao.retornarTotalResposta(path, 17,34)); + result.include("pergunta9_20", pergunta9_20); + result.include("pergunta9_21", pergunta9_21); + result.include("pergunta9_22", pergunta9_22); + result.include("pergunta9_23", pergunta9_23); + result.include("pergunta9_24", pergunta9_24); + result.include("pergunta9_25", pergunta9_25); + result.include("pergunta9_26", pergunta9_26); + result.include("pergunta9_27", pergunta9_27); + result.include("pergunta9_28", pergunta9_28); + result.include("pergunta9_29", pergunta9_29); + result.include("pergunta9_30", pergunta9_30); + result.include("pergunta9_31", pergunta9_31); + result.include("pergunta9_32", pergunta9_32); + result.include("pergunta9_33", pergunta9_33); + result.include("pergunta9_34", pergunta9_34); //pergunta 10 NOTAS //pergunta 11 - result.include("pergunta11_50", painelDao.retornarTotalResposta(path, 21,50)); - result.include("pergunta11_51", painelDao.retornarTotalResposta(path, 21,51)); - result.include("pergunta11_52", painelDao.retornarTotalResposta(path, 21,52)); - result.include("pergunta11_53", painelDao.retornarTotalResposta(path, 21,53)); - result.include("pergunta11_54", painelDao.retornarTotalResposta(path, 21,54)); + result.include("pergunta11_50", pergunta11_50); + result.include("pergunta11_51", pergunta11_51); + result.include("pergunta11_52", pergunta11_52); + result.include("pergunta11_53", pergunta11_53); + result.include("pergunta11_54", pergunta11_54); //pergunta 12 - result.include("pergunta12_65", painelDao.retornarTotalResposta(path, 22,65)); - result.include("pergunta12_66", painelDao.retornarTotalResposta(path, 22,66)); - result.include("pergunta12_67", painelDao.retornarTotalResposta(path, 22,67)); - result.include("pergunta12_68", painelDao.retornarTotalResposta(path, 22,68)); + result.include("pergunta12_65", pergunta12_65); + result.include("pergunta12_66", pergunta12_66); + result.include("pergunta12_67", pergunta12_67); + result.include("pergunta12_68", pergunta12_68); //pergunta 13 - result.include("pergunta13_2", painelDao.retornarTotalResposta(path, 23,2)); - result.include("pergunta13_55", painelDao.retornarTotalResposta(path, 23,55)); - result.include("pergunta13_3", painelDao.retornarTotalResposta(path, 23,3)); + result.include("pergunta13_2", pergunta13_2); + result.include("pergunta13_55", pergunta13_55); + result.include("pergunta13_3", pergunta13_3); //pergunta 14 - result.include("pergunta14_20", painelDao.retornarTotalResposta(path, 24,20)); - result.include("pergunta14_56", painelDao.retornarTotalResposta(path, 24,56)); - result.include("pergunta14_57", painelDao.retornarTotalResposta(path, 24,57)); - result.include("pergunta14_58", painelDao.retornarTotalResposta(path, 24,58)); - result.include("pergunta14_59", painelDao.retornarTotalResposta(path, 24,59)); - result.include("pergunta14_60", painelDao.retornarTotalResposta(path, 24,60)); - result.include("pergunta14_61", painelDao.retornarTotalResposta(path, 24,61)); - result.include("pergunta14_62", painelDao.retornarTotalResposta(path, 24,62)); - result.include("pergunta14_69", painelDao.retornarTotalResposta(path, 24,69)); - result.include("pergunta14_34", painelDao.retornarTotalResposta(path, 24,34)); + result.include("pergunta14_20", pergunta14_20); + result.include("pergunta14_56", pergunta14_56); + result.include("pergunta14_57", pergunta14_57); + result.include("pergunta14_58", pergunta14_58); + result.include("pergunta14_59", pergunta14_59); + result.include("pergunta14_60", pergunta14_60); + result.include("pergunta14_61", pergunta14_61); + result.include("pergunta14_62", pergunta14_62); + result.include("pergunta14_69", pergunta14_69); + result.include("pergunta14_34", pergunta14_34); - ResultSet rset = null; + //ResultSet rset = null; //Notas Ases - rset = painelDao.retornarTotalNotas(path, 63); - String nota = null; + //rset = painelDao.retornarTotalNotas(path, 63); + /*String nota = null; int notaAsesMenorIgual_10 = 0; int notaAsesMaior_10_menorIgual_20 = 0; int notaAsesMaior_20_menorIgual_30 = 0; @@ -137,11 +621,11 @@ public class PainelController { int notaAsesMaior_80_menorIgual_90 = 0; int notaAsesMaior_90_menor_100 = 0; int notaAsesIgual_100 = 0; - int totalAmbientes = 0; + int totalAmbientes = 0;*/ + - Double notaConvertidaAses; - if(rset != null) + /*if(rset != null) { try { while (rset.next()) { @@ -196,7 +680,7 @@ public class PainelController { } catch (SQLException e) { e.printStackTrace(); } - } + }*/ result.include("notaAsesMenorIgual_10", notaAsesMenorIgual_10); @@ -213,7 +697,7 @@ public class PainelController { result.include("totalAmbientes", totalAmbientes); //Notas AccessMonitor - rset = painelDao.retornarTotalNotas(path, 64); + /*rset = painelDao.retornarTotalNotas(path, 64); int notaAccessMonitorMenorIgual_1 = 0; int notaAccessMonitorMaior_1_menorIgual_2 = 0; @@ -282,9 +766,10 @@ public class PainelController { } catch (SQLException e) { e.printStackTrace(); } - } - + }*/ + + result.include("totalRelatorioRespondido", painelDao.retornarTotalQuestionarioRespondido(path)); result.include("notaAccessMonitorMenorIgual_1", notaAccessMonitorMenorIgual_1); result.include("notaAccessMonitorMaior_1_menorIgual_2", notaAccessMonitorMaior_1_menorIgual_2); result.include("notaAccessMonitorMaior_2_menorIgual_3", notaAccessMonitorMaior_2_menorIgual_3); @@ -298,6 +783,45 @@ public class PainelController { result.include("notaAccessMonitorMaior_9_menor_10", notaAccessMonitorMaior_9_menor_10); result.include("notaAccessMonitorIgual_10", notaAccessMonitorIgual_10); + listarRelatorioQuestionario(); + } + + + private void listarRelatorioQuestionario() + { + QuestionarioDao questionarioDao = new QuestionarioDao(); + List lsquestionario = new ArrayList(); + lsquestionario = questionarioDao.retornarListaQuestionario(path); + + + + int planoTrabalhoAnexado = 0; + int relatorioAnexado = 0; + int relatorioEnviado = 0; + + for (Questionario questionario : lsquestionario) { + + if(questionario.isPlanoTrabalhoAnexado()) + { + planoTrabalhoAnexado++; + } + if(questionario.isRelatorioAnexado()) + { + relatorioAnexado++; + } + if(questionario.isFlagEnviado()) + { + relatorioEnviado++; + } + + } + + + result.include("totalPlanoTrabalhoAnexado", planoTrabalhoAnexado); + result.include("totalRelatorioAnexado", relatorioAnexado); + result.include("totalRelatorioEnviado", relatorioEnviado); + result.include("lsquestionario", lsquestionario); + result.include("totalSolicitacoes", lsquestionario.size()); } } diff --git a/src/br/com/controller/PlanoTrabalhoController.java b/src/br/com/controller/PlanoTrabalhoController.java index 45d098f..a561c17 100644 --- a/src/br/com/controller/PlanoTrabalhoController.java +++ b/src/br/com/controller/PlanoTrabalhoController.java @@ -389,7 +389,7 @@ public class PlanoTrabalhoController extends DefaultMultipartConfig { Validacao validacao = new Validacao(); validacao.setCampo("valorHash"); validacao - .setMensagem("ATEN��O: Voc� precisa estar logado para enviar Relat�rio � PFDC/MPF."); + .setMensagem("ATENÇÃO: Você precisa estar logado para enviar Relatório à PFDC/MPF."); mensagemValidacaoCampos.add(validacao); diff --git a/src/br/com/controller/QuestionarioController.java b/src/br/com/controller/QuestionarioController.java index e8a94ef..d01cc7d 100644 --- a/src/br/com/controller/QuestionarioController.java +++ b/src/br/com/controller/QuestionarioController.java @@ -2,6 +2,8 @@ package br.com.controller; import java.io.IOException; import java.security.NoSuchAlgorithmException; +import java.sql.ResultSet; +import java.sql.SQLException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; @@ -19,9 +21,11 @@ import br.com.caelum.vraptor.Validator; import br.com.caelum.vraptor.interceptor.multipart.UploadedFile; import br.com.caelum.vraptor.validator.ValidationMessage; import br.com.dao.AutorizacaoGeracaoHashDao; +import br.com.dao.OrgaoDao; import br.com.dao.QuestionarioDao; import br.com.model.entity.Contato; import br.com.model.entity.EnvioEmailSemAutenticacao; +import br.com.model.entity.Orgao; import br.com.model.entity.Questionario; import br.com.model.utilities.Email; import br.com.model.utilities.ManagerProperties; @@ -33,280 +37,347 @@ import br.com.util.Validacao; @Resource public class QuestionarioController { - private Result result; - private Validator validator; - private ServletContext application; - private String path; - - - public QuestionarioController(Result result, Validator validator, ServletContext application) { - - this.result = result; - this.validator = validator; - this.application = application; - this.path = this.application.getRealPath("") + "/WEB-INF/conexao.properties"; - } - - @Path("/questionario") - public void questionario() { - - QuestionarioDao questionarioDao = new QuestionarioDao(); - List lsquestionario = new ArrayList(); - lsquestionario = questionarioDao.retornarListaQuestionario(path); - - - int relatorioRespondido = 0; - int planoTrabalhoAnexado = 0; - int relatorioAnexado = 0; - int relatorioEnviado = 0; - - for (Questionario questionario : lsquestionario) { - - if(questionario.getDataRespostaQuestionario() != null) - { - relatorioRespondido++; - } - if(questionario.isPlanoTrabalhoAnexado()) - { - planoTrabalhoAnexado++; - } - if(questionario.isRelatorioAnexado()) - { - relatorioAnexado++; - } - if(questionario.isFlagEnviado()) - { - relatorioEnviado++; - } - - } - - result.include("totalRelatorioRespondido", relatorioRespondido); - result.include("totalPlanoTrabalhoAnexado", planoTrabalhoAnexado); - result.include("totalRelatorioAnexado", relatorioAnexado); - result.include("totalRelatorioEnviado", relatorioEnviado); - result.include("lsquestionario", lsquestionario); - result.include("totalSolicitacoes", lsquestionario.size()); - } - - @Path("/confirmacaoHash") - public void confirmacaoHash() { - - } - - @Path("/lista-questionario") - public void listaQuestionario() { - listarQuestionarioComFiltro("todos", "todos","todos", ""); - } - - @Path("/listar-questionario") - public void listarQuestionarioComFiltro(String statusRelatorio, String statusPlanoTrabalho, String relatorioAnexado, String nomeOrgao) { - - QuestionarioDao questionarioDao = new QuestionarioDao(); - List lsquestionario = new ArrayList(); - lsquestionario = questionarioDao.retornarListaQuestionarioComFiltro(path, statusRelatorio, statusPlanoTrabalho, relatorioAnexado, nomeOrgao); - result.include("lsquestionario", lsquestionario); - result.include("totalSolicitacoes", lsquestionario.size()); - result.include("statusRel", statusRelatorio.equalsIgnoreCase("todos")? "" :statusRelatorio); - result.include("relatorioAnex", relatorioAnexado.equalsIgnoreCase("todos")? "" :relatorioAnexado); - result.include("statusPlanoTrab", statusPlanoTrabalho.equalsIgnoreCase("todos")? "" :statusPlanoTrabalho); - result.include("nomeOrgao", nomeOrgao != null? nomeOrgao:""); - - this.validator.add(new ValidationMessage("", "")); - this.validator.onErrorUsePageOf(QuestionarioController.class).listaQuestionario(); - - - } - - @Path("/salvar-questionario") - public void questionarioSalvar(String autorizacao, String noOrgao, String nomeResponsavel, - String cargoResponsavel, String emailDestinoOrgao, String telefoneResponsavel, String dataRecebimentoEmail) { - - - AutorizacaoGeracaoHashDao autorizacaoGeracaoHashDao = new AutorizacaoGeracaoHashDao(); - String mensagemEnvio = ""; - int idAutorizacaoGeracaoHash = -1; - - idAutorizacaoGeracaoHash = autorizacaoGeracaoHashDao.verificarAutorizacaoGeracaoHash(path, autorizacao); - if (idAutorizacaoGeracaoHash > -1) { - String[] codigo = emailDestinoOrgao.split("@"); - String codigoHash = ""; - - codigoHash = codigo[0] - + DateUtil.dataHoraAtual().toString().replace("/", "").replace(" ", "") - .replace(":", ""); - - - Questionario questionario = new Questionario(); - // BufferedReader reader = new BufferedReader(new InputStreamReader(file.getFile())); - - ManagerProperties managerProperties = new ManagerProperties(); - - String dtInicioQuestionario = ""; - String dtFimQuestionario = ""; - String hashAutenticacao = null; - Properties prop = null; - - try { - prop = - managerProperties.getProp(this.application.getRealPath("") - + "/WEB-INF/respostaFormulario.properties"); - - dtInicioQuestionario = prop.getProperty("dataInicio"); - dtFimQuestionario = prop.getProperty("dataFim"); - hashAutenticacao = GeradorCodigoHash.gerarHash(codigoHash); - - } catch (IOException e) { - e.printStackTrace(); - } catch (NoSuchAlgorithmException e) { - - e.printStackTrace(); - } - - questionario.setDtInicioQuestionario(dtInicioQuestionario); - questionario.setDtFimQuestionario(dtFimQuestionario); - questionario.setEmailDestinoOrgao(emailDestinoOrgao); - questionario.setHashAutenticacao(hashAutenticacao); - questionario.setResponsavel(nomeResponsavel); - questionario.setCargoResponsavel(cargoResponsavel); - questionario.setTelefone(telefoneResponsavel); - questionario.setNoOrgao(noOrgao); - - Validacao validate = new Validacao(); - - questionario.setDtRecebimentoEmail(dataRecebimentoEmail); - questionario.setIdAutorizacaoGeracaoHash(idAutorizacaoGeracaoHash); - - QuestionarioDao questionarioDao = new QuestionarioDao(); - // List corpoEmail = new ArrayList(); - - int idQuestionario = questionarioDao.salvarQuestionario(path, questionario); - - if (idQuestionario > -1) { - - StringBuffer mensagem = new StringBuffer(); - - mensagem.append("Prezado(a),
"); - mensagem.append("

Senhor(a) " + nomeResponsavel + ", " + cargoResponsavel + ", do(a) " - + noOrgao + ", conforme solicitado, o acesso "); - mensagem.append("ao FAD para o preenchimento de informações sobre a atual situação da "); - mensagem - .append("acessibilidade dos ambientes digitais do seu órgão ou entidade deverá ser "); - mensagem.append("realizado pelo endereço " + "" + prop.getProperty("enderecoFad") + "" - + " utilizando o código de "); - mensagem.append("acesso: " + hashAutenticacao + " .

"); - - mensagem - .append("

A guarda do código de acesso, bem como as informações prestadas são de sua "); - mensagem.append("inteira responsabilidade.

"); - - mensagem.append("

O FAD poderá ser preenchido no período " - + DateUtil.dataHoraFormatadaDiaMesAno(prop.getProperty("dataInicio")) + " a 02/01/2017, data limite "); - mensagem - .append("para o envio do relatório circunstanciado (formulário de acessibilidade digital e plano de "); - mensagem - .append("trabalho) à Procuradoria Federal dos Direitos do Cidadão do Ministério Público Federal e "); - mensagem.append("publicado no sítio ou portal eletrônico do órgão ou entidade.​

"); - - mensagem - .append("

Maiores informações, dúvidas e sugestões devem ser encaminhadas pelo canal "); - mensagem.append("" + prop.getProperty("enderecoContato") + ".

"); - - mensagem.append("

Respeitosamente,

"); - - mensagem.append("

Ministério do Planejamento, Desenvolvimento e Gestão "); - mensagem.append("Secretaria de Tecnologia da Informação "); - mensagem.append("Departamento de Governo Digital "); - mensagem.append("Coordenação-Geral de Padrões de Governo Digital "); - mensagem.append(prop.getProperty("emailContato") + "
"); - - String[] telefoneContato = prop.getProperty("telefoneContato").split(","); - - for (String numeroTelefone : telefoneContato) { - mensagem.append(numeroTelefone + "
"); - } - mensagem.append("

"); - - Contato contato = new Contato(); - contato.setEmail(emailDestinoOrgao); - contato - .setAssunto("Formulário Eletrônico de Acessibilidade Digital (FAD) – Concessão de Acesso"); - contato.setMensagem(mensagem.toString()); - contato.setNome(nomeResponsavel); - - if (enviarHashPorEmail(contato)) { - if(questionarioDao.atualizarDataRespostaQuestionario(path, idQuestionario)) - { - mensagemEnvio = "Questionário salvo e enviado por email com suceso!"; - } - else - { - mensagemEnvio = "Questionário salvo e enviado por email, mas, não foi possível atualizar a data de resposta!"; - } - - } else { - mensagemEnvio = "Questionário salvo, mas não foi possível enviar email!"; - } - result.include("mensagemEnvio", mensagemEnvio); - this.validator.add(new ValidationMessage("", "")); - this.validator.onErrorUsePageOf(QuestionarioController.class).confirmacaoHash(); - } else { - mensagemEnvio = "Não foi possível salvar o questionário!"; - result.include("mensagemEnvio", mensagemEnvio); - this.validator.add(new ValidationMessage("", "")); - this.validator.onErrorUsePageOf(QuestionarioController.class).confirmacaoHash(); - } - } else { - mensagemEnvio = "É preciso autorização para gerar código Hash!"; - result.include("mensagemEnvio", mensagemEnvio); - this.validator.add(new ValidationMessage("", "")); - this.validator.onErrorUsePageOf(QuestionarioController.class).confirmacaoHash(); - } - - - } - - private boolean enviarHashPorEmail(Contato contato) { - - boolean emailEnviado = false; - - - String respSendEmail; - - Email email = new Email(this.application.getRealPath("") + "/WEB-INF/mail.properties"); - - EnvioEmailSemAutenticacao envioEmailSemAutenticacao = - new EnvioEmailSemAutenticacao(email.getHost(), Integer.toString(email.getPort())); - - - respSendEmail = - envioEmailSemAutenticacao.sendMailComCopia(email.getFrom(), contato.getEmail(), - contato.getAssunto(), contato.getMensagem(), email.getAuth(), email.getAuthUser(), - email.getAuthPass(), email.getCopiaEmailTo()); - - - /* - * String respSendEmail = email.sendEmail("Contato","govbr@planejamento.gov.br", - * contato.getNome(),contato.getEmail(),StringHelper.convertFromUTF8(contato.getAssunto()), - * StringHelper.convertFromUTF8(contato.getMensagem()), true); - */ - - if (respSendEmail.equals("")) { - result.include("mensagem", "Mensagem enviada com Sucesso"); - result.include("status", "success"); - emailEnviado = true; - - } else { - result.include("mensagem", "Não foi possível enviar a mensagem! Ocorreu o problema: " - + respSendEmail); - result.include("status", "error"); - } - - return emailEnviado; - - - } - - + private Result result; + private Validator validator; + private ServletContext application; + private String path; + + public QuestionarioController(Result result, Validator validator, + ServletContext application) { + + this.result = result; + this.validator = validator; + this.application = application; + this.path = this.application.getRealPath("") + + "/WEB-INF/conexao.properties"; + } + + @Path("/questionario") + public void questionario() { + + QuestionarioDao questionarioDao = new QuestionarioDao(); + List lsquestionario = new ArrayList(); + lsquestionario = questionarioDao.retornarListaQuestionario(path); + + OrgaoDao orgaoDao = new OrgaoDao(); + Orgao orgao; + List lsOrgao = new ArrayList(); + ResultSet rset = null; + + rset = orgaoDao.retornarOrgaos(path); + + try { + while (rset.next()) { + orgao = new Orgao(); + + orgao.setIdOrgao(rset.getInt("id_orgao")); + orgao.setNomeOrgao(rset.getString("no_orgao")); + orgao.setIdQuestionario(rset.getInt("id_questionario")); + + lsOrgao.add(orgao); + } + } catch (SQLException e) { + e.printStackTrace(); + } + + int relatorioRespondido = 0; + int planoTrabalhoAnexado = 0; + int relatorioAnexado = 0; + int relatorioEnviado = 0; + + for (Questionario questionario : lsquestionario) { + + if (questionario.getDataRespostaQuestionario() != null) { + relatorioRespondido++; + } + if (questionario.isPlanoTrabalhoAnexado()) { + planoTrabalhoAnexado++; + } + if (questionario.isRelatorioAnexado()) { + relatorioAnexado++; + } + if (questionario.isFlagEnviado()) { + relatorioEnviado++; + } + + } + + result.include("lsOrgao", lsOrgao); + result.include("totalRelatorioRespondido", relatorioRespondido); + result.include("totalPlanoTrabalhoAnexado", planoTrabalhoAnexado); + result.include("totalRelatorioAnexado", relatorioAnexado); + result.include("totalRelatorioEnviado", relatorioEnviado); + result.include("lsquestionario", lsquestionario); + result.include("totalSolicitacoes", lsquestionario.size()); + } + + @Path("/confirmacaoHash") + public void confirmacaoHash() { + + } + + @Path("/lista-questionario") + public void listaQuestionario() { + listarQuestionarioComFiltro("todos", "todos", "todos", "todos", ""); + } + + @Path("/listar-questionario") + public void listarQuestionarioComFiltro(String statusRelatorio, + String statusPlanoTrabalho, String relatorioAnexado, + String relatorioEnviado, String nomeOrgao) { + + QuestionarioDao questionarioDao = new QuestionarioDao(); + List lsquestionario = new ArrayList(); + lsquestionario = questionarioDao.retornarListaQuestionarioComFiltro( + path, statusRelatorio, statusPlanoTrabalho, relatorioAnexado, + relatorioEnviado, nomeOrgao); + result.include("lsquestionario", lsquestionario); + result.include("totalSolicitacoes", lsquestionario.size()); + result.include("statusRel", + statusRelatorio.equalsIgnoreCase("todos") ? "" + : statusRelatorio); + result.include("relatorioAnex", relatorioAnexado + .equalsIgnoreCase("todos") ? "" : relatorioAnexado); + result.include("statusPlanoTrab", statusPlanoTrabalho + .equalsIgnoreCase("todos") ? "" : statusPlanoTrabalho); + result.include("relatorioEnv", relatorioEnviado + .equalsIgnoreCase("todos") ? "" : relatorioEnviado); + result.include("nomeOrgao", nomeOrgao != null ? nomeOrgao : ""); + + this.validator.add(new ValidationMessage("", "")); + this.validator.onErrorUsePageOf(QuestionarioController.class) + .listaQuestionario(); + + } + + @Path("/salvar-questionario") + public void questionarioSalvar(String autorizacao, String idOrgao, + String nomeResponsavel, String cargoResponsavel, + String emailDestinoOrgao, String telefoneResponsavel, + String dataRecebimentoEmail) { + + AutorizacaoGeracaoHashDao autorizacaoGeracaoHashDao = new AutorizacaoGeracaoHashDao(); + String mensagemEnvio = ""; + int idAutorizacaoGeracaoHash = -1; + + idAutorizacaoGeracaoHash = autorizacaoGeracaoHashDao + .verificarAutorizacaoGeracaoHash(path, autorizacao); + if (idAutorizacaoGeracaoHash > -1) { + String[] codigo = emailDestinoOrgao.split("@"); + String codigoHash = ""; + + codigoHash = codigo[0] + + DateUtil.dataHoraAtual().toString().replace("/", "") + .replace(" ", "").replace(":", ""); + + Questionario questionario = new Questionario(); + // BufferedReader reader = new BufferedReader(new + // InputStreamReader(file.getFile())); + + ManagerProperties managerProperties = new ManagerProperties(); + + String dtInicioQuestionario = ""; + String dtFimQuestionario = ""; + String hashAutenticacao = null; + Properties prop = null; + + try { + prop = managerProperties.getProp(this.application + .getRealPath("") + + "/WEB-INF/respostaFormulario.properties"); + + dtInicioQuestionario = prop.getProperty("dataInicio"); + dtFimQuestionario = prop.getProperty("dataFim"); + hashAutenticacao = GeradorCodigoHash.gerarHash(codigoHash); + + } catch (IOException e) { + e.printStackTrace(); + } catch (NoSuchAlgorithmException e) { + + e.printStackTrace(); + } + + OrgaoDao orgaoDao = new OrgaoDao(); + Orgao orgao = new Orgao(); + + orgao = orgaoDao + .retornarOrgaoPorId(path, Integer.parseInt(idOrgao)); + + if (orgao != null) { + + questionario.setDtInicioQuestionario(dtInicioQuestionario); + questionario.setDtFimQuestionario(dtFimQuestionario); + questionario.setEmailDestinoOrgao(emailDestinoOrgao); + questionario.setHashAutenticacao(hashAutenticacao); + questionario.setResponsavel(nomeResponsavel); + questionario.setCargoResponsavel(cargoResponsavel); + questionario.setTelefone(telefoneResponsavel); + questionario.setNoOrgao(orgao.getNomeOrgao()); + + Validacao validate = new Validacao(); + + questionario.setDtRecebimentoEmail(dataRecebimentoEmail); + questionario + .setIdAutorizacaoGeracaoHash(idAutorizacaoGeracaoHash); + + QuestionarioDao questionarioDao = new QuestionarioDao(); + // List corpoEmail = new ArrayList(); + + int idQuestionario = questionarioDao.salvarQuestionario(path, + questionario); + + + if (idQuestionario > -1) { + orgao.setIdQuestionario(idQuestionario); + + if(orgaoDao.atualizarQuestionarioOrgao(path, orgao)) + { + + + + StringBuffer mensagem = new StringBuffer(); + + mensagem.append("Prezado(a),
"); + mensagem.append("

Senhor(a) " + nomeResponsavel + ", " + + cargoResponsavel + ", do(a) " + + orgao.getNomeOrgao() + + ", conforme solicitado, o acesso "); + mensagem.append("ao FAD para o preenchimento de informações sobre a atual situação da "); + mensagem.append("acessibilidade dos ambientes digitais do seu órgão ou entidade deverá ser "); + mensagem.append("realizado pelo endereço " + "" + + prop.getProperty("enderecoFad") + "" + + " utilizando o código de "); + mensagem.append("acesso: " + hashAutenticacao + " .

"); + + mensagem.append("

A guarda do código de acesso, bem como as informações prestadas são de sua "); + mensagem.append("inteira responsabilidade.

"); + + mensagem.append("

O FAD poderá ser preenchido no período " + + DateUtil.dataHoraFormatadaDiaMesAno(prop + .getProperty("dataInicio")) + + " a 02/01/2017, data limite "); + mensagem.append("para o envio do relatório circunstanciado (formulário de acessibilidade digital e plano de "); + mensagem.append("trabalho) à Procuradoria Federal dos Direitos do Cidadão do Ministério Público Federal e "); + mensagem.append("publicado no sítio ou portal eletrônico do órgão ou entidade.​

"); + + mensagem.append("

Maiores informações, dúvidas e sugestões devem ser encaminhadas pelo canal "); + mensagem.append("" + + prop.getProperty("enderecoContato") + ".

"); + + mensagem.append("

Respeitosamente,

"); + + mensagem.append("

Ministério do Planejamento, Desenvolvimento e Gestão "); + mensagem.append("Secretaria de Tecnologia da Informação "); + mensagem.append("Departamento de Governo Digital "); + mensagem.append("Coordenação-Geral de Padrões de Governo Digital "); + mensagem.append(prop.getProperty("emailContato") + "
"); + + String[] telefoneContato = prop.getProperty( + "telefoneContato").split(","); + + for (String numeroTelefone : telefoneContato) { + mensagem.append(numeroTelefone + "
"); + } + mensagem.append("

"); + + Contato contato = new Contato(); + contato.setEmail(emailDestinoOrgao); + contato.setAssunto("Formulário Eletrônico de Acessibilidade Digital (FAD) – Concessão de Acesso"); + contato.setMensagem(mensagem.toString()); + contato.setNome(nomeResponsavel); + + if (enviarHashPorEmail(contato)) { + if (questionarioDao.atualizarDataRespostaQuestionario( + path, idQuestionario)) { + mensagemEnvio = "Questionário salvo e enviado por email com suceso!"; + } else { + mensagemEnvio = "Questionário salvo e enviado por email, mas, não foi possível atualizar a data de resposta!"; + } + + } else { + mensagemEnvio = "Questionário salvo, mas não foi possível enviar email!"; + } + result.include("mensagemEnvio", mensagemEnvio); + this.validator.add(new ValidationMessage("", "")); + this.validator.onErrorUsePageOf( + QuestionarioController.class).confirmacaoHash(); + } else { + mensagemEnvio = "Não foi possível salvar o questionário!"; + result.include("mensagemEnvio", mensagemEnvio); + this.validator.add(new ValidationMessage("", "")); + this.validator.onErrorUsePageOf( + QuestionarioController.class).confirmacaoHash(); + } + } + else + { + mensagemEnvio = "Não foi possível atualizar o id do questionário na tabela dos órgãos!"; + result.include("mensagemEnvio", mensagemEnvio); + this.validator.add(new ValidationMessage("", "")); + this.validator.onErrorUsePageOf( + QuestionarioController.class).confirmacaoHash(); + } + } else { + mensagemEnvio = "É preciso autorização para gerar código Hash!"; + result.include("mensagemEnvio", mensagemEnvio); + this.validator.add(new ValidationMessage("", "")); + this.validator.onErrorUsePageOf(QuestionarioController.class) + .confirmacaoHash(); + } + } + else + { + mensagemEnvio = "Não foi possível identificar o Órgao!"; + result.include("mensagemEnvio", mensagemEnvio); + this.validator.add(new ValidationMessage("", "")); + this.validator.onErrorUsePageOf(QuestionarioController.class) + .confirmacaoHash(); + } + + } + + private boolean enviarHashPorEmail(Contato contato) { + + boolean emailEnviado = false; + + String respSendEmail; + + Email email = new Email(this.application.getRealPath("") + + "/WEB-INF/mail.properties"); + + EnvioEmailSemAutenticacao envioEmailSemAutenticacao = new EnvioEmailSemAutenticacao( + email.getHost(), Integer.toString(email.getPort())); + + respSendEmail = envioEmailSemAutenticacao.sendMailComCopia( + email.getFrom(), contato.getEmail(), contato.getAssunto(), + contato.getMensagem(), email.getAuth(), email.getAuthUser(), + email.getAuthPass(), email.getCopiaEmailTo()); + + /* + * String respSendEmail = + * email.sendEmail("Contato","govbr@planejamento.gov.br", + * contato.getNome + * (),contato.getEmail(),StringHelper.convertFromUTF8(contato + * .getAssunto()), StringHelper.convertFromUTF8(contato.getMensagem()), + * true); + */ + + if (respSendEmail.equals("")) { + result.include("mensagem", "Mensagem enviada com Sucesso"); + result.include("status", "success"); + emailEnviado = true; + + } else { + result.include("mensagem", + "Não foi possível enviar a mensagem! Ocorreu o problema: " + + respSendEmail); + result.include("status", "error"); + } + + return emailEnviado; + + } } diff --git a/src/br/com/dao/OrgaoDao.java b/src/br/com/dao/OrgaoDao.java new file mode 100644 index 0000000..d001090 --- /dev/null +++ b/src/br/com/dao/OrgaoDao.java @@ -0,0 +1,122 @@ +package br.com.dao; + +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Statement; + +import br.com.model.entity.Orgao; + +public class OrgaoDao { + + public ResultSet retornarOrgaos(String path) { + + StringBuffer sql = new StringBuffer(); + Connection con = Conexao.conecta(path); + Statement estado; + ResultSet rset = null; + + try { + estado = con.createStatement(); + + estado.execute(sql.toString()); + sql.append(" SELECT id_orgao, no_orgao, id_questionario FROM public.orgao order by no_orgao; "); + + rset = estado.executeQuery(sql.toString()); + + return rset; + } catch (SQLException e) { + e.printStackTrace(); + return null; + + }finally { + if (con != null) { + try { + con.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + } + } + + } + + public Orgao retornarOrgaoPorId(String path, int idOrgao) { + + StringBuffer sql = new StringBuffer(); + Connection con = Conexao.conecta(path); + Statement estado; + ResultSet rset = null; + Orgao orgao = new Orgao(); + + try { + estado = con.createStatement(); + + estado.execute(sql.toString()); + sql.append(" SELECT * FROM public.orgao where id_orgao = "+ idOrgao +" order by no_orgao; "); + + rset = estado.executeQuery(sql.toString()); + + while (rset.next()) { + orgao.setIdOrgao(idOrgao); + orgao.setNomeOrgao(rset.getString("no_orgao")); + orgao.setIdQuestionario(rset.getInt("id_questionario")); + + } + + return orgao; + } catch (SQLException e) { + e.printStackTrace(); + return null; + + }finally { + if (con != null) { + try { + con.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + } + } + + } + + public boolean atualizarQuestionarioOrgao(String path, Orgao orgao) + { + + StringBuffer sql = new StringBuffer(); + Connection con = Conexao.conecta(path); + PreparedStatement estado; + int resultado = 0; + boolean salvoComSucesso = false; + + + + try { + + sql = new StringBuffer(); + sql.append(" UPDATE public.orgao SET id_questionario = ? WHERE id_orgao = ?; "); + + estado = con.prepareStatement(sql.toString()); + + estado.setInt(1, orgao.getIdQuestionario()); + estado.setInt(2, orgao.getIdOrgao()); + + resultado = estado.executeUpdate(); + + if (resultado == 0) { + salvoComSucesso = false; + } else { + + salvoComSucesso = true; + } + + } catch (SQLException e) { + + e.printStackTrace(); + } + + return salvoComSucesso; + } +} diff --git a/src/br/com/dao/PainelDao.java b/src/br/com/dao/PainelDao.java index 0c9e7c1..635ca6d 100644 --- a/src/br/com/dao/PainelDao.java +++ b/src/br/com/dao/PainelDao.java @@ -7,6 +7,37 @@ import java.sql.Statement; public class PainelDao { + + public Integer retornarTotalQuestionarioRespondido(String path) { + + StringBuffer sql = new StringBuffer(); + Connection con = Conexao.conecta(path); + Statement estado; + ResultSet rset = null; + Integer total = 0; + + try { + + estado = con.createStatement(); + + estado.execute(sql.toString()); + + sql.append(" select count(id_questionario) AS total from questionario where id_questionario IN (select distinct(id_questionario) as totalRespondido from resposta_questionario) "); + + rset = estado.executeQuery(sql.toString()); + + while (rset.next()) { + total = rset.getInt("total"); + } + + } catch (SQLException e) { + + e.printStackTrace(); + } + + return total; + } + public Integer retornarTotalResposta(String path, Integer idPergunta, Integer idOpcaoResposta) { StringBuffer sql = new StringBuffer(); @@ -38,7 +69,7 @@ public class PainelDao { return total; } - public ResultSet retornarTotalNotas(String path, Integer idOpcaoResposta) { + public ResultSet retornarTotalNotas(String path, Integer idOpcaoResposta, Integer idRespostaQuestionario) { StringBuffer sql = new StringBuffer(); Connection con = Conexao.conecta(path); @@ -51,7 +82,7 @@ public class PainelDao { estado.execute(sql.toString()); - sql.append(" select texto_resposta from resposta_questionario where id_opcao_resposta = "+ idOpcaoResposta +"; "); + sql.append(" select texto_resposta from resposta_questionario where id_opcao_resposta = "+ idOpcaoResposta +" and id_resposta_questionario = " + idRespostaQuestionario + "; "); rset = estado.executeQuery(sql.toString()); diff --git a/src/br/com/dao/QuestionarioDao.java b/src/br/com/dao/QuestionarioDao.java index 255558f..f4b5baf 100644 --- a/src/br/com/dao/QuestionarioDao.java +++ b/src/br/com/dao/QuestionarioDao.java @@ -105,7 +105,7 @@ public class QuestionarioDao { return listaQuestionario; } - public List retornarListaQuestionarioComFiltro(String path, String statusRelatorio, String statusPlanoTrabalho, String relatorioAnexado, String nomeOrgao) { + public List retornarListaQuestionarioComFiltro(String path, String statusRelatorio, String statusPlanoTrabalho, String relatorioAnexado, String relatorioEnviado, String nomeOrgao) { List listaQuestionario = new ArrayList(); @@ -114,7 +114,7 @@ public class QuestionarioDao { RespostaQuestionarioDao respostaQuestionarioDao; PlanoTrabalhoDao planoTrabalhoDao; - rset = retornarQuestionarioComFiltro(path, statusRelatorio, statusPlanoTrabalho, nomeOrgao); + rset = retornarQuestionarioComFiltro(path, statusRelatorio, statusPlanoTrabalho, relatorioEnviado, nomeOrgao); String dataRespostaQuestionario = ""; try { while (rset.next()) { @@ -149,6 +149,7 @@ public class QuestionarioDao { questionario.setDtRespostaEmail(dataRespostaQuestionario); } + questionario.setDataRespostaQuestionario(respostaQuestionarioDao.verificaRespostaQuestionario(path, rset.getInt("id_questionario"))); @@ -265,7 +266,39 @@ public class QuestionarioDao { } - public ResultSet retornarQuestionarioComFiltro(String path, String statusRelatorio, String statusPlanoTrabalho, String nomeOrgao) { + public ResultSet retornarQuestionarioEnviados(String path) { + + StringBuffer sql = new StringBuffer(); + Connection con = Conexao.conecta(path); + Statement estado; + ResultSet rset = null; + + try { + estado = con.createStatement(); + + estado.execute(sql.toString()); + sql.append(" select id_questionario from questionario where flag_enviado = true order by id_questionario; "); + + rset = estado.executeQuery(sql.toString()); + + return rset; + } catch (SQLException e) { + e.printStackTrace(); + return null; + + } finally { + if (con != null) { + try { + con.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + } + } + + } + + public ResultSet retornarQuestionarioComFiltro(String path, String statusRelatorio, String statusPlanoTrabalho, String relatorioEnviado, String nomeOrgao) { StringBuffer sql = new StringBuffer(); Connection con = Conexao.conecta(path); @@ -293,7 +326,15 @@ public class QuestionarioDao { { sql.append(" and questionario_respondido = false " ); } + + if(relatorioEnviado.equalsIgnoreCase("sim")) + { + sql.append(" and flag_enviado = true "); + }else if(relatorioEnviado.equalsIgnoreCase("nao")) + { + sql.append(" and flag_enviado = false " ); + } sql.append(" order by no_orgao;"); diff --git a/src/br/com/model/entity/Orgao.java b/src/br/com/model/entity/Orgao.java new file mode 100644 index 0000000..df03f95 --- /dev/null +++ b/src/br/com/model/entity/Orgao.java @@ -0,0 +1,30 @@ +package br.com.model.entity; + +public class Orgao { + + + private Integer idOrgao; + private String nomeOrgao; + private Integer idQuestionario; + + public Integer getIdOrgao() { + return idOrgao; + } + public void setIdOrgao(Integer idOrgao) { + this.idOrgao = idOrgao; + } + public String getNomeOrgao() { + return nomeOrgao; + } + public void setNomeOrgao(String nomeOrgao) { + this.nomeOrgao = nomeOrgao; + } + public Integer getIdQuestionario() { + return idQuestionario; + } + public void setIdQuestionario(Integer idQuestionario) { + this.idQuestionario = idQuestionario; + } + + +} -- libgit2 0.21.2