From dfd0ecd55c948152275c50d61a6e83aa42bcc302 Mon Sep 17 00:00:00 2001 From: 96409975520 <96409975520@MPBSA171301.mp.intra> Date: Fri, 18 Aug 2017 10:03:07 -0300 Subject: [PATCH] Criação do painel de acessibilidade. --- Desenvolvimento/Codificacao/e-Selo/WebContent/WEB-INF/jsp/gerarPainelErrosMaisComuns/index.jsp | 12 ++++++++++++ Desenvolvimento/Codificacao/e-Selo/WebContent/WEB-INF/jsp/painelAcessibilidade/mediaAvaliacao.jsp | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Desenvolvimento/Codificacao/e-Selo/WebContent/WEB-INF/jsp/painelAcessibilidade/outrosErrosMaisComuns.jsp | 1 + Desenvolvimento/Codificacao/e-Selo/WebContent/WEB-INF/tags/baseLayout.tag | 95 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Desenvolvimento/Codificacao/e-Selo/WebContent/static/css/painelAcessibilidade.css | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++++++--- Desenvolvimento/Codificacao/e-Selo/WebContent/static/js/chartPainelAgregado.js | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/component/Util.java | 7 +++++++ Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/AvaliacaoController.java | 188 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------------------------------------------------------------------------- Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/ErrosMaisComunsController.java | 579 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/PainelAcessibilidadeController.java | 309 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------- Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/conversor/ESeloDateConverter.java | 6 ++++++ Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/ErrosMaisComuns.java | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/MediaAvaliacao.java | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/UltimaAvaliacao.java | 33 +++++++++++++++++++++++++++++++++ Desenvolvimento/Codificacao/e-Selo/src/main/resources/config.properties | 10 ++++++---- 15 files changed, 1399 insertions(+), 126 deletions(-) create mode 100644 Desenvolvimento/Codificacao/e-Selo/WebContent/WEB-INF/jsp/gerarPainelErrosMaisComuns/index.jsp create mode 100644 Desenvolvimento/Codificacao/e-Selo/WebContent/WEB-INF/jsp/painelAcessibilidade/mediaAvaliacao.jsp create mode 100644 Desenvolvimento/Codificacao/e-Selo/WebContent/WEB-INF/jsp/painelAcessibilidade/outrosErrosMaisComuns.jsp create mode 100644 Desenvolvimento/Codificacao/e-Selo/WebContent/WEB-INF/tags/baseLayout.tag create mode 100644 Desenvolvimento/Codificacao/e-Selo/WebContent/static/js/chartPainelAgregado.js create mode 100644 Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/ErrosMaisComunsController.java create mode 100644 Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/ErrosMaisComuns.java create mode 100644 Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/MediaAvaliacao.java create mode 100644 Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/UltimaAvaliacao.java diff --git a/Desenvolvimento/Codificacao/e-Selo/WebContent/WEB-INF/jsp/gerarPainelErrosMaisComuns/index.jsp b/Desenvolvimento/Codificacao/e-Selo/WebContent/WEB-INF/jsp/gerarPainelErrosMaisComuns/index.jsp new file mode 100644 index 0000000..4956d7e --- /dev/null +++ b/Desenvolvimento/Codificacao/e-Selo/WebContent/WEB-INF/jsp/gerarPainelErrosMaisComuns/index.jsp @@ -0,0 +1,12 @@ +<%@ page language="java" contentType="text/html; charset=ISO-8859-1" + pageEncoding="ISO-8859-1"%> + + + + +Insert title here + + + + + \ No newline at end of file diff --git a/Desenvolvimento/Codificacao/e-Selo/WebContent/WEB-INF/jsp/painelAcessibilidade/mediaAvaliacao.jsp b/Desenvolvimento/Codificacao/e-Selo/WebContent/WEB-INF/jsp/painelAcessibilidade/mediaAvaliacao.jsp new file mode 100644 index 0000000..8936f4c --- /dev/null +++ b/Desenvolvimento/Codificacao/e-Selo/WebContent/WEB-INF/jsp/painelAcessibilidade/mediaAvaliacao.jsp @@ -0,0 +1,57 @@ +<%@taglib prefix="t" tagdir="/WEB-INF/tags"%> +<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> +<%@taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> +<%@page contentType="text/html" pageEncoding="UTF-8"%> + + +
+ + ${caminhoAvaliacao.nome }
+
+
+ + + + + + + + + + + + + + + + + + + + + + + +
${tipo}Total de ${nomeTotal}Média
+ + + + + + + + ${mediaAvaliacao.nome } + + + + ${mediaAvaliacao.nome } + + + ${mediaAvaliacao.total } + + ${mediaAvaliacao.media } +
+
+
+
+
\ No newline at end of file diff --git a/Desenvolvimento/Codificacao/e-Selo/WebContent/WEB-INF/jsp/painelAcessibilidade/outrosErrosMaisComuns.jsp b/Desenvolvimento/Codificacao/e-Selo/WebContent/WEB-INF/jsp/painelAcessibilidade/outrosErrosMaisComuns.jsp new file mode 100644 index 0000000..2ce993f --- /dev/null +++ b/Desenvolvimento/Codificacao/e-Selo/WebContent/WEB-INF/jsp/painelAcessibilidade/outrosErrosMaisComuns.jsp @@ -0,0 +1 @@ +${html} \ No newline at end of file diff --git a/Desenvolvimento/Codificacao/e-Selo/WebContent/WEB-INF/tags/baseLayout.tag b/Desenvolvimento/Codificacao/e-Selo/WebContent/WEB-INF/tags/baseLayout.tag new file mode 100644 index 0000000..25169ed --- /dev/null +++ b/Desenvolvimento/Codificacao/e-Selo/WebContent/WEB-INF/tags/baseLayout.tag @@ -0,0 +1,95 @@ +<%@ tag language="java" pageEncoding="UTF-8"%> +<%@attribute name="body" fragment="true"%> + + + + + + + + + + + + +Painel de Acessibilidade Digital do Governo + + + +
+ +
+ +

+ + +
+
+
+
+
+ +
+
+

Gráfico com as notas das últimas + avaliações ordenada da mais antiga para a mais atual, limitado até + quatro avaliações.

+
    +
  • Nota 1: 100.0Data da avaliação:2017-08-10 12:42:22.0
  • +
  • Nota 2: 100.0Data da avaliação:2017-08-10 13:57:09.0
  • +
  • Nota 3: 100.0Data da avaliação:2017-08-11 16:49:07.0
  • +
  • Nota 4: 100.0Data da avaliação:Tue Aug 15 12:49:25 GMT 2017
  • +
