diff --git a/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/dao/ErrosMaisComunsDAO.java b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/dao/ErrosMaisComunsDAO.java new file mode 100644 index 0000000..5d16efe --- /dev/null +++ b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/dao/ErrosMaisComunsDAO.java @@ -0,0 +1,108 @@ +package br.com.eselo.dao; + +import java.util.ArrayList; +import java.util.List; + +import org.hibernate.SQLQuery; +import org.hibernate.Session; + +import br.com.caelum.vraptor.ioc.Component; +import br.com.eselo.model.ErrosMaisComuns; + +@Component +public class ErrosMaisComunsDAO extends GenericDAO{ + + public ErrosMaisComunsDAO(Session _session) { + super(_session); + } + + public List errosMaisComuns() { + List lsErrosMaisComuns = new ArrayList(); + StringBuffer query = new StringBuffer(); + + + query.append(" select sum(qtd_erros) qtd_erros, 0 criterio, 0 peso, 'Total' descricao from "); + query.append(" (select sum(a.nu_erros) qtd_erros, a.id_criterio criterio, b.vl_peso peso, b.ds_descricao descricao "); + query.append(" from sel_resultado_criterio a, sel_criterio b, sel_resultado_recomendacao c, sel_avaliacao d "); + query.append(" where a.id_criterio = b.id_criterio "); + query.append(" and d.id_avaliacao = c.id_avaliacao "); + query.append(" and c.id_resultado_recomendacao = a.id_resultado_rescomendacao "); + query.append(" and b.lo_erro = true "); + query.append(" and b.lo_verificacao_automatica = true "); + query.append(" and d.id_avaliacao in ( select aval1.id_avaliacao from sel_avaliacao aval1 "); + query.append(" where aval1.id_avaliacao = (select max(aval2.id_avaliacao) from sel_avaliacao aval2 where aval2.id_url = aval1.id_url)) "); + query.append(" group by a.id_criterio, b.vl_peso, b.ds_descricao "); + query.append(" having sum(a.nu_erros) > 0 "); + query.append(" order by sum(a.nu_erros) desc, b.vl_peso desc) k "); + query.append(" union all "); + query.append(" select sum(a.nu_erros) qtd_erros, a.id_criterio criterio, b.vl_peso peso, b.ds_descricao descricao "); + query.append(" from sel_resultado_criterio a, sel_criterio b, sel_resultado_recomendacao c, sel_avaliacao d "); + query.append(" where a.id_criterio = b.id_criterio "); + query.append(" and d.id_avaliacao = c.id_avaliacao "); + query.append(" and c.id_resultado_recomendacao = a.id_resultado_rescomendacao "); + query.append(" and b.lo_erro = true "); + query.append(" and b.lo_verificacao_automatica = true "); + query.append(" and d.id_avaliacao in ( select aval1.id_avaliacao from sel_avaliacao aval1 "); + query.append(" where aval1.id_avaliacao = (select max(aval2.id_avaliacao) from sel_avaliacao aval2 where aval2.id_url = aval1.id_url)) "); + query.append(" group by a.id_criterio, b.vl_peso, b.ds_descricao "); + query.append(" having sum(a.nu_erros) > 0 "); + query.append(" order by qtd_erros desc, peso desc "); + query.append(" limit 11"); + + + SQLQuery sqlQuery = session.createSQLQuery(query.toString()); + sqlQuery.addEntity(ErrosMaisComuns.class); + List list = sqlQuery.list(); + + for (Object object : list) { + lsErrosMaisComuns.add((ErrosMaisComuns)object); + } + + return lsErrosMaisComuns; + } + + public List OutrosErrosMaisComuns() { + List lsErrosMaisComuns = new ArrayList(); + StringBuffer query = new StringBuffer(); + + + query.append(" select sum(qtd_erros) qtd_erros, 0 criterio, 0 peso, 'Total' descricao from "); + query.append(" (select sum(a.nu_erros) qtd_erros, a.id_criterio criterio, b.vl_peso peso, b.ds_descricao descricao "); + query.append(" from sel_resultado_criterio a, sel_criterio b, sel_resultado_recomendacao c, sel_avaliacao d "); + query.append(" where a.id_criterio = b.id_criterio "); + query.append(" and d.id_avaliacao = c.id_avaliacao "); + query.append(" and c.id_resultado_recomendacao = a.id_resultado_rescomendacao "); + query.append(" and b.lo_erro = true "); + query.append(" and b.lo_verificacao_automatica = true "); + query.append(" and d.id_avaliacao in ( select aval1.id_avaliacao from sel_avaliacao aval1 "); + query.append(" where aval1.id_avaliacao = (select max(aval2.id_avaliacao) from sel_avaliacao aval2 where aval2.id_url = aval1.id_url)) "); + query.append(" group by a.id_criterio, b.vl_peso, b.ds_descricao "); + query.append(" having sum(a.nu_erros) > 0 "); + query.append(" order by sum(a.nu_erros) desc, b.vl_peso desc) k "); + query.append(" union all "); + query.append(" select sum(a.nu_erros) qtd_erros, a.id_criterio criterio, b.vl_peso peso, b.ds_descricao descricao "); + query.append(" from sel_resultado_criterio a, sel_criterio b, sel_resultado_recomendacao c, sel_avaliacao d "); + query.append(" where a.id_criterio = b.id_criterio "); + query.append(" and d.id_avaliacao = c.id_avaliacao "); + query.append(" and c.id_resultado_recomendacao = a.id_resultado_rescomendacao "); + query.append(" and b.lo_erro = true "); + query.append(" and b.lo_verificacao_automatica = true "); + query.append(" and d.id_avaliacao in ( select aval1.id_avaliacao from sel_avaliacao aval1 "); + query.append(" where aval1.id_avaliacao = (select max(aval2.id_avaliacao) from sel_avaliacao aval2 where aval2.id_url = aval1.id_url)) "); + query.append(" group by a.id_criterio, b.vl_peso, b.ds_descricao "); + query.append(" having sum(a.nu_erros) > 0 "); + query.append(" order by qtd_erros desc, peso desc "); + + + SQLQuery sqlQuery = session.createSQLQuery(query.toString()); + sqlQuery.addEntity(ErrosMaisComuns.class); + List list = sqlQuery.list(); + + for (Object object : list) { + lsErrosMaisComuns.add((ErrosMaisComuns)object); + } + + return lsErrosMaisComuns; + + } +} diff --git a/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/dao/GenericDAO.java b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/dao/GenericDAO.java index c82a6e7..086b4e9 100644 --- a/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/dao/GenericDAO.java +++ b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/dao/GenericDAO.java @@ -72,10 +72,11 @@ public abstract class GenericDAO { public void save(T entity) throws HibernateException { try { + System.out.println("iniciar salvar"); this.session.save(entity); this.session.flush(); - } catch (HibernateException e) { + System.out.println("erro salvar"); logger.debug(e.getMessage()); System.out.println(e.getMessage()); throw e; @@ -87,7 +88,7 @@ public abstract class GenericDAO { this.session.update(entity); this.session.flush(); } catch (HibernateException e) { - System.out.println("erro ao atualizar"); + System.out.println(e.getMessage()); logger.debug(e.getMessage()); throw e; diff --git a/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/dao/MediaAvaliacaoDAO.java b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/dao/MediaAvaliacaoDAO.java new file mode 100644 index 0000000..27524dd --- /dev/null +++ b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/dao/MediaAvaliacaoDAO.java @@ -0,0 +1,62 @@ +package br.com.eselo.dao; + +import java.util.ArrayList; +import java.util.List; + +import org.hibernate.SQLQuery; +import org.hibernate.Session; + +import br.com.caelum.vraptor.ioc.Component; +import br.com.eselo.model.ErrosMaisComuns; +import br.com.eselo.model.MediaAvaliacao; +import br.com.eselo.model.UltimaAvaliacao; + +@Component +public class MediaAvaliacaoDAO extends GenericDAO{ + + public MediaAvaliacaoDAO(Session _session) { + super(_session); + } + + + public List mediaAvaliacao(String tipo, String id) { + List lsMediaAvaliacao = new ArrayList(); + StringBuffer query = new StringBuffer(); + + + query.append(" SELECT * FROM RetornaMediaGrupoElmAcessibilidade('"+ tipo +"', "+ id +") AS (id bigint, nome varchar, total bigint, media numeric); "); + + + SQLQuery sqlQuery = session.createSQLQuery(query.toString()); + sqlQuery.addEntity(MediaAvaliacao.class); + List list = sqlQuery.list(); + + + for (Object object : list) { + lsMediaAvaliacao.add((MediaAvaliacao)object); + } + + return lsMediaAvaliacao; + + } + + + public UltimaAvaliacao ultimaAvaliacao() { + UltimaAvaliacao ultimaAvaliacao = new UltimaAvaliacao(); + StringBuffer query = new StringBuffer(); + + + //query.append(" SELECT to_char(max(data_media), 'DD/MM/YYYY') AS data_ultima_avaliacao FROM sel_media_avaliacao_sitio; "); + query.append(" SELECT max(data_media) AS data_ultima_avaliacao FROM sel_media_avaliacao_sitio; "); + + SQLQuery sqlQuery = session.createSQLQuery(query.toString()); + sqlQuery.addEntity(UltimaAvaliacao.class); + ultimaAvaliacao = (UltimaAvaliacao) sqlQuery.uniqueResult(); + + + + return ultimaAvaliacao; + + } + +} -- libgit2 0.21.2