+ +
+ + +
+
+
+ Início do Conteúdo +
+ + + + + +
+ Fim do Conteúdo +
+ Voltar para o topo +
+
+ + + + + + + + diff --git a/Desenvolvimento/Codificacao/e-Selo/WebContent/static/css/painelAcessibilidade.css b/Desenvolvimento/Codificacao/e-Selo/WebContent/static/css/painelAcessibilidade.css index e336532..589882e 100644 --- a/Desenvolvimento/Codificacao/e-Selo/WebContent/static/css/painelAcessibilidade.css +++ b/Desenvolvimento/Codificacao/e-Selo/WebContent/static/css/painelAcessibilidade.css @@ -122,7 +122,7 @@ Table { } #emag { - width: 200px; + width: 180px; height: 280px; background: #92d68f; text-align: center; @@ -130,7 +130,7 @@ Table { } #testesAutomaticos { - width: 200px; + width: 220px; height: 280px; border-left: 1px solid #000000; border-right: 1px solid #000000; @@ -144,6 +144,14 @@ Table { height: 200px; text-align: center; float: left; + margin-left: 150px; +} + +#grafico2 { + width: 532px; + height: 200px; + text-align: center; + float: left; } .myChart { @@ -192,6 +200,7 @@ table { table th { background: #585450; color: #ffffff; + text-align: left !important; } .avaliacao label { @@ -317,6 +326,36 @@ a.oculto { list-style: none; margin-top: 2px; } + + #tituloTabela + { + margin-left: 10px !important; + } + + .mBrasil{ + margin-left: 20px; + } + .orgao{ + margin-left: 40px; + } + .dominio{ + margin-left: 60px; + } + .sitio{ + margin-left: 80px; + } + #ultimaAvaliacao{ + font-size:12px; + float: right; + margin-right: 20px; + } + .centralizado{ + text-align: center; + width: 15%; + } + + + } /*-----Fim max-width: 1024px */ /*------Inicio max-width: 768px----*/ @@ -461,7 +500,14 @@ h1 { width: 35em; height: 20em; text-align: center; - + float: left; + margin-left: 150px; +} +#grafico2 { + width: 532px; + height: 200px; + text-align: center; + float: left; } .myChart { @@ -507,11 +553,13 @@ table { .table, th, td { border: 2px solid #000000; + } table th { background: #585450; color: #ffffff; + text-align: left !important; } .avaliacao label { @@ -636,4 +684,8 @@ a.oculto { list-style: none; margin-top: 2px; } + #tituloTabela + { + margin-left: 10px !important; + } } \ No newline at end of file diff --git a/Desenvolvimento/Codificacao/e-Selo/WebContent/static/js/chartPainelAgregado.js b/Desenvolvimento/Codificacao/e-Selo/WebContent/static/js/chartPainelAgregado.js new file mode 100644 index 0000000..25107d8 --- /dev/null +++ b/Desenvolvimento/Codificacao/e-Selo/WebContent/static/js/chartPainelAgregado.js @@ -0,0 +1,49 @@ +$(document).ready(function() { + var qntAvaliacoes = $("#qntAvaliacoes").text(); + + var canvas = document.getElementById('myChart'); + + + var data = { + + labels: ["0",$("#erro1").text(), $("#erro2").text(), $("#erro3").text(), $("#erro4").text() ,$("#erro5").text(), + $("#erro6").text(), $("#erro7").text(),$("#erro8").text(),$("#erro9").text(),$("#erro10").text()], + datasets: [ + { + label: "Avaliações", + fill: false, + lineTension: 0.1, + backgroundColor: "rgba(75,192,192,0.4)", + borderColor: "rgba(75,192,192,1)", + borderCapStyle: 'butt', + borderDash: [], + borderDashOffset: 0.0, + borderJoinStyle: 'miter', + pointBorderColor: "rgba(75,192,192,1)", + pointBackgroundColor: "#fff", + pointBorderWidth: 1, + pointHoverRadius: 5, + pointHoverBackgroundColor: "rgba(75,192,192,1)", + pointHoverBorderColor: "rgba(220,220,220,1)", + pointHoverBorderWidth: 2, + pointRadius: 5, + pointHitRadius: 10, + data: [0,$("#p_erro1").text(), $("#p_erro2").text(),$("#p_erro3").text(),$("#p_erro4").text(), + $("#p_erro5").text(), $("#p_erro6").text(),$("#p_erro7").text(),$("#p_erro8").text(), $("#p_erro9").text(),$("#p_erro10").text()], + + } + ] + }; + + var option = { + showLines: true + }; + var myLineChart = Chart.Line(canvas,{ + data:data, + options:option + }); + + + + //fim 1 avaliações +}); \ No newline at end of file diff --git a/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/component/Util.java b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/component/Util.java index ebbca00..adcf1f2 100644 --- a/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/component/Util.java +++ b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/component/Util.java @@ -15,6 +15,7 @@ import java.util.Date; import java.util.Locale; import java.util.regex.Pattern; +import javax.persistence.Temporal; import javax.swing.text.MaskFormatter; public class Util { @@ -49,4 +50,10 @@ public class Util { .format( DateTimeFormatter.ISO_DATE_TIME ); } + + public static String convertDataBrasil(java.sql.Timestamp data) { + SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); + return sdf.format(data); + + } } diff --git a/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/AvaliacaoController.java b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/AvaliacaoController.java index 3977270..fc1a492 100644 --- a/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/AvaliacaoController.java +++ b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/AvaliacaoController.java @@ -61,6 +61,7 @@ import br.com.eselo.component.Util; import br.com.eselo.component.WebChecker; import br.com.eselo.dao.AvaliacaoDAO; import br.com.eselo.dao.CriterioDAO; +import br.com.eselo.dao.ErrosMaisComunsDAO; import br.com.eselo.dao.ParametroCalculoDAO; import br.com.eselo.dao.RecomendacaoDAO; import br.com.eselo.dao.ResultadoCriterioDao; @@ -73,6 +74,7 @@ import br.com.eselo.integracao.RelatorioAvaliacao; import br.com.eselo.integracao.ResultadoAvaliacao; import br.com.eselo.model.Avaliacao; import br.com.eselo.model.Criterio; +import br.com.eselo.model.ErrosMaisComuns; import br.com.eselo.model.ParametroCalculo; import br.com.eselo.model.Recomendacao; import br.com.eselo.model.ResultadoCriterio; @@ -125,7 +127,7 @@ public class AvaliacaoController { daoUrl = _daoUrl; dao = _dao; daoSitio = _daoSitio; - daoResultadoRecomendacao = _daoResultadoRecomendacao; + daoResultadoRecomendacao = _daoResultadoRecomendacao; result = _result; paramDao = _paramDao; request = _request; @@ -217,7 +219,6 @@ public class AvaliacaoController { ParametroCalculo parametroCalculo = paramDao .getLastParametrosCalculoAtivo(); - if (parametroCalculo != null) { // foi colocada abaixo (Gibran) @@ -291,6 +292,7 @@ public class AvaliacaoController { } + criterioAvaliado.setNu_nota(notaCriterio); criterioAvaliado.setIdCriterio(criterioSalvar .getId()); @@ -354,19 +356,16 @@ public class AvaliacaoController { */ - conformidadeAcessibilidade = 100 * (somatorioNotaRecomendacoes / somaPesosRecomendacoes); conformidadeAcessibilidade = (double) new Double( conformidadeAcessibilidade * 100).intValue() / 100; - System.out.println("erro_01"); // System.out.println("conformidadeAcessibilidade = " + // conformidadeAcessibilidade); recomendacoesCriteriosParaImprimir .add("conformidadeAcessibilidade = " + conformidadeAcessibilidade); - System.out.println("erro_02"); //for (String string : recomendacoesCriteriosParaImprimir) { // System.out.println(string); //} @@ -408,7 +407,7 @@ public class AvaliacaoController { */ @Post("/calcular-nota") public void calcularNota(RelatorioAvaliacao relatorioAvaliacao, boolean salvarAvaliacao) { - System.out.println(relatorioAvaliacao); + // System.out.println(relatorioAvaliacao); ResultadoAvaliacao resultadoAvaliacao = new ResultadoAvaliacao(); String observacao = "Foi impossivel realizar a avaliação."; String urlComProtocolo = relatorioAvaliacao.getUrl(); @@ -423,7 +422,7 @@ public class AvaliacaoController { // + request.getContextPath(); String fullContextPath = "/"; - + if (relatorioAvaliacao.getRecomendacoes() != null && relatorioAvaliacao.getRecomendacoes().size() > 0 && relatorioAvaliacao.getDate() != null @@ -434,7 +433,6 @@ public class AvaliacaoController { } catch (MalformedURLException e) { e.printStackTrace(); } - Url url = daoUrl.getStringUrl(relatorioAvaliacao.getUrl()); if (url == null) { @@ -503,6 +501,7 @@ public class AvaliacaoController { avaliacao.setQtdeLinhas(relatorioAvaliacao.getQtdeLinhas()); avaliacao.setNota(nota); + Url url = daoUrl.getStringUrl(relatorioAvaliacao.getUrl()); if (url == null) { @@ -511,12 +510,14 @@ public class AvaliacaoController { daoUrl.save(url); } url.setUrl(relatorioAvaliacao.getUrl()); - + + avaliacao.setUrl(url); + avaliacao = new LeitorXML().lerResultadosXML(relatorioAvaliacao, avaliacao); + dao.save(avaliacao); - return avaliacao; } @@ -573,9 +574,10 @@ public class AvaliacaoController { @Post("/avaliar-url") public void avaliarUrl(@QueryParam("url") String url) { - //boolean paginaAvaliada = false; + + boolean paginaAvaliada = false; boolean urlAvaliada = false; - //String paginaAlterada = ""; + String paginaAlterada = ""; String urlServico = properties.getProperty(URL_SERVICO); @@ -589,14 +591,13 @@ public class AvaliacaoController { result.use(Results.xml()).from(urlAvaliada).recursive().serialize(); - /* + - int codResponse = 0; + /*int codResponse = 0; HttpMethod metodoRequisicaoGET = null; HttpClient clienteHTTPJakartaCommons; url = url.replace("https", "http"); - - System.out.println("iniciou a verificarConexao"); + codResponse = verificarConexao(url, "http.agent", "Jakarta Commons-HttpClient/3.1"); if (codResponse != 200) { codResponse = verificarConexao(url, "user-agent", "NewUseAgent/1.0"); @@ -606,22 +607,23 @@ public class AvaliacaoController { if(codResponse == 200) { - System.out.println("iniciou a verificarAlteracaoPagina"); + if(verificarAlteracaoPagina(url)) { String urlServico = properties.getProperty(URL_SERVICO); - - WebChecker.PostParams postParams = WebChecker.from(urlServico) + + WebChecker.PostParams postParams = null; + + postParams = WebChecker.from(urlServico) .withPostRequest(); postParams.addParam("url", url); Gson g = new GsonBuilder().create(); - System.out.println("chamou servico ases"); urlAvaliada = g.fromJson(postParams.execute().getContent(), Boolean.class); + //result.use(Results.xml()).from(urlAvaliada).recursive().serialize(); paginaAvaliada = true; - System.out.println("retornou servico ases"); } else { @@ -685,11 +687,11 @@ public class AvaliacaoController { public void salvarAvaliacao(ResumoAvaliacao resumoAvaliacao) { - //File diretorioJson = new File(this.application.getRealPath("") - // + "/WEB-INF/arquivosJson"); - //diretorioJson.mkdir(); - File diretorioJson = new File( properties.getProperty(SALVAR_ARQUIVOS_JSON)); + //para teste local + File diretorioJson = new File(this.application.getRealPath("") + "/WEB-INF/arquivosJson"); diretorioJson.mkdir(); + + //File diretorioJson = new File( properties.getProperty(SALVAR_ARQUIVOS_JSON)); @@ -707,7 +709,7 @@ public class AvaliacaoController { } resumoAvaliacao - .setUrlResultado(urlArquivosHtml + nomeArquivo + ".html"); + .setUrlResultado(urlArquivosHtml + "/" + nomeArquivo + ".html"); String json; Gson gson = new Gson(); @@ -737,11 +739,10 @@ public class AvaliacaoController { Criterio criterio; Recomendacao recomendacao; - //File diretorioHtml = new File(this.application.getRealPath("") - // + "/WEB-INF/arquivosHtml"); - //diretorioHtml.mkdir(); + //para teste local + File diretorioHtml = new File(this.application.getRealPath("") + "/WEB-INF/arquivosHtml"); diretorioHtml.mkdir(); - File diretorioHtml = new File(properties.getProperty(SALVAR_ARQUIVOS_HTML)); + //File diretorioHtml = new File(properties.getProperty(SALVAR_ARQUIVOS_HTML)); String nomeArquivo; StringBuffer html = new StringBuffer(); @@ -771,101 +772,101 @@ public class AvaliacaoController { - bufferOut.write(""); - bufferOut.write(""); - bufferOut.write(""); + bufferOut.write("\n"); + bufferOut.write("\n"); + bufferOut.write("\n"); bufferOut - .write(""); + .write("\n"); bufferOut - .write(""); + .write("\n"); bufferOut - .write(""); + .write("\n"); bufferOut - .write("Painel de Acessibilidade Digital do Governo"); - bufferOut.write(""); + .write("Painel de Acessibilidade Digital do Governo\n"); + bufferOut.write("\n"); //bufferOut.write(""); bufferOut - .write(""); - - bufferOut.write(""); - bufferOut.write(""); - bufferOut.write("
"); - bufferOut.write("
"); - bufferOut.write("
"); - bufferOut.write(" \n"); + bufferOut.write("
\n"); + bufferOut.write("
\n"); + bufferOut.write("
\n"); - bufferOut.write("
"); + bufferOut.write(""); + .write(" Ministério do Planejamento - http://www.planejamento.gov.br (link para um novo sítio)\n"); + bufferOut.write("
\n"); - bufferOut.write("
"); + bufferOut.write("
\n"); bufferOut - .write("Início do conteúdo"); + .write("Início do conteúdo\n"); - bufferOut.write("
"); + bufferOut.write("
\n"); bufferOut.write("
"); - bufferOut.write(" "); - bufferOut.write("
"); + bufferOut.write(" \n"); + bufferOut.write("
\n"); - bufferOut.write("
"); + bufferOut.write("
\n"); //bufferOut.write("
"); - bufferOut.write("
"); + bufferOut.write("
\n"); - bufferOut.write("
"); + bufferOut.write("
\n"); bufferOut.write("
Porcentagem"); bufferOut.write(" ASES"); - bufferOut.write(" " + notaAvaliacao +"%"); - bufferOut.write("
"); - bufferOut.write("
"); + bufferOut.write(" " + notaAvaliacao +"%\n"); + bufferOut.write("
\n"); + bufferOut.write("
\n"); //bufferOut.write("
"); - bufferOut.write("
"); + bufferOut.write("
\n"); bufferOut.write("
"); bufferOut.write("
    "); - bufferOut.write("
  • \"farol
  • "); - bufferOut.write("
  • \"farol
  • "); - bufferOut.write("
  • \"farol
  • "); - bufferOut.write("
  • \"farol
  • "); + bufferOut.write("
  • \"farol
  • "); + bufferOut.write("
  • \"farol
  • "); + bufferOut.write("
  • \"farol
  • "); + bufferOut.write("
  • \"farol
  • "); bufferOut.write("
"); bufferOut.write("
"); @@ -890,7 +891,7 @@ public class AvaliacaoController { bufferOut.write("
");*/ - bufferOut.write("
"); + bufferOut.write("
"); bufferOut .write("

Gráfico com as notas das últimas avaliações ordenada da mais antiga para a mais atual, limitado até quatro avaliações.

"); @@ -914,8 +915,7 @@ public class AvaliacaoController { i = 0; for (Avaliacao avaliacaoOrdenada : avaliacoesOrdenada) { i++; - bufferOut - .write("
  • Nota " + i + ": Nota " + i + ": " + avaliacaoOrdenada.getNota() + "Data da avaliação:" + avaliacaoOrdenada.getDataAvaliacao() @@ -1083,48 +1083,50 @@ public class AvaliacaoController { private boolean verificarAlteracaoPagina(String url) { boolean paginaAlterada = false; - System.out.println("iniciou a verificacao"); - //WebChecker pagina = WebChecker.from(url).withGetRequest().execute(); - String html = "1234";//pagina.getContent().toLowerCase(); + WebChecker pagina = WebChecker.from(url).withGetRequest().execute(); + String html = pagina.getContent().toString().toLowerCase().replace("\n", ""); + MessageDigest digest; byte[] secured = null; - System.out.println("iniciou a criacao hash"); + + try { - digest = MessageDigest.getInstance("MD5"); + digest = MessageDigest.getInstance("SHA-1"); digest.reset(); secured = digest.digest(html.getBytes()); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } - System.out.println("terminou criacao hash"); Url urlCompleta = null; try { - urlCompleta = daoUrl.getStringUrl(URLNormalizer.normalize(url)); - - System.out.println("buscou urlCompleta"); + urlCompleta = daoUrl.getStringUrl(URLNormalizer.normalize(url)); } catch (MalformedURLException e) { e.printStackTrace(); } + pagina = null; + html = null; + if(urlCompleta != null) { + if (urlCompleta.getCodHash() == null || !MessageDigest.isEqual(urlCompleta.getCodHash(), secured)) { + try { urlCompleta.setCodHash(secured); daoUrl.update(urlCompleta); paginaAlterada = true; + + } catch (Exception e) { e.getCause(); } - - - } } else diff --git a/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/ErrosMaisComunsController.java b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/ErrosMaisComunsController.java new file mode 100644 index 0000000..24cb606 --- /dev/null +++ b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/ErrosMaisComunsController.java @@ -0,0 +1,579 @@ +package br.com.eselo.controller; + +import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStreamWriter; +import java.io.UnsupportedEncodingException; +import java.text.DecimalFormat; +import java.util.List; +import java.util.Properties; + +import javax.servlet.ServletContext; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import br.com.caelum.vraptor.Get; +import br.com.caelum.vraptor.Resource; +import br.com.caelum.vraptor.Result; +import br.com.caelum.vraptor.view.Results; +import br.com.eselo.component.Mailer; +import br.com.eselo.dao.ErrosMaisComunsDAO; +import br.com.eselo.model.Avaliacao; +import br.com.eselo.model.ErrosMaisComuns; + +@Resource +public class ErrosMaisComunsController { + + private static final Logger LOGGER = LoggerFactory.getLogger(AvaliacaoController.class); + private final ErrosMaisComunsDAO errosMaisComunsDAO; + private ServletContext application; + private Result result; + private static final String PAINEL_AGREGADO = "eselo.config.avaliacao.painelAgregado"; + private final Properties properties = new Properties(); + + public ErrosMaisComunsController(ErrosMaisComunsDAO _errosMaisComunsDAO, ServletContext application, Result result) throws IOException { + super(); + errosMaisComunsDAO = _errosMaisComunsDAO; + this.application = application; + this.result = result; + String fileName = "config.properties"; + InputStream stream = Mailer.class.getResourceAsStream("/" + fileName); + Properties propertiesFile = new Properties(); + + if (stream != null) { + propertiesFile.load(stream); + this.properties.putAll(propertiesFile); + } else { + LOGGER.warn("Could not find the file '{}' to load.", fileName); + } + } + + + @Get("/gerar-painel-erros-mais-comuns") + public void gerarPainelErrosMaisComuns() { + + List lsErrosMaisComuns = errosMaisComunsDAO.errosMaisComuns(); + File painelAgregado = new File(properties.getProperty(PAINEL_AGREGADO)); + + boolean paginaGerada = false; + + try { + //List lsErrosMaisComuns = errosMaisComunsDAO.errosMaisComuns(); + + OutputStreamWriter bufferOut = new OutputStreamWriter(new FileOutputStream(painelAgregado + "/painelAgregado.txt"),"UTF-8"); + + System.out.println(painelAgregado); + //Inicia criação da página + + + //bufferOut.write(" <%@ page language=\"java\" contentType=\"text/html; charset=UTF-8\" pageEncoding=\"UTF-8\"%> "); + //bufferOut.write(" <%@ taglib prefix=\"c\" uri=\"http://java.sun.com/jsp/jstl/core\"%> "); + //bufferOut.write(" <%@ taglib prefix=\"tiles\" uri=\"http://tiles.apache.org/tags-tiles\"%> "); + + bufferOut.write("\n"); + bufferOut.write("\n"); + bufferOut.write("\n"); + bufferOut + .write("\n"); + bufferOut + .write("\n"); + + bufferOut + .write("\n"); + + bufferOut + .write("Painel de Acessibilidade Digital do Governo\n"); + bufferOut.write("\n"); + //bufferOut.write(""); + + bufferOut + .write("\n"); + + bufferOut.write("\n"); + bufferOut.write("\n"); + bufferOut.write("
    \n"); + bufferOut.write("
    \n"); + bufferOut.write("
    \n"); + bufferOut.write("

    "); + + bufferOut.write("
    \n"); + bufferOut.write("

    "); + bufferOut.write(" Painel de Acessibilidade Digital do Governo "); + bufferOut.write("

    \n"); + bufferOut.write("
    \n"); + + bufferOut.write("
    \n"); + + bufferOut.write("\n"); + bufferOut.write("
    \n"); + bufferOut.write("
    \n"); + bufferOut.write("
    \n"); + + //bufferOut.write("
    \n"); + //bufferOut + // .write(" Ministério do Planejamento - http://www.planejamento.gov.br (link para um novo sítio)\n"); + //bufferOut.write("
    \n"); + + bufferOut.write("
    "); + + + bufferOut.write("
    "); + bufferOut.write("
    "); + bufferOut.write(" "); + bufferOut.write("
    "); + + + //bufferOut.write("
    "); + //bufferOut.write("
    "); + + //início Gráfico + bufferOut.write("
    "); + + + bufferOut + .write("

    Gráfico com os 10 erros mais comuns.

    "); + + bufferOut.write("
      "); + + long total = 0; + double percentual = 0; + long totalDezErrosMaisComuns = 0; + double qntErro; + + int i = 0; + for (ErrosMaisComuns errosMaisComuns : lsErrosMaisComuns) { + + if(errosMaisComuns.getDescricao().equalsIgnoreCase("Total")) + { + total = errosMaisComuns.getQtd_erros(); + } + else + { + qntErro = errosMaisComuns.getQtd_erros() * 100; + percentual = qntErro/total; + totalDezErrosMaisComuns = totalDezErrosMaisComuns + errosMaisComuns.getQtd_erros(); + + DecimalFormat df = new DecimalFormat("0.##"); + + i++; + bufferOut.write("
    • erro: " + "Erro: " + i + "" + errosMaisComuns.getDescricao() + " " + df.format(percentual) + "
    • "); + } + } + + qntErro = (total - totalDezErrosMaisComuns) * 100; + percentual = qntErro/total; + + DecimalFormat df = new DecimalFormat("0.##"); + + i++; + bufferOut.write("
    • erro: " + "Erro: " + i + "Outros " + df.format(percentual) + "
    • "); + + bufferOut.write("
    "); + bufferOut.write(""); + bufferOut.write("
    "); + bufferOut.write(" "); + bufferOut.write("
    "); + bufferOut.write("
    "); + bufferOut.write("
    "); + bufferOut.write("
    "); + + //inicio Avaliação + bufferOut.write("
    "); + + + bufferOut.write("

    Os 10 erros mais comuns

    "); + //inicio tabela + bufferOut.write(" "); + bufferOut.write(" "); + bufferOut.write(" "); + bufferOut.write(" "); + bufferOut.write(" "); + bufferOut.write(" "); + bufferOut.write(" "); + + + + + + total = 0; + percentual = 0; + totalDezErrosMaisComuns = 0; + qntErro = 0; + Integer erro_numero = 0; + + for (ErrosMaisComuns errosMaisComuns : lsErrosMaisComuns) { + + if(errosMaisComuns.getDescricao().equalsIgnoreCase("Total")) + { + total = errosMaisComuns.getQtd_erros(); + } + else + { + qntErro = errosMaisComuns.getQtd_erros() * 100.00; + percentual = qntErro/total; + totalDezErrosMaisComuns = totalDezErrosMaisComuns + errosMaisComuns.getQtd_erros(); + + erro_numero++; + + DecimalFormat df2 = new DecimalFormat("0.##"); + bufferOut.write(" "); + bufferOut.write(" "); + bufferOut.write(" "); + bufferOut.write(" "); + bufferOut.write(" "); + System.out.println(df2.format(percentual)); + } + } + + qntErro = (total - totalDezErrosMaisComuns) * 100.00; + percentual = qntErro/total; + + DecimalFormat df2 = new DecimalFormat("0.##"); + + erro_numero++; + + bufferOut.write(" "); + bufferOut.write(" "); + bufferOut.write(" "); + bufferOut.write(" "); + bufferOut.write(" "); + + bufferOut.write(" "); + bufferOut.write("
    Testes Automáticos
    Erro n°ErroIncidência
    " + erro_numero + " " + errosMaisComuns.getDescricao() + " " + df2.format(percentual) + "%
    " + erro_numero + " Outros " + df2.format(percentual) + "%

    "); + + + //fim Avaliação + bufferOut.write("
    "); + //bufferOut.write("
    "); + + bufferOut.write("
    "); + bufferOut.write("Voltar para o topo"); + bufferOut.write("
    "); + + //fim contanner + bufferOut.write("
  • "); + bufferOut.write("
    "); + bufferOut.write("
    "); + bufferOut + .write(""); + + bufferOut.write(""); + //bufferOut.write(""); + + bufferOut + .write(""); + + + bufferOut.write(""); + //bufferOut.write(""); + + + bufferOut.write(""); + bufferOut.write(""); + bufferOut.write(" "); + + + bufferOut.close(); + paginaGerada = true; + //Termina criação da página + if(paginaGerada) + { + paginaGerada = gerarPainelOutrosErrosMaisComuns(); + } + + + } catch (UnsupportedEncodingException e) { + paginaGerada = false; + e.printStackTrace(); + } catch (FileNotFoundException e) { + paginaGerada = false; + e.printStackTrace(); + } catch (IOException e) { + paginaGerada = false; + e.printStackTrace(); + }finally + { + result.use(Results.xml()).from(paginaGerada).recursive().serialize(); + } + + + } + + @SuppressWarnings("finally") + private boolean gerarPainelOutrosErrosMaisComuns() + { + boolean paginaGerada = false; + + File painelAgregado = new File(properties.getProperty(PAINEL_AGREGADO)); + + try { + List lsOutrosErrosMaisComuns = errosMaisComunsDAO.OutrosErrosMaisComuns(); + + OutputStreamWriter bufferOut = new OutputStreamWriter(new FileOutputStream(painelAgregado + "/painelOutrosErrosMaisComuns.txt"),"UTF-8"); + + System.out.println(painelAgregado); + //Inicia criação da página + + + //bufferOut.write(" <%@ page language=\"java\" contentType=\"text/html; charset=UTF-8\" pageEncoding=\"UTF-8\"%> "); + //bufferOut.write(" <%@ taglib prefix=\"c\" uri=\"http://java.sun.com/jsp/jstl/core\"%> "); + //bufferOut.write(" <%@ taglib prefix=\"tiles\" uri=\"http://tiles.apache.org/tags-tiles\"%> "); + + bufferOut.write("\n"); + bufferOut.write("\n"); + bufferOut.write("\n"); + bufferOut + .write("\n"); + bufferOut + .write("\n"); + + bufferOut + .write("\n"); + + bufferOut + .write("Painel de Acessibilidade Digital do Governo\n"); + bufferOut.write("\n"); + //bufferOut.write(""); + + bufferOut + .write("\n"); + + bufferOut.write("\n"); + bufferOut.write("\n"); + bufferOut.write("
    \n"); + bufferOut.write("
    \n"); + bufferOut.write("
    \n"); + bufferOut.write("

    "); + + bufferOut.write("
    \n"); + bufferOut.write("

    "); + bufferOut.write(" Painel de Acessibilidade Digital do Governo "); + bufferOut.write("

    \n"); + bufferOut.write("
    \n"); + + bufferOut.write("
    \n"); + + bufferOut.write("\n"); + bufferOut.write("
    \n"); + bufferOut.write("
    \n"); + bufferOut.write("
    \n"); + + //bufferOut.write("\n"); + + bufferOut.write("
    "); + + + //bufferOut.write("
    "); + //bufferOut.write("
    "); + //bufferOut.write(" "); + //bufferOut.write("
    "); + + + //bufferOut.write("
    "); + //bufferOut.write("
    "); + + //início Gráfico + //bufferOut.write("
    "); + + + /*bufferOut + .write("

    Gráfico com os 10 erros mais comuns.

    "); + + bufferOut.write("
      "); + + long total = 0; + double percentual = 0; + long totalDezErrosMaisComuns = 0; + double qntErro; + + int i = 0; + for (ErrosMaisComuns errosMaisComuns : lsOutrosErrosMaisComuns) { + i++; + if(errosMaisComuns.getDsDescricao().equalsIgnoreCase("Total")) + { + total = errosMaisComuns.getQtdErros(); + } + else if( i > 10) + { + qntErro = errosMaisComuns.getQtdErros() * 100.00; + percentual = qntErro/total; + totalDezErrosMaisComuns = totalDezErrosMaisComuns + errosMaisComuns.getQtdErros(); + + DecimalFormat df = new DecimalFormat("0.##"); + + + bufferOut.write("
    • erro: " + "Erro: " + i + "" + errosMaisComuns.getDsDescricao() + " " + df.format(percentual) + "
    • "); + } + } + + qntErro = (total - totalDezErrosMaisComuns) * 100.00; + percentual = qntErro/total; + + DecimalFormat df = new DecimalFormat("0.##"); + + i++; + bufferOut.write("
    • erro: " + "Erro: " + i + "Outros " + df.format(percentual) + "
    • "); + + bufferOut.write("
    "); + bufferOut.write(""); + bufferOut.write("
    "); + bufferOut.write(" "); + bufferOut.write("
    "); + bufferOut.write("
    ");*/ + //bufferOut.write("
    "); + //bufferOut.write("
    "); + + //inicio Avaliação + + bufferOut + .write(" Voltar ao painel de acessibilidade\n"); + bufferOut.write("
    "); + + bufferOut.write("

    Outros erros mais comuns

    "); + //inicio tabela + bufferOut.write(" "); + bufferOut.write(" "); + bufferOut.write(" "); + bufferOut.write(" "); + bufferOut.write(" "); + bufferOut.write(" "); + bufferOut.write(" "); + + + + + + long total = 0; + double percentual = 0; + long totalDezErrosMaisComuns = 0; + double qntErro = 0; + int i = 0; + int erro_numero = 0; + + for (ErrosMaisComuns errosMaisComuns : lsOutrosErrosMaisComuns) { + i++; + if(errosMaisComuns.getDescricao().equalsIgnoreCase("Total")) + { + total = errosMaisComuns.getQtd_erros(); + } + else if(i > 10) + { + + qntErro = errosMaisComuns.getQtd_erros() * 100.00; + percentual = qntErro/total; + totalDezErrosMaisComuns = totalDezErrosMaisComuns + errosMaisComuns.getQtd_erros(); + + DecimalFormat df2 = new DecimalFormat("0.##"); + + erro_numero++; + + bufferOut.write(" "); + bufferOut.write(" "); + bufferOut.write(" "); + bufferOut.write(" "); + bufferOut.write(" "); + } + } + + + + bufferOut.write(" "); + bufferOut.write("
    Testes Automáticos
    Erro nºErroIncidência
    " + erro_numero + " " + errosMaisComuns.getDescricao() + " " + df2.format(percentual) + "%

    "); + + + //fim Avaliação + bufferOut.write("
    "); + //bufferOut.write("
    "); + + bufferOut.write("
    "); + bufferOut.write("Voltar para o topo"); + bufferOut.write("
    "); + + //fim contanner + bufferOut.write("
    "); + bufferOut.write("
    "); + bufferOut.write("
    "); + bufferOut + .write(""); + + bufferOut.write(""); + //bufferOut.write(""); + + bufferOut + .write(""); + + + bufferOut.write(""); + //bufferOut.write(""); + + + bufferOut.write(""); + bufferOut.write(""); + bufferOut.write(" "); + + + bufferOut.close(); + paginaGerada = true; + //Termina criação da página + + } catch (UnsupportedEncodingException e) { + paginaGerada = false; + e.printStackTrace(); + } catch (FileNotFoundException e) { + paginaGerada = false; + e.printStackTrace(); + } catch (IOException e) { + paginaGerada = false; + e.printStackTrace(); + }finally + { + return paginaGerada; + } + } + + +} diff --git a/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/PainelAcessibilidadeController.java b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/PainelAcessibilidadeController.java index 6b1d9b8..312b1d5 100644 --- a/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/PainelAcessibilidadeController.java +++ b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/PainelAcessibilidadeController.java @@ -1,71 +1,120 @@ package br.com.eselo.controller; +import java.io.BufferedReader; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; import java.net.MalformedURLException; +import java.sql.Date; import java.util.ArrayList; import java.util.List; +import java.util.Properties; import javax.ws.rs.QueryParam; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import br.com.caelum.vraptor.Get; +import br.com.caelum.vraptor.Path; import br.com.caelum.vraptor.Post; import br.com.caelum.vraptor.Resource; import br.com.caelum.vraptor.Result; import br.com.caelum.vraptor.Validator; +import br.com.caelum.vraptor.ioc.spring.VRaptorRequestHolder; +import br.com.eselo.component.Mailer; import br.com.eselo.component.URLNormalizer; +import br.com.eselo.component.Util; +import br.com.eselo.conversor.ESeloDateConverter; +import br.com.eselo.dao.ErrosMaisComunsDAO; +import br.com.eselo.dao.MediaAvaliacaoDAO; import br.com.eselo.dao.UrlDAO; +import br.com.eselo.model.MediaAvaliacao; +import br.com.eselo.model.UltimaAvaliacao; import br.com.eselo.model.Url; @Resource public class PainelAcessibilidadeController { + private static final Logger LOGGER = LoggerFactory + .getLogger(AvaliacaoController.class); private Result result; private Validator validator; private final UrlDAO daoUrl; + private final MediaAvaliacaoDAO mediaAvaliacaoDAO; + private static final String PAINEL_AGREGADO = "eselo.config.avaliacao.painelAgregado"; + private final Properties properties = new Properties(); - public PainelAcessibilidadeController(Result result, Validator validator, UrlDAO _dao){ + public PainelAcessibilidadeController(Result result, Validator validator, UrlDAO _dao, MediaAvaliacaoDAO _mediaAvaliacaoDAO) throws IOException{ this.result = result; this.validator = validator; this.daoUrl = _dao; + this.mediaAvaliacaoDAO = _mediaAvaliacaoDAO; + + String fileName = "config.properties"; + InputStream stream = Mailer.class.getResourceAsStream("/" + fileName); + Properties propertiesFile = new Properties(); + + if (stream != null) { + propertiesFile.load(stream); + this.properties.putAll(propertiesFile); + } else { + LOGGER.warn("Could not find the file '{}' to load.", fileName); + } } @Get("/painelAcessibilidade") - public void painelAcessibilidade(@QueryParam("url") String url,@QueryParam("sitio") String sitio,@QueryParam("id") String id) { - String teste = ""; - String te = "Objeto montado"; - Url url1 = new Url(); - Url url2 = null; - //try { - // url = new Url();//daoUrl. getStringUrl(URLNormalizer.normalize("http://asesweb.governoeletronico.gov.br/ases/")); - //} catch (MalformedURLException e) { - // TODO Auto-generated catch block - // e.printStackTrace(); - //} + public void painelAcessibilidade() { + File diretorioHtml = new File(properties.getProperty(PAINEL_AGREGADO) + "/painelAgregado.txt"); + + StringBuilder html = new StringBuilder(); try { + BufferedReader myBuffer = new BufferedReader(new InputStreamReader(new FileInputStream(diretorioHtml), "UTF-8")); + String linha; + + + while ( ( linha = myBuffer.readLine() ) != null) { + html.append(linha); + } + myBuffer.close(); - System.out.println("montagem do objeto"); - url1.setId(Long.parseLong(id)); - url1.setUrl(URLNormalizer.normalize(url)); - url1.setIdSitio(Long.parseLong(sitio)); - url1.setCodHash(te.getBytes()); - System.out.println("Objeto montado"); - System.out.println("Update do objeto"); - daoUrl.update(url1); - System.out.println("Objeto atualizado no banco"); - } catch (Exception e) { + result.include("html", html); + + } catch (FileNotFoundException e1) { + e1.printStackTrace(); + } catch (IOException e) { e.printStackTrace(); - e.getCause(); } + } + + @Get("/outros-erros-mais-comuns") + public void outrosErrosMaisComuns() { + File diretorioHtml = new File(properties.getProperty(PAINEL_AGREGADO) + "/painelOutrosErrosMaisComuns.txt"); + StringBuilder html = new StringBuilder(); try { - url2 = daoUrl. getStringUrl(URLNormalizer.normalize(url)); + BufferedReader myBuffer = new BufferedReader(new InputStreamReader(new FileInputStream(diretorioHtml), "UTF-8")); + String linha; + - result.include("url", url2); - } catch (MalformedURLException e) { + while ( ( linha = myBuffer.readLine() ) != null) { + html.append(linha); + } + myBuffer.close(); + + result.include("html", html); + + } catch (FileNotFoundException e1) { + e1.printStackTrace(); + } catch (IOException e) { e.printStackTrace(); } @@ -73,5 +122,213 @@ public class PainelAcessibilidadeController { } + @Get + @Path("/media-avaliacao/{tipo}/{id}/{nome}") + public void mediaAvaliacao(String tipo, String id,String nome) { + + String novoTipo = ""; + String nomeTotal = ""; + + List lsMediaAvaliacao = mediaAvaliacaoDAO.mediaAvaliacao(tipo, id); + + //List caminhoAvaliacao = new ArrayList(); + + List lsCaminhoAvaliacao = (List) VRaptorRequestHolder.currentRequest().getServletContext().getAttribute("lsCaminhoAvaliacao"); + CaminhoLink caminhoLink = new CaminhoLink(); + + if(lsCaminhoAvaliacao == null) + { + lsCaminhoAvaliacao = new ArrayList(); + //caminhoLink.setNome("Órgão: " + nome); + //caminhoLink.setLink("/eselo/orgao"); + //lsCaminhoAvaliacao.add(caminhoLink); + } + + boolean existe = false; + + switch (tipo) { + + case "orgao": novoTipo="dominio"; + tipo = "Órgãos"; + caminhoLink = new CaminhoLink(); + caminhoLink.setNome("Órgão: " + nome); + caminhoLink.setLink("/eselo/media-avaliacao/dominio/"+ id + "/" + nome); + + + + for (CaminhoLink i : lsCaminhoAvaliacao) { + if(i.getNome().equalsIgnoreCase(caminhoLink.getNome())) + { + existe = true; + } + } + + if(!existe) + { + lsCaminhoAvaliacao.add(caminhoLink); + } + + + + break; + + case "dominio": novoTipo="sitio"; + tipo = "Domínios"; + nomeTotal = "sítios"; + caminhoLink = new CaminhoLink(); + caminhoLink.setNome("Órgão: " + nome); + caminhoLink.setLink("/eselo/media-avaliacao/dominio/"+ id + "/" + nome); + caminhoLink.setClasse("orgao"); + + existe = false; + + for (CaminhoLink i : lsCaminhoAvaliacao) { + if(i.getNome().equalsIgnoreCase(caminhoLink.getNome())) + { + existe = true; + } + } + + if(!existe) + { + lsCaminhoAvaliacao.add(caminhoLink); + } + + for (int i = 0; i < lsCaminhoAvaliacao.size(); i++) { + + if (lsCaminhoAvaliacao.get(i).getClasse().equalsIgnoreCase("dominio") || lsCaminhoAvaliacao.get(i).getClasse().equalsIgnoreCase("sitio")) { + lsCaminhoAvaliacao.remove(i); + i--; + } + } + + break; + case "sitio": novoTipo="url"; + tipo = "Sítios"; + nomeTotal = "URLs"; + caminhoLink = new CaminhoLink(); + caminhoLink.setNome("Domínio: " + nome); + caminhoLink.setLink("/eselo/media-avaliacao/sitio/"+ id + "/" + nome); + caminhoLink.setClasse("dominio"); + + existe = false; + + for (CaminhoLink i : lsCaminhoAvaliacao) { + if(i.getNome().equalsIgnoreCase(caminhoLink.getNome())) + { + existe = true; + } + } + + if(!existe) + { + lsCaminhoAvaliacao.add(caminhoLink); + } + + + for (int i = 0; i < lsCaminhoAvaliacao.size(); i++) { + + if (lsCaminhoAvaliacao.get(i).getClasse().equalsIgnoreCase("sitio")) { + lsCaminhoAvaliacao.remove(i); + i--; + } + } + + break; + case "url": novoTipo="url"; + tipo = "URLs"; + nomeTotal = "URLs"; + caminhoLink = new CaminhoLink(); + caminhoLink.setNome("Sítio: " + nome); + caminhoLink.setLink("/eselo/media-avaliacao/url/"+ id + "/" + nome); + caminhoLink.setClasse("sitio"); + + existe = false; + + for (CaminhoLink i : lsCaminhoAvaliacao) { + if(i.getNome().equalsIgnoreCase(caminhoLink.getNome())) + { + existe = true; + } + } + + if(!existe) + { + lsCaminhoAvaliacao.add(caminhoLink); + } + + break; + + default: + break; + } + + + //tipo = tipo.substring(0,1).toUpperCase().concat(tipo.substring(1)); + result.include("lsMediaAvaliacao", lsMediaAvaliacao); + result.include("tipo", tipo); + result.include("novoTipo", novoTipo); + result.include("nomeTotal", nomeTotal); + + + VRaptorRequestHolder.currentRequest().getServletContext().setAttribute("lsCaminhoAvaliacao", lsCaminhoAvaliacao); + + } + + @Get + @Path("/media-avaliacao/{tipo}") + public void mediaAvaliacao(String tipo) { + + String novoTipo = ""; + + UltimaAvaliacao dataUltimaAvaliacao = mediaAvaliacaoDAO.ultimaAvaliacao(); + List lsMediaAvaliacao = mediaAvaliacaoDAO.mediaAvaliacao(tipo, null); + + + result.include("lsMediaAvaliacao", lsMediaAvaliacao); + result.include("tipo", "Órgãos"); + result.include("novoTipo", "dominio"); + result.include("nomeTotal", "domínios"); + + List lsCaminhoAvaliacao = new ArrayList(); + CaminhoLink caminhoLink = new CaminhoLink(); + + caminhoLink.setNome("Média Brasil"); + caminhoLink.setLink("/eselo/media-avaliacao/orgao"); + caminhoLink.setClasse("mBrasil"); + lsCaminhoAvaliacao.add(caminhoLink); + VRaptorRequestHolder.currentRequest().getServletContext().setAttribute("lsCaminhoAvaliacao", lsCaminhoAvaliacao); + VRaptorRequestHolder.currentRequest().getServletContext().setAttribute("ultimaAvaliacao", Util.convertDataBrasil(dataUltimaAvaliacao.getData_ultima_avaliacao())); + } + public class CaminhoLink + { + private String nome; + private String link; + private String classe; + + public String getNome() { + return nome; + } + public void setNome(String nome) { + this.nome = nome; + } + public String getLink() { + return link; + } + public void setLink(String link) { + this.link = link; + } + public String getClasse() { + return classe; + } + public void setClasse(String classe) { + this.classe = classe; + } + + + + } } + + diff --git a/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/conversor/ESeloDateConverter.java b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/conversor/ESeloDateConverter.java index e6e5c7d..af3e2ba 100644 --- a/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/conversor/ESeloDateConverter.java +++ b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/conversor/ESeloDateConverter.java @@ -2,12 +2,15 @@ package br.com.eselo.conversor; import static com.google.common.base.Strings.isNullOrEmpty; +import java.sql.Timestamp; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Locale; import java.util.ResourceBundle; +import javax.persistence.Temporal; + import br.com.caelum.iogi.exceptions.ConversionException; import br.com.caelum.vraptor.Convert; import br.com.caelum.vraptor.Converter; @@ -30,4 +33,7 @@ public class ESeloDateConverter implements Converter { } + + + } diff --git a/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/ErrosMaisComuns.java b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/ErrosMaisComuns.java new file mode 100644 index 0000000..535bdd7 --- /dev/null +++ b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/ErrosMaisComuns.java @@ -0,0 +1,61 @@ +package br.com.eselo.model; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.Table; + +@Entity +@Table(name = "erros_mais_comuns") +public class ErrosMaisComuns { + + + @Column(name = "qtd_erros", nullable = false) + private Long qtd_erros; + + @Id + @Column(name = "criterio", nullable = false) + private Long criterio; + + @Column(name = "peso", nullable = false) + private Long peso; + + @Column(name = "descricao", nullable = false) + private String descricao; + + public Long getQtd_erros() { + return qtd_erros; + } + + public void setQtd_erros(Long qtd_erros) { + this.qtd_erros = qtd_erros; + } + + public Long getCriterio() { + return criterio; + } + + public void setCriterio(Long criterio) { + this.criterio = criterio; + } + + public Long getPeso() { + return peso; + } + + public void setPeso(Long peso) { + this.peso = peso; + } + + public String getDescricao() { + return descricao; + } + + public void setDescricao(String descricao) { + this.descricao = descricao; + } + + + + +} diff --git a/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/MediaAvaliacao.java b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/MediaAvaliacao.java new file mode 100644 index 0000000..b7e58cb --- /dev/null +++ b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/MediaAvaliacao.java @@ -0,0 +1,60 @@ +package br.com.eselo.model; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.Table; + +@Entity +@Table(name = "sel_media_avaliacao_temp") +public class MediaAvaliacao { + + + @Id + @Column(name = "id", nullable = false) + private Long id; + + @Column(name = "nome", nullable = true) + private String nome; + + @Column(name = "total", nullable = true) + private Long total; + + @Column(name = "media", nullable = true) + private double media; + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getNome() { + return nome; + } + + public void setNome(String nome) { + this.nome = nome; + } + + public Long getTotal() { + return total; + } + + public void setTotal(Long total) { + this.total = total; + } + + public double getMedia() { + return media; + } + + public void setMedia(double media) { + this.media = media; + } + + + +} diff --git a/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/UltimaAvaliacao.java b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/UltimaAvaliacao.java new file mode 100644 index 0000000..9153647 --- /dev/null +++ b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/UltimaAvaliacao.java @@ -0,0 +1,33 @@ +package br.com.eselo.model; + +import java.sql.Date; +import java.sql.Timestamp; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.Table; +import javax.persistence.Temporal; +import javax.persistence.TemporalType; + +@Entity +@Table(name = "sel_ultima_avaliacao") +public class UltimaAvaliacao { + + + @Id + @Column(name = "data_ultima_avaliacao", nullable = false) + @Temporal(TemporalType.DATE) + private Timestamp data_ultima_avaliacao; + + public Timestamp getData_ultima_avaliacao() { + return data_ultima_avaliacao; + } + + public void setData_ultima_avaliacao(Timestamp data_ultima_avaliacao) { + this.data_ultima_avaliacao = data_ultima_avaliacao; + } + + + +} diff --git a/Desenvolvimento/Codificacao/e-Selo/src/main/resources/config.properties b/Desenvolvimento/Codificacao/e-Selo/src/main/resources/config.properties index 9b7678e..77f461a 100644 --- a/Desenvolvimento/Codificacao/e-Selo/src/main/resources/config.properties +++ b/Desenvolvimento/Codificacao/e-Selo/src/main/resources/config.properties @@ -1,13 +1,15 @@ eselo.config.avaliacao.caminhoSelos = imgSelo -eselo.config.avaliacao.urlServico =http://asesweb-prd.brazilsouth.cloudapp.azure.com/servico-avaliacao-acessibilidade-salvando +#eselo.config.avaliacao.urlServico =http://asesweb-prd.brazilsouth.cloudapp.azure.com/servico-avaliacao-acessibilidade-salvando #eselo.config.avaliacao.urlServico = http://189.9.137.162:8080/ases/servico-avaliacao-acessibilidade-salvando -#eselo.config.avaliacao.urlServico = http://localhost:18080/ases/servico-avaliacao-acessibilidade-salvando +eselo.config.avaliacao.urlServico = http://localhost:18080/ases/servico-avaliacao-acessibilidade-salvando + eselo.config.avaliacao.arquivosHtml=/var/www/arquivo/painel/html eselo.config.avaliacao.arquivosJson=/var/www/arquivo/painel/json +eselo.config.avaliacao.painelAgregado=/var/www/arquivo/painel/painelAgregado -#eselo.config.avaliacao.enderecoHtml=http://localhost:18080/eselo/arquivosHtml/ +eselo.config.avaliacao.enderecoHtml=http://localhost:18080/eselo/arquivosHtml/ #eselo.config.avaliacao.enderecoHtml=http://189.9.137.162:8080/eselo/arquivosHtml/ -eselo.config.avaliacao.enderecoHtml=http://eselo-prd.brazilsouth.cloudapp.azure.com/arquivosHtml \ No newline at end of file +#eselo.config.avaliacao.enderecoHtml=http://eselo-prd.brazilsouth.cloudapp.azure.com:8080/arquivosHtml \ No newline at end of file -- libgit2 0.21.2